欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(shí)戰(zhàn)洞察。

JavaCV+FFmpeg錄屏實(shí)戰(zhàn):原生庫(kù)加載與依賴(lài)沖突避坑指南

JavaCV+FFmpeg錄屏實(shí)戰(zhàn):原生庫(kù)加載與依賴(lài)沖突避坑指南 前陣子我做一個(gè)小工具需要在界面里加一塊屏幕錄制能力。技術(shù)選型時(shí)圖省事直接用JavaCV里的FFmpeg來(lái)做這類(lèi)庫(kù)發(fā)展了這么多年心想無(wú)非就是抓屏、編碼、輸出文件三步。結(jié)果代碼寫(xiě)完了Maven工程連運(yùn)行都沒(méi)跑起來(lái)直接卡死在啟動(dòng)階段。那幾天我先后見(jiàn)到至少五種不同的報(bào)錯(cuò)從類(lèi)找不到到原生庫(kù)加載失敗再到“偽成功”空文件最后一項(xiàng)一項(xiàng)排查下來(lái)才發(fā)現(xiàn)問(wèn)題幾乎都不在業(yè)務(wù)代碼上而是依賴(lài)體系和JavaCPP原生庫(kù)加載機(jī)制沒(méi)搞透。這篇就把這次的完整經(jīng)歷寫(xiě)下來(lái)什么現(xiàn)象、什么原因、怎么解決以及最終穩(wěn)定錄屏的一套方案給同樣打算用JavaCV做錄屏的朋友避避坑。1. 問(wèn)題現(xiàn)場(chǎng)連“運(yùn)行”都失敗的三種形態(tài)先說(shuō)結(jié)論JavaCV錄屏程序的“運(yùn)行失敗”和普通Java程序的報(bào)錯(cuò)路徑不太一樣。普通程序掛了多半是空指針、業(yè)務(wù)異常JavaCV這類(lèi)帶原生庫(kù)的庫(kù)掛了往往是類(lèi)路徑缺失、動(dòng)態(tài)庫(kù)加載失敗、編碼器初始化異常。下面是我這次以及身邊朋友高頻遇到的三類(lèi)現(xiàn)場(chǎng)。1.1 啟動(dòng)就報(bào)NoClassDefFoundError類(lèi)去哪了第一次報(bào)錯(cuò)出現(xiàn)在命令行啟動(dòng)階段。我把工程用Maven打成一個(gè)普通jar然后執(zhí)行java -jarJVM直接拋了這么一段Exception in thread main java.lang.NoClassDefFoundError: org/bytedeco/javacv/FFmpegFrameRecorder at com.example.screencap.ScreenCapMain.main(ScreenCapMain.java:12)當(dāng)時(shí)我第一反應(yīng)是依賴(lài)沒(méi)配全但打開(kāi)pom.xml明明寫(xiě)了javacv依賴(lài)IDE里import org.bytedeco.javacv.FFmpegFrameRecorder;也能正常編譯怎么運(yùn)行時(shí)就找不到類(lèi)后來(lái)才反應(yīng)過(guò)來(lái)Maven默認(rèn)打出來(lái)的jar是“瘦包”只包含自己的class文件根本不會(huì)把你引用的第三方依賴(lài)jar塞進(jìn)去。IDE里能跑是因?yàn)镮DE會(huì)自動(dòng)用Maven計(jì)算出來(lái)的完整classpath但用java -jar啟動(dòng)時(shí)如果沒(méi)把依賴(lài)一起放到classpath里JVM自然找不到FFmpegFrameRecorder這個(gè)類(lèi)。這個(gè)報(bào)錯(cuò)其實(shí)是“運(yùn)行時(shí)依賴(lài)缺失”問(wèn)題不是代碼問(wèn)題很多人會(huì)因此浪費(fèi)半天時(shí)間。1.2 UnsatisfiedLinkErrorJava類(lèi)在本地庫(kù)沒(méi)了類(lèi)路徑問(wèn)題解決之后我又遇到第二種報(bào)錯(cuò)。這次是在IDE里直接跑代碼能進(jìn)入main方法卻在創(chuàng)建FFmpegFrameRecorder實(shí)例或者調(diào)用start()時(shí)拋出了java.lang.UnsatisfiedLinkError: no ffmpeg-java in java.library.path或者類(lèi)似這樣Exception in thread main java.lang.UnsatisfiedLinkError: Cant load library: D:\path\to\ffmpeg.dll當(dāng)時(shí)我很困惑Java包都在為什么要去加載一個(gè)叫ffmpeg.dll的東西這就是JavaCV和普通Java庫(kù)最大的不同它只是“遙控器”真正干活的FFmpeg是C/C寫(xiě)的原生庫(kù)運(yùn)行時(shí)要加載對(duì)應(yīng)平臺(tái)Windows是dllLinux是somacOS是dylib的本地庫(kù)文件。如果這些本地庫(kù)沒(méi)有正確地被加載JVM就會(huì)報(bào)UnsatisfiedLinkError。1.3 更隱蔽的“偽成功”程序沒(méi)報(bào)錯(cuò)輸出文件卻是0字節(jié)第三種情況最氣人程序一路暢通控制臺(tái)沒(méi)有任何紅字但錄了十幾秒之后發(fā)現(xiàn)目錄里要么沒(méi)有輸出文件要么生成了一個(gè)0字節(jié)的mp4。這種“偽成功”比直接報(bào)錯(cuò)更難定位因?yàn)镴ava層面完全不知道發(fā)生了什么。我后來(lái)在系統(tǒng)里逐個(gè)排查才發(fā)現(xiàn)問(wèn)題可能出在幾個(gè)地方幀率參數(shù)與實(shí)際的抓幀速度不匹配導(dǎo)致錄制器遲遲等不到關(guān)鍵幀像素格式設(shè)置和編碼器不對(duì)付或者壓根忘了調(diào)用stop()和close()文件沒(méi)有收尾寫(xiě)入。FFmpeg的報(bào)錯(cuò)通常不會(huì)通過(guò)Java異常拋出來(lái)而是寫(xiě)到FFmpeg自己的日志流里控制臺(tái)里出現(xiàn)一堆[h264 0x...]開(kāi)頭的信息但你如果不認(rèn)識(shí)這些日志很容易忽略。2. 先搞懂JavaCV和FFmpeg的運(yùn)行機(jī)制再談改代碼一連串的失敗讓我意識(shí)到不能只在代碼層打轉(zhuǎn)轉(zhuǎn)得先把JavaCV這套體系怎么運(yùn)轉(zhuǎn)搞明白。搞懂機(jī)制之后很多報(bào)錯(cuò)其實(shí)是可以提前預(yù)判的。2.1 JavaCV不是FFmpeg本身它是中間的“膠水層”很多人會(huì)把JavaCV和FFmpeg混為一談其實(shí)它們是兩層?xùn)|西。FFmpeg是一套強(qiáng)大的多媒體處理庫(kù)負(fù)責(zé)解碼、編碼、封裝、推流JavaCV則是在Java層面對(duì)FFmpeg、OpenCV等原生庫(kù)做了封裝讓Java開(kāi)發(fā)者可以用對(duì)象和方法的方式來(lái)調(diào)用C庫(kù)的能力。JavaCV里和我們錄屏相關(guān)的核心類(lèi)有三個(gè)FFmpegFrameGrabber負(fù)責(zé)從視頻源抓取幀F(xiàn)FmpegFrameRecorder負(fù)責(zé)把幀編碼并寫(xiě)入文件或流Java2DFrameConverter負(fù)責(zé)把Java的BufferedImage轉(zhuǎn)成JavaCV通用幀對(duì)象Frame。整個(gè)流程就是抓屏得到圖片 - 轉(zhuǎn)成Frame - 交給FFmpegFrameRecorder編碼 - 輸出mp4。打個(gè)比方FFmpeg是一臺(tái)專(zhuān)業(yè)攝像機(jī)JavaCV是它的遙控器JavaCPP則是連接遙控器和攝像機(jī)的一根數(shù)據(jù)線(xiàn)。你寫(xiě)的是Java代碼但真正干活的是C語(yǔ)言寫(xiě)的攝像機(jī)本體。2.2 JavaCPP與預(yù)制原生庫(kù)為什么“沒(méi)庫(kù)”會(huì)報(bào)錯(cuò)JavaCV底層依賴(lài)JavaCPP技術(shù)。JavaCPP做的事情簡(jiǎn)單說(shuō)就是讓Java程序能直接加載并調(diào)用C/C原生庫(kù)。JavaCV在發(fā)布時(shí)會(huì)把FFmpeg等原生庫(kù)按平臺(tái)分別打包成預(yù)制庫(kù)文件放進(jìn)對(duì)應(yīng)的jar里。運(yùn)行時(shí)JavaCPP的Loader類(lèi)會(huì)根據(jù)當(dāng)前操作系統(tǒng)和CPU架構(gòu)從jar里解壓出對(duì)應(yīng)的dll/so/dylib放到臨時(shí)目錄然后執(zhí)行加載。這個(gè)過(guò)程看似自動(dòng)實(shí)際上對(duì)運(yùn)行環(huán)境非常敏感臨時(shí)目錄沒(méi)有寫(xiě)權(quán)限、殺毒軟件把解壓出來(lái)的dll隔離了、系統(tǒng)缺少C運(yùn)行庫(kù)、磁盤(pán)滿(mǎn)了一類(lèi)的環(huán)境問(wèn)題都會(huì)讓它在加載這一步失敗。而且失敗信息往往不直觀(guān)包裝成UnsatisfiedLinkError或者直接JVM退出很容易讓人誤判成代碼問(wèn)題。2.3 版本錯(cuò)位靜默翻車(chē)的第一大元兇除了加載機(jī)制版本問(wèn)題也是JavaCV運(yùn)行失敗的“重災(zāi)區(qū)”。JavaCV不是單一jar它分成了多個(gè)模塊比如javacv、ffmpeg-platform、opencv-platform等等。最關(guān)鍵的是javacv的版本號(hào)必須和ffmpeg-platform的版本號(hào)后半段保持一致。舉個(gè)例子如果你在pom.xml里引入dependency groupIdorg.bytedeco/groupId artifactIdjavacv/artifactId version1.5.9/version /dependency那么對(duì)應(yīng)的FFmpeg封裝包版本也應(yīng)該是6.1.1-1.5.9這種后半段相同的版本。如果誤把javacv 1.5.9和ffmpeg-platform 6.1.1-1.5.7混著用Java層和C層的方法簽名對(duì)不上運(yùn)行期就會(huì)冒出NoSuchMethodError而且這種錯(cuò)還不一定立刻出現(xiàn)在第一行調(diào)用上可能是在編碼器初始化時(shí)才爆出來(lái)排查成本很高。3. Maven依賴(lài)的正確打開(kāi)方式經(jīng)歷了前兩輪的“磨難”我決定徹底把依賴(lài)這塊收拾干凈。這里直接給出我認(rèn)為最穩(wěn)妥的配置方式以及排查依賴(lài)沖突的具體做法。3.1 推薦的最小依賴(lài)組合只做錄屏不需要OpenCV等附加能力的話(huà)最小依賴(lài)方案是兩個(gè)jarproperties javacv.version1.5.9/javacv.version ffmpeg.version6.1.1-1.5.9/ffmpeg.version /properties dependencies dependency groupIdorg.bytedeco/groupId artifactIdjavacv/artifactId version${javacv.version}/version /dependency dependency groupIdorg.bytedeco/groupId artifactIdffmpeg-platform/artifactId version${ffmpeg.version}/version /dependency /dependenciesffmpeg-platform這個(gè)包已經(jīng)包含了各平臺(tái)預(yù)編譯的FFmpeg原生庫(kù)JavaCV在運(yùn)行時(shí)會(huì)自動(dòng)選擇當(dāng)前平臺(tái)的那一份。如果你不放心可以再加一行顯式依賴(lài)javacpp但通常JavaCV會(huì)傳遞引入不用手動(dòng)寫(xiě)。注意版本號(hào)不要亂動(dòng)。JavaCV和ffmpeg-platform的版本對(duì)應(yīng)關(guān)系以你實(shí)際使用的版本為準(zhǔn)最穩(wěn)妥的辦法是去Maven中央倉(cāng)庫(kù)看同名版本是否真的存在。我用過(guò)1.5.8、1.5.9、1.5.10這幾個(gè)組合整體表現(xiàn)穩(wěn)定。3.2 聚合包與按需引入的取舍很多教程會(huì)直接推薦引入javacv-platform這是一個(gè)聚合包會(huì)把JavaCV相關(guān)的所有能封裝的庫(kù)全部帶進(jìn)來(lái)包括OpenCV、OpenBLAS、FFmpeg等。它的優(yōu)點(diǎn)是省心缺點(diǎn)也很明顯體積大打進(jìn)最終產(chǎn)物體積可能膨脹幾百M(fèi)B里頭的OpenCV等模塊如果版本和項(xiàng)目里其他依賴(lài)沖突也會(huì)引發(fā)更多問(wèn)題。我這次的小工具對(duì)體積有要求所以只用了javacv ffmpeg-platform的組合。兩者的權(quán)衡可以看下面這張表依賴(lài)方案優(yōu)點(diǎn)缺點(diǎn)適用場(chǎng)景javacv-platform配置簡(jiǎn)單全量能力體積巨大依賴(lài)復(fù)雜易沖突快速原型驗(yàn)證、不在乎包體積javacv ffmpeg-platform體積適中按需引入需要手動(dòng)維護(hù)版本對(duì)應(yīng)關(guān)系只用到FFmpeg能力、對(duì)包體有要求javacv 具體ffmpeg模塊更小的體積需要精確匹配各模塊版本非常容易錯(cuò)對(duì)體積極度敏感且有經(jīng)驗(yàn)的團(tuán)隊(duì)3.3 用dependency:tree一次性看清依賴(lài)沖突如果你啟動(dòng)時(shí)碰到NoSuchMethodError或者LinkageError多半是依賴(lài)樹(shù)里有多個(gè)版本的JavaCV相關(guān)jar在打架。排查方法很簡(jiǎn)單Maven項(xiàng)目跑mvn dependency:tree -Dincludesorg.bytedeco:* -Dverbose看輸出里有沒(méi)有同一個(gè)坐標(biāo)出現(xiàn)多個(gè)版本。比如我這次就在輸出里發(fā)現(xiàn)項(xiàng)目里某個(gè)模塊傳遞引用了舊版javacv 1.5.7而我自己又顯式引入了javacv 1.5.9兩個(gè)jar同時(shí)出現(xiàn)在classpath里編譯期不報(bào)錯(cuò)運(yùn)行期就會(huì)有一堆老方法簽名對(duì)不上。解決方法是在引入自身依賴(lài)時(shí)排除舊版本傳遞或者用dependencyManagement統(tǒng)一指定版本。排除寫(xiě)法參考dependency groupIdcom.somegroup/groupId artifactIdsome-internal-module/artifactId version1.0.0/version exclusions exclusion groupIdorg.bytedeco/groupId artifactIdjavacv/artifactId /exclusion exclusion groupIdorg.bytedeco/groupId artifactIdffmpeg-platform/artifactId /exclusion /exclusions /dependency記住一個(gè)原則全項(xiàng)目只允許出現(xiàn)一組JavaCV相關(guān)版本要么全用1.5.8要么全用1.5.9不要混搭。4. 錄屏功能的核心代碼與參數(shù)取舍依賴(lài)問(wèn)題解決后錄屏代碼本身其實(shí)不復(fù)雜。下面給出一個(gè)能直接跑通的核心流程以及我在參數(shù)調(diào)優(yōu)方面的一些實(shí)測(cè)經(jīng)驗(yàn)。4.1 主流程Robot抓幀 FrameRecorder編碼Java里抓取屏幕最快的方式是java.awt.Robot它可以精確截取某個(gè)矩形區(qū)域的內(nèi)容。得到BufferedImage之后用Java2DFrameConverter轉(zhuǎn)成Frame再交給FFmpegFrameRecorder編碼寫(xiě)入文件。import org.bytedeco.javacv.*; import org.bytedeco.ffmpeg.global.avcodec; import org.bytedeco.ffmpeg.global.avutil; import java.awt.*; import java.awt.image.BufferedImage; public class ScreenRecorderDemo { public static void main(String[] args) throws Exception { int width 1920; int height 1080; int fps 15; String outputFile record.mp4; Robot robot new Robot(); Rectangle screenRect new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); FFmpegFrameRecorder recorder new FFmpegFrameRecorder(outputFile, width, height); recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264); recorder.setPixelFormat(avutil.AV_PIX_FMT_YUV420P); recorder.setFormat(mp4); recorder.setFrameRate(fps); recorder.setVideoBitrate(2_000_000); recorder.start(); Java2DFrameConverter converter new Java2DFrameConverter(); long start System.currentTimeMillis(); long durationMs 10_000L; int gapMs 1000 / fps; while (System.currentTimeMillis() - start durationMs) { BufferedImage image robot.createScreenCapture(screenRect); Frame frame converter.convert(image); recorder.record(frame); frame.close(); Thread.sleep(gapMs); } recorder.stop(); recorder.close(); converter.close(); } }這段代碼的邏輯很直白每gapMs毫秒抓一幀屏幕轉(zhuǎn)成Frame后寫(xiě)入錄制器持續(xù)10秒后結(jié)束。生產(chǎn)中建議把screenRect和寬高改成動(dòng)態(tài)獲取避免寫(xiě)死分辨率。4.2 編碼器、像素格式、幀率、比特率怎么配錄屏最容易踩的坑是參數(shù)之間不兼容。下面這幾組參數(shù)是我實(shí)測(cè)下來(lái)最穩(wěn)的組合編碼器使用H.264也就是avcodec.AV_CODEC_ID_H264。播放兼容性最好幾乎所有終端都能解。如果你的運(yùn)行環(huán)境CPU很強(qiáng)且需要更高壓縮率可以試AV_CODEC_ID_H265但要確認(rèn)播放端支持。像素格式AV_PIX_FMT_YUV420P。這是H.264最常用的輸入格式兼容性極高。如果你錄制的畫(huà)面有透明通道或者特殊顏色需求才需要考慮其他格式否則不要亂改。幀率屏幕錄制我個(gè)人建議10到15。錄PPT、操作教程這種靜態(tài)內(nèi)容比較多的場(chǎng)景15幀完全夠體積也不會(huì)太大要錄游戲或快速動(dòng)畫(huà)再考慮30幀。比特率720p建議1Mbps到2Mbps1080p建議2Mbps到4Mbps。設(shè)太高了文件體積瘋長(zhǎng)設(shè)太低了畫(huà)面會(huì)出現(xiàn)明顯的壓縮模糊。另外setFormat(mp4)和setVideoCodec的配合別忽略?xún)烧卟灰恢驴赡軐?dǎo)致封裝器初始化失敗。如果輸出record.flv把格式對(duì)應(yīng)改成flv即可。4.3 結(jié)束錄制時(shí)必須做的收尾動(dòng)作很多朋友錄完直接結(jié)束進(jìn)程結(jié)果發(fā)現(xiàn)文件打不開(kāi)。原因是FFmpegFrameRecorder在寫(xiě)入mp4時(shí)需要正常的收尾流程否則文件缺少moov元數(shù)據(jù)播放器無(wú)法定位音視頻軌道。正確的收尾順序是recorder.stop(); recorder.close();如果用了Java2DFrameConverter也要記得關(guān)閉。手動(dòng)調(diào)用的方式不夠優(yōu)雅但勝在可控尤其是錄制循環(huán)可能提前中斷的場(chǎng)景你可以在finally塊里確保執(zhí)行這兩個(gè)方法。5. 我這次踩過(guò)的坑和最終解決方案前面講的偏通用知識(shí)這節(jié)才是我這次最想分享的“實(shí)戰(zhàn)排雷”記錄。每個(gè)坑都有真實(shí)的現(xiàn)象、排查思路和最終處理方式。5.1 坑一依賴(lài)版本分裂導(dǎo)致NoSuchMethodError現(xiàn)象程序能啟動(dòng)FFmpegFrameRecorder對(duì)象也創(chuàng)建成功了但在調(diào)用start()時(shí)拋NoSuchMethodError棧信息指向org.bytedeco.ffmpeg包下的某個(gè)方法。排查思路我第一反應(yīng)是代碼用錯(cuò)了API對(duì)著文檔看了半天也沒(méi)問(wèn)題。后來(lái)冷靜下來(lái)用mvn dependency:tree -Dincludesorg.bytedeco:*一看發(fā)現(xiàn)項(xiàng)目里有個(gè)內(nèi)部工具模塊傳遞引用了javacv 1.5.7而我主模塊用的是javacv 1.5.9。兩個(gè)不同版本的原生庫(kù)同時(shí)被裝載JavaCPP直接錯(cuò)亂。最終解決排除掉內(nèi)部模塊傳遞過(guò)來(lái)的舊版javacv然后在dependencyManagement里統(tǒng)一聲明JavaCV及其相關(guān)包的版本確保全項(xiàng)目只有一套依賴(lài)。5.2 坑二殺毒軟件把解壓出來(lái)的原生庫(kù)隔離了現(xiàn)象在我本地機(jī)器上程序運(yùn)行正常但把錄制模塊放到另一臺(tái)Windows機(jī)器上剛啟動(dòng)就報(bào)UnsatisfiedLinkError而且時(shí)不時(shí)報(bào)錯(cuò)重啟又能好一會(huì)兒。排查思路這類(lèi)“環(huán)境相關(guān)”的加載失敗優(yōu)先懷疑JavaCPP解壓原生庫(kù)時(shí)被外部因素干擾。打開(kāi)Windows的安全中心一看果然歷史保護(hù)記錄里躺著被隔離的ffmpeg.dll。JavaCPP默認(rèn)會(huì)把原生庫(kù)解壓到系統(tǒng)臨時(shí)目錄殺毒軟件對(duì)臨時(shí)目錄里的dll格外敏感誤刪或隔離是常有的事。最終解決兩種辦法。一是給jvm加參數(shù)指定一個(gè)專(zhuān)門(mén)的可信目錄例如-Djava.io.tmpdir/path/to/your/tmp二是把項(xiàng)目編碼目錄加入殺毒軟件白名單。兩個(gè)方案我后來(lái)都用上了開(kāi)發(fā)環(huán)境加白名單生產(chǎn)環(huán)境指定獨(dú)立臨時(shí)目錄再?zèng)]出現(xiàn)過(guò)離奇消失的dll。5.3 坑三Windows系統(tǒng)缺少C運(yùn)行庫(kù)導(dǎo)致64位庫(kù)加載直接崩現(xiàn)象有一臺(tái)同事的機(jī)器Java環(huán)境完全正常但錄屏程序一跑就崩連標(biāo)準(zhǔn)的Java異常棧都沒(méi)有彈窗報(bào)錯(cuò)或直接退出有時(shí)控制臺(tái)出現(xiàn)0xc000007b這樣的錯(cuò)誤碼。排查思路0xc000007b在Windows上通常代表應(yīng)用程序需要系統(tǒng)運(yùn)行庫(kù)支持。JavaCV解壓出來(lái)的FFmpeg dll依賴(lài)微軟的C運(yùn)行庫(kù)如果目標(biāo)機(jī)器沒(méi)有安裝對(duì)應(yīng)的運(yùn)行庫(kù)動(dòng)態(tài)庫(kù)加載就會(huì)失敗而且失敗方式非常粗暴可能直接導(dǎo)致進(jìn)程退出。最終解決在目標(biāo)機(jī)器安裝最新版的Visual C Redistributable x64運(yùn)行庫(kù)重啟之后程序就能正常啟動(dòng)。后來(lái)我再部署這類(lèi)帶原生庫(kù)的Java工具都會(huì)把運(yùn)行庫(kù)檢查寫(xiě)進(jìn)環(huán)境準(zhǔn)備清單而不是默認(rèn)所有機(jī)器都齊備。5.4 最終能穩(wěn)定跑的完整方案在所有坑都填平之后我把錄屏模塊收斂成了一套穩(wěn)定方案基本規(guī)則如下依賴(lài)固定javacv 1.5.9ffmpeg-platform 6.1.1-1.5.9全項(xiàng)目通過(guò)dependencyManagement鎖死版本。啟動(dòng)參數(shù)顯式指定-Djava.io.tmpdir到用戶(hù)可寫(xiě)目錄避免系統(tǒng)臨時(shí)目錄權(quán)限和殺軟干擾。編碼參數(shù)H.264 yuv420p mp4 15fps 2Mbps兼容性和畫(huà)質(zhì)都在可接受范圍。收尾流程錄制循環(huán)結(jié)束后先stop()再close()保證文件完整。這套方案我用下來(lái)在Windows和Linux上都能穩(wěn)定錄屏CPU占用也不算夸張1080p下大約占一個(gè)單核左右。6. 常見(jiàn)問(wèn)題速查表與救急兜底手段最后把這次經(jīng)歷中遇到的典型問(wèn)題整理成一張速查表方便以后直接對(duì)號(hào)入座。如果你也卡在JavaCV錄屏運(yùn)行階段可以先看一眼這張表再動(dòng)手查。6.1 常見(jiàn)報(bào)錯(cuò)與對(duì)應(yīng)處理現(xiàn)象可能原因處理方式NoClassDefFoundError: FFmpegFrameRecorder運(yùn)行時(shí)依賴(lài)缺失打包時(shí)沒(méi)帶上javacv相關(guān)jar用maven-shade打包或把依賴(lài)jar放進(jìn)classpathNoSuchMethodErrorJavaCV系列依賴(lài)版本分裂檢查依賴(lài)樹(shù)統(tǒng)一javacv和ffmpeg-platform版本UnsatisfiedLinkError 指向ffmpeg/local庫(kù)原生庫(kù)解壓或加載失敗檢查臨時(shí)目錄權(quán)限、殺毒軟件隔離、VC運(yùn)行庫(kù)0xc000007b錯(cuò)誤碼Windows缺C運(yùn)行庫(kù)或架構(gòu)不匹配安裝對(duì)應(yīng)x64架構(gòu)的運(yùn)行庫(kù)RuntimeException: No encoder found編碼器不匹配或平臺(tái)包未包含相應(yīng)編碼器顯式指定libx264/H264檢查像素格式和封裝格式錄制文件0字節(jié)未正常調(diào)用stop/close或錄制幀率太低錄制結(jié)束后按順序stop再close適當(dāng)提高fps日志顯示幀時(shí)間戳異常抓幀間隔不穩(wěn)定線(xiàn)程調(diào)度抖動(dòng)用nanoTime高精度計(jì)時(shí)或使用定時(shí)調(diào)度框架6.2 實(shí)在不行時(shí)的兜底方案如果上面這些排查完仍然無(wú)法在期限內(nèi)穩(wěn)定跑通JavaCV內(nèi)嵌錄屏還有一個(gè)工程上常見(jiàn)的兜底方案先用Robot把屏幕幀落盤(pán)成臨時(shí)PNG序列錄制結(jié)束后再調(diào)用外部FFmpeg命令行把圖片序列合并成視頻。ffmpeg -framerate 15 -i frame_%05d.png -c:v libx264 -pix_fmt yuv420p output.mp4這條路的好處是把JavaCV的原生庫(kù)加載問(wèn)題整個(gè)繞開(kāi)代價(jià)是落盤(pán)圖片占空間、后期編碼耗時(shí)。它適合作為項(xiàng)目初期的應(yīng)急預(yù)案不建議長(zhǎng)期使用。長(zhǎng)期來(lái)看JavaCV內(nèi)存內(nèi)錄制的效率確實(shí)更好文件也只在最終階段寫(xiě)一次體驗(yàn)更順滑。這次踩坑的經(jīng)歷給我的最大感受是JavaCV這類(lèi)帶原生庫(kù)的Java庫(kù)真正決定能不能跑起來(lái)的往往不是Java代碼本身而是依賴(lài)版本、原生庫(kù)加載環(huán)境、系統(tǒng)運(yùn)行庫(kù)這些“看不見(jiàn)的底座”。代碼半天就能寫(xiě)完跑通往往要折騰一兩天這是常態(tài)。所以我后來(lái)做類(lèi)似項(xiàng)目都會(huì)先跑JavaCV官方自帶的示例確認(rèn)環(huán)境沒(méi)問(wèn)題再動(dòng)自己的業(yè)務(wù)代碼。版本依賴(lài)固定成一張“已知可用矩陣”全項(xiàng)目統(tǒng)一執(zhí)行真的能避免一大半的啟動(dòng)失敗。希望這篇記錄能幫你少走幾個(gè)彎路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丁香五月偷拍| 大香人妻| 五月天综合在线| 色婷婷久久| 伊人综合网站| 亚州色婷婷| 亚洲精品性色| 成人超碰AV| 9久操| 99久久婷婷国产综合精品草原| 五月婷婷就去色| 碰超在线九色| 激情五月天。| 无码人妻少妇色欲AV一区二区| 丁香婷婷影院| 天天天操天天天日| 五月丁香狠狠| 黄涩毛片| 99er免费在线观看| 亚洲综合1024| 这里精品| 久久人妻高清中文| 久久五月婷综合网| 亚州激情网| 一区三区视频有限公司| 99九九热视频免费| 久久人操-久草婷婷-成人AV| 五月天丁香婷婷视频网址| 91丨九色丨高潮丰满日本| 超碰AAAAAAV| 日本久久天堂| 欧美日本高清视频99| 日本色婷婷| www.五月天社区| 十月丁香婷婷| 色色亚洲无码| www.婷婷网| 大香蕉天堂| 久久182| 亚洲国产精品VA在线看黑人| 亚洲超碰在线| 欧美精品999| 日韩啊啊啊| 六月五月婷婷| 天天婷婷色六月| www.sd-xiangsu.cpm| 久久九九爽| 99久久.www| 九月丁香八月婷婷加勒比| 久久精品人妻| www.夜夜| 无码激情AAAAA片-区区| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 色99视频| 婷婷爱五月| 超碰在线人人| 996er热| 婷婷五月电影| 色婷婷狠狠| 亚洲乱码在线观看| 五月天伊人网| 丁香六月婷婷综合| 尤物一区二区| 六月婷婷日| 九色99视频| 性av| 日本情色一区二区| 激情五月综合第一页| 九九九九中文字幕| 欧美性爱中文字幕| 天天操夜夜爽天天操| 91九色国产| 97干在线视频| 另类综合国产| 射区导航| 精品人妻伦九区久久AAA片| 欧美精品XXXXBBBB| 色五月开心久久网| 婷婷97碰碰| 91大神操美女| 天天噪夜夜爽| 亭亭玉月丁香| 99久久这里只有精品| 亚洲操操| 久热re在线视频| 九色成人AV在线| 久久日婷婷| 婷婷五月丁香综合桃花色网| 五月婷婷AV| 五月天天丁香婷婷在线中| 欧洲精品欧洲情| 色婷婷丁香五月天在线视频| 日韩AAAAAAAAAAA片| www.色九月| 一起草性爱不卡视频| 超碰在线国产| .肏屄视频一区二区| 久re在线| 久久五月天合网| 婷婷五月天成人动漫 | 日本成人噜噜噜| 五月婷婷丁香六月| 狠狠精品干练久久久无码中文字幕 | 99在线精品视频| 大地9中文在线观看免费高清| 天天干天天干天天操| 亚洲综合色网| 色色九区| 五月激情婷婷色| 欧美性爱特黄一级aaaassss| 草一草avb| 五月天另类激情在线| 中文字幕丰满孑伦无码专区| 玖玖婷婷五月天| 婷婷伊人| 精品一区二区三区三区| 激情久久四色| 天天综合色| 欧美25p| 亚洲xx在线| 色欲色香,www,com| 狠狠色丁香婷婷综合久久97AV| 婷婷六月丁香欧美视频在线| 伊人综合网站| 五月天激情影院| 99热99免费| 婷婷久久综合| 婷婷五月丁香综合网| XX久久| 婷婷五月成年人| 夜夜夜夜夜骑撸| 六月丁香五月天| 五月刺激丁香月综合| 日日干天天射| 婷婷性色| 91在线视频观看午夜福利| 九九热欧美| 天天操综合网站| 国产日比| 色色日韩| 99色综合网| 九九热这里只有精品一| 开心激情站| 五月丁香人妻| 人人操人人爱丁香五月| 色婷婷成人做爰A片免费看网站| 久久性都花花世界成人免费视频| 五月激情婷婷六月丁香| site:pnnrt.com| 久久天堂色| 久久只这里有精品| 熟女人妻一区二区三区免费看| 色五月婷婷AV| 久草热在线视频| 丁香五月之久操视频| 最新日本A片| 色五月综合资源推荐| 天堂伊人干| 色综天天综合| 亚洲激情综合| 激情视频网址| 色五月首页| 蜜乳人妻一区二区三区| 五月六月伦理| www.久久9| 精品皮股午夜AV| 午夜成人片400| 亚洲综合字幕色色| 久久丁香五月天| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | 丁香六月天婷婷| 婷婷丁香五月天欧美| 97色婷| 六月婷婷色色色| 色播播五月| 丁香五月伊人| 亚洲色五月婷婷| www.夜夜爱.com| 米奇激情婷婷| 玖玖91| 第四色婷婷五月| 99热这里有精品| 天天做综合| 久99热| 六月丁香成人| 三级黄色大片视频| 亚洲第一精品网站| 亚洲无码成人网| 68热超碰在线| 国精产品一区二区三区| 久久五月天 91| 操日挥操日日| 色五月婷婷激情基地| 丁香五月激情婷婷婷婷在线观看| 天天综合 99久久婷婷| 色五月婷婷小说亚洲中文字幕组| 色私五月婷婷| 日本猛少妇色XXXXX猛叫| 天天插天天插天天日| www久久99| 免费视频舔| 婷婷啪啪| 五月色亚洲| 亚洲无aV在线中文字幕 | 丁香五月天婷婷在线视频| 91久热| 婷婷久久午夜网| 天天日天天爽| 五月天婷婷婷| Av大香蕉| 超碰人人摸人人操| 日本色色网站| 有码人妻久久| 伊人久热91| 久久综合中文字幕| 色婷婷婷婷成人网| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 深爱激情九九五月天| 99国产精品久久久久久久久久久 | 色婷五月| 不卡影院午夜理论片| 欧美五月婷婷| 99久久99九九99九九九| 综合色五月亭亭| 天天橾日日橾夜夜橾17| 干一干xxxx| 色色性爱视频| 婷婷丁香五月高清| site:pzdcoin.com| 39视频第二区| 日韩免费视频| 天天综合五月| 99er6热在线观看精品6| 丁香六月综合激情| 婷婷激情综合色五月久久91| 五月综合久久| 97热这里精品在线视频| 66精品成人免费网站在线观看| 日操夜操天天操不卡| 婷婷五月激情的图片| 久久99这里只有精品| 丁香五月激情图片婷婷| 99re6久热只有精品6在线直播| 青青草视频福利| 99色.com| 五月天丁香啪啪网| 五月天婷婷激情| 这里只有精品2| 99操视频| 伊人色五月| 色色色色色色色色综合网| 欧美综合激情五月| 日日夜夜狠狠婷婷色| 二区成人视频| 91精品激情9| 久久男人网婷婷| 婷婷91| WWW.色婷婷.COM| 亚洲午夜视频| 人人操操| 五月天开心色色网| 荡乳尤物3HP1V5| 成人在线视频一区| 激情五月天综合婷婷网| 五月丁香AV在线| 五月丁香啪综合| 99婷五月| 4399啪啪视频| 极品人妻VIDEOSSS人妻| 桃色五月天| 婷婷五月丁香超碰| 丁香五月成人社区| 人人视频色| 精品99这里有| 97人人草| 婷婷五月深情丁香深爱日韩| 嫩草视频在线观看| 大香蕉网站,大香蕉综合| 激情国产五月| 欧美精品在线观看| 国产乱子轮XXX农村| 超碰91在线| 国产偷人妻精品一区| 人人色AV| 色婷婷亚洲在线| 99热99在线| 色综合偷拍| 亚洲AV成人精品网站在线播放| 色五月婷婷五月天| 风流少妇A片一区二区蜜桃 | 91碰超| 日韩无码AV电影网站| 超碰在线成人| 99视频这里有精品| 国产激情视频在线观看| 五月丁香六月激情| 欧美韩国日本| 日韩久久成人| www久久久久久久| 国产性av| 久久亭亭电影| 国产婷婷久久| 91青娱乐青青草| 秋霞AV吧| 激情五月四色| 一级七香蕉| 免费V片在线| 先锋影音男人的天堂AV| 影音先锋综合网| 久久ri精品视频| 九九色插| 97碰人人操| 91久久电影| 欧洲区自拍| 亚洲在线播放| 免费国产视频| 色色综合无码| 五月丁香久久激情网| 婷婷中文字幕版| 69激情小说| www久热com| 婷婷五月激情视频在线| 夜色综合网| 中文字幕,综合,91| 久久作爱| 无码激情AAAAA片-区区| 亚洲视频1区| 99热精品10| 久热中文字幕| 色播五月丁香婷婷| 久久er99| 亚州操人在线视频| 国产婷婷婷| 丁香五月激情啪啪啪| 婷婷狠狠97| 91狠狠综合网| 99热只有精品综合| 精品久久久久久久人妻| 色色色地址| 丁香五月天激情视频| 激情五月婷婷综合| 丁香五月天婷婷大香蕉| 激情五月天婷婷| 99久热这里有精品| 色五月婷婷小说亚洲中文字幕组| 五月激情啪啪| 亚洲精品第一国产综合亚AV | 日日夜夜小色哥| 激情综合激情综合| 五月婷婷深深爱| 夜色五月天| www色哟哟| 91婷婷在线| 天天摸夜夜爽天天做| 色五月婷婷丁香五月| 日韩 中文 欧美| 精品国产va久| 久久婷丁香五月| av色婷婷| 影音先锋天天日| 久久99这里只有精品| 五月天久久www| 五月丁香婷婷爱| 丁香五月手机在线| 五月香蕉网| 久久免费精品小视频| 日逼免费视频| 97人人干| 99久久久久久久| 狠狠操天天操| 超碰成人av| 国产又爽又猛又粗的视频A片| 操日本色| 在线观看玖玖资源免费观看| 天天日天天色| 久综合九综合99| 91超级碰碰| 黄色AAAAA| 色玖玖| 小泽玛利亚视频一区二区| 欧洲激情五月天婷婷| 日韩欧美成人片| 超喷97免费在线视频| 午夜激情婷婷| 五月天婷婷影院| 97一区二区| 国产在线中文字幕| 很操日本7| 婷婷久久大香蕉| 91怕怕网| 婷婷激情五月综合丁香社| 久草五月天| 2015WWW永久免费观看播放| 狠狠色性| 婷婷五月天成人| 玖玖激情五月天| 婷婷激情5月| 啊v视频在线观看| 激情人妻综合| 五月丁香婷婷欧美| 伊人丁香五月婷婷潮吹| 伊人9999| 久久99人人| 婷婷另类开心| 亚洲欧美成人在线| 久久机热这里只有精品免费视频| 色播六月| 五月丁香婷婷久久| 婷婷网五月天| 免费在线a| 婷婷在线免费| 伊人婷婷大香蕉在线| 天天做天天爱天天日| 亚洲熟女色| 97婷婷狠狠久久综合9色| www久久五月com| 色五月激情| 亚洲激情视频在线观看| a在线观看| 在线sebiav精品视频| 亚洲精品性色| 五月天色色色网| 思思re视频在线| 丁香六月综合激情| 日批在线看| 国产AV一区二区三区最新精品| 伊九九三级区| 玖玖在线| 亚洲Va成人| 丁香啪啪| 精品无码色| 色播五月婷婷| 大香蕉院线| 亚洲宗合激情| 夜夜骑天天玩天天日| www。五月,com| 深爱激情网五月天| 亚洲无码成人网| 丁香五月欧美色综合| 91免费看片| 亚洲人妻av| 色色99| 色人久久| 九九精品在线网| 91/九色黑人| 婷婷久久丁香| 日本色色图| 日日天天干| 色色色在线免费视频| 国外亚洲成AV人片在线观看| 五月丁香人人婷婷在线观看| 狠狠久综合| 日本视频99| 7777激情基地| 五月停停大香蕉| 久久99热免费最新版| 日本人妻A片成人免费看片| 思思久久99热只有频精品66| 久操97| 色五月激情问网站| 色播五月天婷婷老师| 超碰91在线| 天天综合网亚洲网站| 一本久道综合99| 激情丁香五月| 色五月激情综合| 久久在这里有精品| 91青娱乐青青草| 精品夜夜澡人妻无码AV| 婷婷九月丁香| 丁香狠狠色婷婷久久无码视频| 日韩在线99| 婷色成人| 久操人妻| 国产女人十八水真多1| 99热九九热| 女人天堂 AV| 思思热久久阴99| 五月天婷婷涩涩| 99久在线精品99re8热| 五月天婷婷乱论小说| 第二色AⅤ| 9精品视频在线观看| 亚洲九N| 激情亚洲网| 开心五月深爱五月丁香五月激情五月 | 欧亚成人A片一区二区| 99视频在线观看网址| 婷婷丁香五月天色播网站| 狠狠综合区| 中文字幕1区2区。| 婷香五月网在线| 九九热91| 色噜噜狠狠狠狠色综合久欧美| 婷婷中文在线| 亭亭玉月丁香| 丁香五月激情五月开心五月| 亚洲五月天伊人| 另类视频一区| 婷婷久久亚洲| 国产操B视频| 亚洲图色五月天| 亚洲乱码日产精品BD| 亚洲操操| 久久婷婷五月天懂色| 亚洲热热视频| 开心激情网五月| 五月天婷婷乱| 亚洲看av的网站| 狠狠色丁香综合| 六月婷婷综合激情| 夜夜躁婷婷AV| 日韩精品成人在线| 精品99在线观看| 大香伊人婷婷影院| 97超碰在线观看免费| 五月婷三级片| 成人丁香婷婷五月天| 激情小说五月丁香在线视频观看视频| 大香蕉久| 九九黄色网| 另类激情五月| 色色吧综合| 二色AV| 超碰操网| 综合狠狠伊人| 五月激情婷婷图片基地| 色播五月婷婷综合| 婷婷AV丁香| 性小说五月天| 久久婷婷五月天激情| 五月天自拍网| 蜜桃婷婷丁香| 啪啪小说五月天| 欧美婷婷精品激情| 天天拍天天操| 99久久久免费| 九九亚洲视频| www.丁香六月婷婷久久天堂影院.con| 丁香五月婷婷av影院| 黄网在线免费观| 97碰碰久久| 久久ri精品视频| 一区操| 亚洲色综合色网| 五月天婷婷色情| 中文字幕AV网址| 91偷拍视频| 五月丁香久人妻中文| 六月丁香五月激情亚洲AV| 激情99热| 色婷婷AV久久久久久久| 91人操人人人操人| www.色婷婷| 成人无码精品1区2区3区免费看 | 婷婷伊人久久| 五月丁香| 日本97人人| 亚洲视频操| 天天爱天天做天天日| 色婷婷五月天激情久久| 久久久精品色色色| 中美日韩成人在线| www.超碰| 另类图片五月天激情| 99人人操人人操人人精| 色情五月丁香婷婷网| 另类图片 五月激情| 五月天,激情四射,婷婷频道| 日本一级| 91男女视频在线观看| 超碰丁香五月| 婷婷八月激情| 天天操天天日天天操| 激情五月天开心| 丁香五月在线| 人妻在线观看视频| 五月丁香激情啪啪| 男人的天堂五月丁香| 婷婷五月激情欧美| 亚洲av| 婷婷综合色网| 色五月在线| 五月天亚洲综合网| 激情五月婷婷| 国产色视频网站2| 久久这里只有精彩| 天天日天天干天天爽| 色婷婷影视| 超碰婷婷五月| 狠狠舔| 天天操天天操天天操天天操天天操天天操 | 五月丁香激情婷婷综合字幕| 狠狠干婷婷| 久久综合五月天| 欧美日韩日韩成人| 色综合久久88色综合天天人守婷| 欧美丁香五月夫妻天| 97人人干| 99精品一二三四视频| 五月天综合区| 99综合免费视频| 爱操天堂| 激情丁香婷婷五月天| 激情五月天综合网| 婷婷狠狠综合网入口| 久久新地址| 99这里有精品视频视频| 乱精品一区字幕二区| 182TV亚洲| 日本AAAAAAAAAAAAAA片| 97人人草| 99操99| 66色在线日韩| 六月丁香AV| 婷婷久久国产视频| 久久ab| 五月停停色| 色色色色网色色网色色| 国产精品天天狠天天看| 九九AV| 婷婷五月天AV在线| 久久精品天| 五月婷婷视频ab| 日本欧美成人片AAAA| 色色激情网| 99视频在线观看网址| 久久婷婷丁香花综合网| 狠狠干2007| 狠狠插狠狠插| 欧美性爱五月天| 五月色综合| 婷婷丁香综合色AV| 五月天激情视频网站| 国产亚洲精品久久久久苍井松 | 婷婷五月综合啪| 久久33视频| 天天舔天天摸天天透| 最近中文字幕在线中文视频| 五月色亭丁香| 久色网| 激情五月开心五月在线视频| 亚洲热热视频| 欧洲99视频在线| 国产成人网址| 秋霞免费三级片| 操碰91| 99色婷婷视频| 五月激情婷婷在线| 伊人五月天综合网| 99人人干| 五月天欧美 另类小说| 熟女人妻一区二区三区免费看| 夜夜爽77777妓女免费下载| 97碰久久| 丁香色五月天| 欧美成人无码高清一区二区三区| 日本九九九九| 综合激情综合啪啪| 欧美婷婷丁香社区在线播放| 99热成人在线观看| 中文字幕在线不卡视频| 天天日天天舔| 狠狠丁香| 色色操| 激情的五月| 九九九九精品精| 欧美Va在线| 丁香五月婷婷香| 丁香色五月婷婷| 热99久| 五月色网| 成人色色综合| 99热传媒| 色爽九九| 五月天天丁香婷婷在线中| 国产99久久久国产精品免费看| 五月天自拍网| 婷婷久久女人| 大香蕉综合在线| 综合在线网| 一本色道久久综合狠狠躁一二三 | A片一曲| 99色这里| 9九九久久精品无码专区| 橾逼网| 国产激情AV| 五月婷婷丁香| 九九99精品视频在线观看| 超碰色婷婷| 国产精品电影| 五月婷婷影| 婷婷精品免费久久| 色婷婷呢狠禁久禁| 99色综合| 国产精品噜噜在线视频| 狠狠综合色网| 九色婷婷| 天天做夜夜爽| 丁香亭亭久久| 97操在线资源| 亚洲综合九九| 无码区婷婷五月花开| 久久久久妻| 97成人丁香| 国产67194| 五月丁香六月综合激情网| 91九色精品| 午夜69成人做爰视频| 激情六月丁| 国产精品色色666| 久久五月天激情婷婷| 丁香六月在线| 天天情色综合网| 99热都是精品| 亚洲人妻五月丁香婷婷| 婷婷五月天激情小说| 春色激情| 人人干av| 五月丁香激情综合久久| 婷婷五月情色| 91尤物九色在线| 1024国产在线| 99热手机在线精品| 99精品热| 99这里只有精品在线观看| 99在线播放视频| 亚洲AV无码成人电影| 亚洲激情婷婷| 99热在线播放| 五月丁香六月婷婷亚洲| 99热99ai| 99爽视频| 成年视频免费观看| 激情5月婷婷| 色屌丝中文字幕| 五月天 婷 欧美亚洲| 欧美va| 久操b网| 日本婷久久| 婷婷五月天性爱视频| 亚洲精品又粗又大又爽A片 | 99热免| www.91婷婷| 六月丁香激情网| WWW.开心五月天.COM| 五月婷婷六月丁香激情深爱| 久久婷婷成人| 色噜久| 91综合网| a级毛片一区二区免费视频| 婷婷九月| 另类小说色婷婷| 99久久网站| 色色色婷婷| 夜夜骑夜夜撸| 99热在线精品观看| 色色色国产| 99精品爱| 婷婷婷五月天最新综合你懂的| 99热免费精品热久久66| 婷婷久久亚洲| 久久作爱| 超碰色婷婷| 五月婷婷婷综合网| 2016日日夜夜操| 一区二区三区XXXXXX| 久久亭亭电影| 大香蕉懂9| 激情碰碰碰| 日韩三级视频一区二区| 久久九九免费视频| 亚洲操b| 91成人性爱视频| 欧美色色网| 深爱激情丁香| 99综合网| 欧美色99| www99热| 青草五月天| 依人大香蕉| 成人综合网站| 婷婷在线网| 丁香五月亚洲综合| 丁香五月婷婷亚洲天堂| 色九综合| 97视频91| 激情丁香久久| 丁香久久五月天视频在线观看| 五月丁香六月激情综合在线| dingxiangtingtingliuyue| 六月婷婷久久大全| 这里只有精品久久| 日韩无码专区| 九九这里只有精品| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 丁香五月婷婷激情完整版| 39视频第二区| 91久久精品无码一区二区三区| 91网站黄| 天天人人综合| 激情五月com| 日本五月婷| 久久总和99| 五月天国产| 婷婷五月花| 久久爱综合| 人人操人人操919999| 就是色婷婷五月亚洲色| 五月婷综合性中心| 婷婷六月综合激情| 97人人操人人干| 色婷婷丁香A片区毛片区女人区| AAA级久久久精品| 99久高清视频| 少妇激情基地| 国产美女最新VA在线免费观看| 色色哒五月婷婷六月丁香| 日韩 中文 欧美| 色色综合网站| 天天综合色99| 久久丝丝热| 思思99热这里只有精品6| 99久久这里只有精品| 五月婷婷六月丁香综合在线| co超碰在线观看| 啪啪六月婷婷| 婷婷六月开心网| 丁香五月婷婷视频| 免费AV播放| 婷婷六月天| 熟女色专区| 色永久| 色色色色网站| 人人97操| 亚洲激情 久久| 五月丁香综合在线| 99热欧美| 婷婷五月,偷窥偷拍网| 激情文学天天| 天天拍天天操| 三年高清大片免费观看国语| 先锋资源91| 啄木鸟黑丝一区二区| 99免费在线视频| 伊人综合网站| 99干视频| 毛片毛片毛片毛片| 久9视频| 91丁香婷婷综合资源| 五月丁香亭亭成人电影| 91热网址| 91在线97视频| 五月色婷婷亚洲 | 午夜丁香五月天综合| 美日韩成人| www.99热精品99.com| 亚色网站小视频| 狼友超碰| 人操91在线| 狠狠色激情在线| 六月婷婷综合| 久久婷婷五月激情综合| 六月丁香婷婷开心综合基地| 激情色播| 99热费观看| 色色丁香激情五月| 亚洲妇女熟BBW| www色色色com| 99性爱视频| 色五月丁香91| 五月花综合网| 丁香六月久久| 我想看国产大学生口爆吞精的视频| 五月综合婷婷开心网| 丁香啪啪| 久草性爱| 婷婷日欧美在线观看| 人人肏逼视频在线一区二区| 婷婷五月综合欧美在线播放| 婷婷久久五月天| 五月天色色婷婷| 日日干天天爽| 亚洲传媒在线观看| 人妻久久久久久久久妻久久久久| 狠狠搞狠狠操| 操B五月天| 免费97碰碰| 久草网大香视频| 99精品免费欧美小视频 | 人人操99| 国产免费一区二区三区三州老师F1F1.CC| 五月激情婷婷女| 久久艹 五月天| 五月激情开心婷婷| 色色热| 婷婷色五月激情| 亚洲午夜AV| 色综合色综合婷婷热| 可以直接看的AV| 久久久激情| 97色在线| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 午夜丁香五月天综合| 国产午夜精品一区二区三区四区| 五月综合亚洲色| 精品人妻一区| 欧美日本综合网| 婷婷综合网站| 安息电影在线观看完整版| 97人人超| 99爱免费在线观看| 国产成人精品一区二三区熟女在线| 五月天第四色开心色播| 五月综合色| 婷婷深爱五月天在线| 亚洲精品久久久久久久久久飞鱼| 久色成人| 男人大jjc女人免费视频| 婷婷激情啪啪| 丁香五月天啪啪a日本| 婷婷丁香成人色综合| 国产精品A片| 婷婷五月天首页激情| 九九热精品在线| 色月九九| 丁香五月久久| 天天日,夜夜爽| 99爱在线| 九九综合| 日韩九区| 色婷婷成人做爰A片免费看网站 | www.99视频| 五月综合视频| 六月色国内综合| 国产黄色av| 国产婷婷五月天| 丁香五月1页| 国产成人精品一区二区三区视频| 天天操夜夜肏| 5五月综合网亚洲| 97婷婷丁香| 精品在线| 久久九网| 日韩在线观看亚洲| sesesesezonghe| 色婷婷呢狠禁久禁| 丁香六月激情综合| 99热只有精品综合| 久久无码成人| 99热亚洲| 亚洲激情淫网| AV中文字幕夜夜操b天天摸bb | 五月丁香| 激情网 久久| 五月色综合| 亚洲综合在线伊人婷| 九九色情网站| 激情综合99| wwW天天干| 成人精品网站在线观看| 91一起操| 丁香激情婷婷网| 9热视频在线观看| 人妻熟人中文字幕一区二区| 亚洲另类日本| 婷婷伊在线| 丁香五月天综合| 色日本丁香婷婷| 色五月天丁香婷婷色| 天天操天天插| 狠狠xx| 五月天综合缴情网网站0| 久久久久九九九九视屏小说88| 超碰在线人妻| 婷婷六月花| 午夜婷婷| 2021日韩无码| 国产精品一区在线观看你懂的| 夜夜骑天天操| 日日色五月天| 国产脫衣舞一区二区三区| 欧美成人一区二区三区在线视频| 97操碰在线视频| 五月激情婷婷色| 欧美色图天堂网| 日本久久精品18| 婷婷爱综合| 亚洲综合999| 激情婷婷狠狠干综合| 婷综合| 久久五月天色| 成人免费120分钟啪啪| 成人精品亚洲性爱| 天天插天天日天天爽| 五月丁香六月综合基地| WWW.HENHENL.| 国产FREESEXVIDEOS性中国| 色色综合激情| 播五月丁香六月| 丁香五月图片| caop在线| 色青五月天| 激情综合网婷婷五夜| 丁香五月AV| www999日韩精品| 五月天天爱| 欧美性爱特黄一级aaaassss| 综合五月婷婷| 色五月婷婷影院| 丁香五月伊人| 人与禽A片啪啪| 99性爱视频| 五月天开心色情网| 日韩aaaaa| 亚洲精色| 婷婷中文字幕版| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 狠狠狠婷婷五月综合| 国产精品视频免费看| 亚洲人成网站999久久久综合| 国产午夜精品一区二区三区四区| 色婷婷狠狠| 亚欧州精品视频| 久久激情五月| 欧美成人网99网| 综合色色婷婷| 久久这里只有精品无码| 成人婷婷桔色| 五月天色婷婷激情综合| 九九性视频| 99操逼视频| 久久99久久99精品免观看粉嫩| 激情综合婷婷久久| 婷婷五月丁香激情图片 | 深爱激情网五月天| 伊人9999| 天天看夜夜看| www.lingjunshare.com| 六月色色婷婷| 久久久99精品| 丁香五月天综合网| 精品三区影院| 99热99热| 丁香婷婷视频一区二区| 伍月婷婷六月丁香| 色婷婷六月天在线| 婷婷六月五月天综合| 99视频只有这里精品| 99av视频| 少妇达人正片在线播放_ikun_福利吧| 26uuu国产激情视频| 五月天婷婷在线播放免费| 999影院成人在线影院| 丁香六月无码播放| jiqingliuyuetian| 色播播五月| 99爱视频| 激情综合区| 色色色色网| 色九九综合| 国外亚洲成AV人片在线观看| 五月丁香婷婷成人网| 色婷网站| 91综合色噜噜| 秋霞日本免费毛片A片| 97视频91| 亚洲五月丁香综合网| 天天噜天天爱| 激情综合网激情五月丁香| WWW,婷婷,COM| 色五月大| 伊人五月天在线| 99热在线观看| 精品一区久热| 色婷婷女优有码五月亭| 日韩色五月| 欧洲永久精品| 深爱丁香激情| 五月花免费视频| 六月婷婷av| 九九AV| 亚洲综合色婷婷文学| 狠狠综合区| 大香蕉伊人久久| 国产26uuu视频| www,色色色网站| 色五月天丁香| 国产成人精品亚洲线观看| 婷婷无五月无码视频| 99精品偷拍视频| 91啪啪视频| 加勒比色色| 综合久久人妻| 97人人干人人操| 亚洲精品V天堂中文字幕| www.韩日视频| 97视频久久| 五月丁香激情婷婷综合字幕| 很很干夜夜干| 亭亭五月色男人| 色婷婷呢狠禁久禁| 偷偷操99| 色国产五月| 欧美日韩国产一区二区| 伊人久久大香网| 久久人人人人妻| 丁香五月手机在线| 最近免费中文字幕大全高清大全1| 五月天丁香啪啪啪啪| 九九99精品视频在线观看| 五月天婷婷青青草| 久久婷婷五月丁香网| 三级黄色大片视频| 手机在线日韩视频中文字幕| 五月丁香综合久久| 亚洲一区二区无遮挡A片| 久久久天堂国产精品女人| 五月丁香亭亭AV女优| 丁香五月婷婷五月天在线| 26UUU欧美| 91中文在线| 婷婷九色| 六月丁香综合网| 自拍偷窥99热| av操B网站| 精品久色| 激情五月丁香亭亭| 激情婷婷五月天| 99久精品视频| 日本成人小说婷婷六月| 六月 丁香 视频| 99精品偷拍视频| 五月综合激情图片| 五月丁香成人| 婷婷五月日本| site:esunnet.com| 久操激情| 国产超碰av| 色综合色欲综合天天免费| 99日本在线| 另类图片五月天婷婷| 99er6| 色丁香久久| 日本三日本三级少妇三级66| 婷婷五月天六月综合| 99热这里是精品| 国产黄色一级片| 五月综合六月婷婷| 五月婷婷无码| 97碰在线| 免费看成人747474九号视频在线观看| 欧美综合五月天婷婷tin| 日日噜人人人做人| 色综合天堂| 九九热99精品| 五月丁香六月婷婷手机无线| 六月婷婷激情| 96丁香六月婷婷蜜桃综合久久| 久久激情五月婷婷| www.lchjjc.com| 深爱婷婷色| 久久草大香蕉| 开心五月婷婷激情| 丁香五月色五月| 超碰伊人碰婷婷五月| 精品色色色| 色色婷婷综合| 婷婷激情蜜桃玖玖丁香| 深爱五月天| 五月色综合| www超碰| AV在线免费网站| 丁香久久久| 操人精品| 九九热精品视频| 九九综合88| 亚洲欧美一区二区三区爱爱动图 | 日韩在线五月天婷婷| 久久99热网| 激情五月网站| 欧美成人AAA片一区国产精品| 天天操夜夜啊| www婷婷| 思思热久久阴99| 五月天婷婷色综合| 二色AV| 毛片新网地| 久久综合影院| 99狠狠| 久热中文字幕| 综合另类视频| 久久九九爽| 婷婷丁香五月麻豆| 另类天堂| 色色色激情| 三级三久久线久久99久目本WW| 日本精品99| 五月丁香| 国产xxxxx在线观看| 综合激情婷婷| 五月 丁香 欧美| 日本黄色一级| 日日夜夜天天爽| 91熟妇大香蕉| 另类综合色| 伊人网碰碰| 超碰99在线观看| 噜综合| 色久在| 五月天伊人| 婷婷五月俺要去| 5月丁香综合图区| 丁香五月亚洲| 4399伦理午夜| 97碰免费视频在线| 五月丁色AV| 久久久久久久11111111111| 色久激情在线| 五月天另类图片区99| 91人人爽狠狠狠| 久久婷婷五月国产激情综合片| 中文毛片无遮挡高潮免费| 日韩av网址大全| 中文字幕五月久久婷婷| 91人人操.COM| 99热热九九| 人人妖人人97| 五月天婷婷色| 久久之人妻| 91久久精品国产91性色TV| 深爱激清网| 九月激情网| 中文字幕日产A片在线看| 亚洲va在线| 天天肏天天肏天天肏| 婷色五月天| 激情综合色五月丁香六月亚洲| 殴美日韩成人| 日韩另类| 天天日日综合| 亚洲超碰在线| 免费看成人AA片无码视频吃奶| 婷婷丁香五月在线播放| 午夜色婷婷| 色五月婷婷777| www.91婷婷| 丁香婷婷免费| 玖玖爱导航| 五月婷婷基地| 操人妻视频91| 久/久精品99看9| 激情五月四色| 91色在线/日韩| 影音先锋 婷婷| 99爽视频| 精品成人在线| 久久女人天堂| 婷婷色五月久久| 大香线蕉伊人| 国产精品18久久久| 99热综合色图| 五月丁香六月合| 91超碰九色| 97色一二三| 色色五月婷婷|