久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

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

JavaCV+FFmpeg錄屏實(shí)戰(zhàn):原生庫(kù)加載與依賴沖突避坑指南 前陣子我做一個(gè)小工具需要在界面里加一塊屏幕錄制能力。技術(shù)選型時(shí)圖省事直接用JavaCV里的FFmpeg來(lái)做這類庫(kù)發(fā)展了這么多年心想無(wú)非就是抓屏、編碼、輸出文件三步。結(jié)果代碼寫(xiě)完了Maven工程連運(yùn)行都沒(méi)跑起來(lái)直接卡死在啟動(dòng)階段。那幾天我先后見(jiàn)到至少五種不同的報(bào)錯(cuò)從類找不到到原生庫(kù)加載失敗再到“偽成功”空文件最后一項(xiàng)一項(xiàng)排查下來(lái)才發(fā)現(xiàn)問(wèn)題幾乎都不在業(yè)務(wù)代碼上而是依賴體系和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這類帶原生庫(kù)的庫(kù)掛了往往是類路徑缺失、動(dòng)態(tài)庫(kù)加載失敗、編碼器初始化異常。下面是我這次以及身邊朋友高頻遇到的三類現(xiàn)場(chǎng)。1.1 啟動(dòng)就報(bào)NoClassDefFoundError類去哪了第一次報(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)是依賴沒(méi)配全但打開(kāi)pom.xml明明寫(xiě)了javacv依賴IDE里import org.bytedeco.javacv.FFmpegFrameRecorder;也能正常編譯怎么運(yùn)行時(shí)就找不到類后來(lái)才反應(yīng)過(guò)來(lái)Maven默認(rèn)打出來(lái)的jar是“瘦包”只包含自己的class文件根本不會(huì)把你引用的第三方依賴jar塞進(jìn)去。IDE里能跑是因?yàn)镮DE會(huì)自動(dòng)用Maven計(jì)算出來(lái)的完整classpath但用java -jar啟動(dòng)時(shí)如果沒(méi)把依賴一起放到classpath里JVM自然找不到FFmpegFrameRecorder這個(gè)類。這個(gè)報(bào)錯(cuò)其實(shí)是“運(yùn)行時(shí)依賴缺失”問(wèn)題不是代碼問(wèn)題很多人會(huì)因此浪費(fèi)半天時(shí)間。1.2 UnsatisfiedLinkErrorJava類在本地庫(kù)沒(mé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或者類似這樣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)的核心類有三個(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)專業(yè)攝像機(jī)JavaCV是它的遙控器JavaCPP則是連接遙控器和攝像機(jī)的一根數(shù)據(jù)線。你寫(xiě)的是Java代碼但真正干活的是C語(yǔ)言寫(xiě)的攝像機(jī)本體。2.2 JavaCPP與預(yù)制原生庫(kù)為什么“沒(méi)庫(kù)”會(huì)報(bào)錯(cuò)JavaCV底層依賴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類會(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)滿了一類的環(huán)境問(wèn)題都會(huì)讓它在加載這一步失敗。而且失敗信息往往不直觀包裝成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依賴的正確打開(kāi)方式經(jīng)歷了前兩輪的“磨難”我決定徹底把依賴這塊收拾干凈。這里直接給出我認(rèn)為最穩(wěn)妥的配置方式以及排查依賴沖突的具體做法。3.1 推薦的最小依賴組合只做錄屏不需要OpenCV等附加能力的話最小依賴方案是兩個(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)的那一份。如果你不放心可以再加一行顯式依賴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)目里其他依賴沖突也會(huì)引發(fā)更多問(wèn)題。我這次的小工具對(duì)體積有要求所以只用了javacv ffmpeg-platform的組合。兩者的權(quán)衡可以看下面這張表依賴方案優(yōu)點(diǎn)缺點(diǎn)適用場(chǎng)景javacv-platform配置簡(jiǎn)單全量能力體積巨大依賴復(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一次性看清依賴沖突如果你啟動(dòng)時(shí)碰到NoSuchMethodError或者LinkageError多半是依賴樹(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ì)不上。解決方法是在引入自身依賴時(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ù)取舍依賴問(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的配合別忽略兩者不一致可能導(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 坑一依賴版本分裂導(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)目只有一套依賴。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ì)兒。排查思路這類“環(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è)專門(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依賴微軟的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)我再部署這類帶原生庫(kù)的Java工具都會(huì)把運(yùn)行庫(kù)檢查寫(xiě)進(jìn)環(huán)境準(zhǔn)備清單而不是默認(rèn)所有機(jī)器都齊備。5.4 最終能穩(wěn)定跑的完整方案在所有坑都填平之后我把錄屏模塊收斂成了一套穩(wěn)定方案基本規(guī)則如下依賴固定javacv 1.5.9ffmpeg-platform 6.1.1-1.5.9全項(xiàng)目通過(guò)dependencyManagement鎖死版本。啟動(dòng)參數(shù)顯式指定-Djava.io.tmpdir到用戶可寫(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í)依賴缺失打包時(shí)沒(méi)帶上javacv相關(guān)jar用maven-shade打包或把依賴jar放進(jìn)classpathNoSuchMethodErrorJavaCV系列依賴版本分裂檢查依賴樹(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)定線程調(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這類帶原生庫(kù)的Java庫(kù)真正決定能不能跑起來(lái)的往往不是Java代碼本身而是依賴版本、原生庫(kù)加載環(huán)境、系統(tǒng)運(yùn)行庫(kù)這些“看不見(jiàn)的底座”。代碼半天就能寫(xiě)完跑通往往要折騰一兩天這是常態(tài)。所以我后來(lái)做類似項(xiàng)目都會(huì)先跑JavaCV官方自帶的示例確認(rèn)環(huán)境沒(méi)問(wèn)題再動(dòng)自己的業(yè)務(wù)代碼。版本依賴固定成一張“已知可用矩陣”全項(xiàng)目統(tǒng)一執(zhí)行真的能避免一大半的啟動(dòng)失敗。希望這篇記錄能幫你少走幾個(gè)彎路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月天伊人| 欧美性Fer办公室秘书| 三级日韩一区二区三区| 91 国产丝袜在线播放-百度| 操逼精品视频| 综合久欧洲| 亚欧国产无码精品在线| 全球成人中文在线| 国产精品久久久久久照片| 午夜在线播放| 亚洲啪啪啪啪视香蕉| 高清不卡视频| 性性久久| 亚洲天天影视综合网| 久久99精品视频| 国产在线视频二区| 91综合色噜噜| 青草成人免费视频一com| 日韩久久.一级黄色片| 日本综合色图| 欧美牲| 欧美日韩精品青青| 91影视亚洲| 熟女一区二区| 欧美另类色| 熟女人妻一区二区三区| 国产专区第一页| 日韩中文字墓| 一本色道久久天天射天天干| 人人看黄色视频| 欧美激情 亚洲色图| 啊啊啊好大好湿| 中文字暮97| 国产乱码久久| 日韩人妻操B| 99精品视频在线观看| 多乙久久久久久| 亚洲激情综合另类男同| 国产精品一区午夜福利| 黄片aaaaa一区| 在线播放一级无码视频| 久久精品店| 91小视频| 狠狠色婷婷| 五月天综合在线| 狠狠色综合网| 韩日精品四区| 五月天久久婷婷亚洲| 日韩性爱啪啪视频| 人妻啪| 国产精品永久免费10000| 欧美日韩性爱电影在线| 亚洲小电影免费涩涩成人在线高清| 日欧操屄| A 天堂在线观看视频| 国产热RE99久久6国产精品首| 99热自拍| 国产欧美一区二区| 欧美日本视频一区| 国产精品网址| 第四色奇米影视777| 亚洲,日韩,欧美,成人播放| 日日操丁香五月天| 国产亚洲色婷婷久久99精品91| 亚洲国产精品久久久久久久久久| 欧美天天综| 久操在97| 2021国产成人精品久久| 人人色人人操在线| 男人的天堂激情| 大香网伊人久久综合网eew| 九九超碰综合网| 超碰在线人人射| 青草草免费网站av| 91xingse| 91N综合网在线| 日日夜夜精品视频| 热九九精品| 91中文精品日韩欧美在线| 色爽——AV| 人妻久久一区二区三区 | 国产成人精品亚洲日本| 91成人国产综合久久精品蜜月| 伊人亚洲综合| 亚洲网站一区二区在线| 97久久久| 九九九九九九九| 久草在线| 日韩另类色图| 91欧美情色| 日韩性爱免费观看视频| 日本天天人人狠狠在线日美女 | 骚逼一区二区| 日韩熟女操逼| 啪啪91| 超碰9 7女人 | 无码男人天堂| 午夜a成v人电影| 69精品人人人人| 久久久成人精品| 亚洲伊人久久综合97| 黄片www.| 五月天人妻综合| 思思热久久成人| 香一区二区三区| 性感美女91影视| 午夜精品久久久久久久久久蜜桃| 国产后入精品| 蜜臀久久久99久久久久| 欧美在线播放aaaa| 精品人妻久久久| 九热视频| 蜜臀久久99精品久久久电影| 五月天偷拍| 亚洲素人综合| 思思热免费视频观看| 日日夜夜模| 久久这里精品国产99丫e6| 9久久精品| 色婷婷五月天| 男人的天堂免费| 午夜丁香婷婷| 伊人九九九| 9久久精品| 国产午夜福利合集| 婷婷丁香六月天| 深夜国产福利| 好舒服视频| 亚洲成人一区二区精品| 国产精品在线一区二区| 国产亚洲精品自在线亚洲情侣| 亚洲综人| 欧美综合自拍成人自拍第二十页| 天天综合欧美| 亚洲视频小说| 人妻在线视频| 亚洲第一视频 欧美风情 日韩| 成人午夜视频免费播放| 国产精品农村妇女| 物尤视频一区二区| 国产探花精品在线| 骚女天天综合网| 亚洲一二三四区机械| 操操逼视频| 国产精品午夜福利视频| 91色艳| 99久久久久久亚洲精品不卡| 老司机免费视频在线91| 97人人干人人操| 另类图片天天影视| 99re8超碰| 欧美亚洲高清不卡| 免费毛片在线播放| 人人玩人人添人人澡免费| 殴洲老熟女| 家庭乱伦网站国产| 欧美+日产+中文| 一区二区三区男女操逼黄色小电影| 日韩无码三级影院| 台湾佬大香蕉| 一本一道久久综合久久| 91新在线欧美| 亚洲,欧美,春色,另类| 色吧5亚洲| 伊人久久蜜月| 97精品国产97久久久| 天美麻花大全视频| 亚洲囯产精品女人久久久| 超碰97人人乐| 国产精品久久久久久久久久久久久久久| 天天躁日日躁XXXXYY| 婷婷综合伊人一区| 超碰97综合网| 亚洲欧美在线综合| 超碰97资源中文字幕| 欧美一级特黄淫片在线观看| 熟人人妻少妇精品久久| 极品后入免费视频| 18岁禁 茉莉成人久久| 亚洲免费看片| 欧美国产日韩清纯唯美| 99热9| 性色AV网站| 欧美激情专区| 精品国产乱子伦一区二区三区,精品一| 色狠狠综合噜一二三区| 亚洲AV免费在线观看| 任你爽视频| 福利伊人玖玖国产| 熟女欧美日韩综合婷婷| 夜夜爽77777| 国产无码一二三区| 在线一道啪| 国产强奸AV在线| 蜜臀va69| 亚洲自拍青操视频| 精品成人女人久久| 91在线/欧洲| 亚洲熟妇熟在线电影视频| 色婷婷视频| 色爱三区| 日日夜夜天天| 天天爱天天韩国日本牛牛牛牛 | 日韩本不卡视频在线观看| 日韩中文字幕宗合在线| 亚洲自拍一区夜夜操| 大香蕉伊人亚洲| 亚洲最大黄网| 青青草精品| 少妇被玩视频二三区| 九九热免费国产视频婷婷伊人| www超碰| 国产无套粉嫩白浆在| 91动漫操逼视频| 黄色大香焦1级‘′‘| 欧美性爱日韩性爱| 717影院理论午夜伦八戒| 国产成人自拍视频在线| 日本大片日本一区二区免费高清| 另类小说五月天| 婷色五月| 欧美大香蕉97| 97在线日韩中文字幕| 视频在线观看青青99国产| 亚洲加勒比色图| 久久人妻熟女一区二区| 精品免费一区二区三区在线亚洲人成| 999久久久九| 午夜天堂网| 青青草大香蕉在线视频| 国产精品久久久999| 人妻大香蕉| 校园春色美腿丝袜| 97啪啪| 成年人黄色视频免费| 国产又色又粗又黄又爽| 美女写真| 97精品久久久久久久| 国产一区二区三区久久精品太古里| 91N综合在线| 欧美日韩美女精品久草一区二区三区| 玖色av| 夜夜爽夜夜| 日韩av不卡在线看| 亚洲操操| 人妻人妻天天碰| 草B在线| 无码人妻精品酒店| 人妻中文字幕日韩电影| 色呦呦、国产精品| 伊人欧美大香蕉视频| 97超碰色色| 中文操嬖片。| 91视频观看网站| 9.1小视频| 亚洲日韩在线a不卡99精品| 性开放中文AV高清无码免费看| 五月天激情影院| 2019天天操天天爽天天拍| 后入日本1234| 国产免a费看黄片在线| 久久性爱视频| 91性| 免费看片黄| av中文在线| 天堂射| 大香蕉久久| 伦伦成年午夜免费视频| 日韩成人色图| 97天天综合| 5278欧美一区二区三区| 9超碰免费| 久久精品国产亚洲AV先锋| 国产动漫操逼视频| 国内97干免费看| 2024黄色视频| 五月婷婷六月丁香| 97伦综合| 日本精品第一视频在'| 久久、1234| 丁香七月婷婷| h在线看免费版在线看| 尤物视频偷拍免费| 久久社区一区二区三区| 呦呦影院| 久久熟女人| juliaann欧美丝袜办公室| 嫖老熟女A片一二三区| 99蜜桃臀久久久欧美精品网站| 东北女人操逼| 另类综合另类| 在线观看不卡一区二区三区| 伊人青青一区成人视频在线观看区| 99热婷婷一区二区三| 国产午夜激片Av毛片不卡| 日本男人插女人的逼黄色| 秋霞免费无码视频日韩A片| 婷婷情色综合网| 欧美日韩亚洲天堂| 久久色激情一区二区三区| **一级毛片国产| 亚洲图片视频小说| 亚洲情色 自拍| 青青草原香蕉日本Ap| 97欧美综合网| 成人毛片免费| av最新免费中文字幕| 九一综合精品视品av| 2024年最新色情网站在线观看| 九九久久首页| 一个国产在线综合网站| 亚洲熟妇综合久久久久久| 黄色大香焦1级‘′‘| 激情文学小说一区二区| 五月丁香啪| 日本精品五区| 97国产天堂岛| 曰韩av中文字幕专区| 亚洲欧美综合图片| 操我啊啊啊啊啊| 国产精品无码成人精品| 亚洲成人色情五月天丁香花| 青青草大香蕉在线视频| 久久人人爽人人爽人人片Ⅴ| 亚洲在线91| 欧美色图私拍91| 日韩成人性爱AV| 97视频播放| 人人澡人人爽人人精品| 日韩国产乱子伦App| 久9久9久9久9久9久9| 久久极品一区二区| 操逼网免费无码视频| 美女91在线| 男人的天堂欧美| 久久精品亚洲成a人天堂| 超碰97综合在线| 殴美综合色88| 国产毛片精品一区二区色欲黄A片| 狠狠久久手机视频精品| 91M一社| 精品国产污一区二区三区| 人人操,操人人| 亚洲欧美黄| 精品国产久久乱码| 台湾肥佬网一区二区三区| 大香蕉丝袜一级片| 最新三级网址| 超碰午夜| 亚洲黄色电影| 99久热精品99re6热| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 久久‘黄片视频| 久久精品人妻一区| 国产精品久久久久9999小说| 日韩欧美中文字| ,国产乱人伦精品一区二区三区| 黄色一区二区秘书性感| 日韩无码视频黄色| 久草新在线| 欧亚揄拍偷拍精品视频| 亚洲第一页欧美| 亚洲综合五月天婷婷丁香| 国产Aα| 在线αⅴ| aa片毛片| 蜜臀久久99精品久久久久| 国产夫妻性生活视频| 久久人爽| 国产亚洲日本| 美美91成人国产精品欧美精品久久久久久久| 日本99视频| 色乱二区| 亚洲综合五月天| 福利在线黄片| 丁香五月婷婷基地| 久久精品国产亚洲AV成人直播| 亚洲精品乱码线路中文字幕| 2018天天干在线视频| 囯戸精品高潮呻吟旡码| 欧美综合娱乐久久| 超碰成人公开| 国产三级多多影院2022国产AA一级毛片无码 | 青青免费在线视频一区| 岛国黄片网站| 国产高清26uuu| 亚洲精品乱码线路中文字幕| 国产精品爱欲| 久久性爱网站| 蜜桃无码AV一区二区| 3p国产色噜噜一区| 久99视频| 99青草| 国产白领连续中出在线观看| 九一亚洲国产免费| 99蜜桃臀亚洲成人在线观看| 男人的天堂日本东京热| 超碰97人人乐| 亚洲天堂一区| 超碰免费人妻人人| 亚洲一卡2卡3卡4卡乱码网站 | 呻吟 欧美 日本 中出| 国产热av| 亚洲情色 欧美| 亚洲激情片| 日本性交操一区二区不卡系列| 国产无码高清操逼视频| 久久久无码av精| 伊人99热| 东北女人的毛片| 亚洲 欧美 综合 91| 欧美91色| 亚洲超碰97| 久久久精品91八戒| 99ri在线视频| 极品后入免费视频| 国产精品农村妇女| 亚洲一区二区三区中文字幕| 人人插人人搞人人操| 亚洲第一页色| 97超碰超欧美。| 天天综合网~91| 天天操人人操狠狠插| av日韩在线观看电影| 国产刺激视频| 亚州男人的天堂| 91亚洲网站| 性暴力欧美猛交在线直播| 国产一区二区三区精品观看啪| 啊啊啊不要好疼视频| 婷婷情色五月天| 大香蕉草草| 韩国一级婬片A片无码天美| 99热超碰在线| 亚洲 中文 欧美 日韩 在线| 伊人网免费视频| 天天日天天色| 综合九九| 国产精品一区二区校花| 亚洲欧洲美腿丝袜| 东京热91| 国产热RE99久久6国产精品首| 中文字幕免费观看| 草草草草视频| 五月丁香色色网| 日韩精品三级片长长久久| 好色综合| 婷婷五月天补不补| 欧美一级二级三级| 黑人黄片在线免费观看| 啊啊啊啊在线播放| 无码av永久免费专区网站| 亚洲精品丝袜| 久久久久久久久久9| 中文字幕av亚洲在线| 综合色拍| av最新免费中文字幕| 亚洲91网。| 亚洲学生妹高清av| 久久天天性久久伊人| 色悠悠伊人网五月天| hd成人一区二区在线| 久久久久久久久久久999| 大学生美女口爆| 国产剧情一区在线观看| 黄页| 五月色丁香| 91精品久久久久| 丝袜大香蕉| 2017天天操天天日| 激情久久av一区av二区av| 蜜桃精品一区二区三区久在线| 丰满人妻一区二区三区四区| 日韩不卡码| 欧美综合娱乐久久| 日本精品九九九| 激情干在线| 中出人妻中文字幕91在线| 国产精品久久久久久久毛片1| 日韩电影天堂视频二区三区| 亚洲精品天堂久久A∨51成人漫 | 人妻系列无码专区中文有码| 欧美综合色综合| 国产在线视视频有精品| 啊啊啊啊好爽好舒服一区二区易域| 天天综合色| 中文久久久| 久久久不能久久久久| 欧美18 在线观看| 超碰天天操| 欧美黑人精品一区二区| 78超碰| 91色黑人少妇| 国产精品自拍欧美在线| 好爽视频在线观看视频| 日本啊啊啊啊啊视频| 性开放中文AV高清无码免费看| 在线播放中文字幕| 欧美另类色图片| 国产又猛又粗又爽又黄| 精品久久久一本一道| 色欧美天天| 日本日逼高清| 亚洲欧美日韩不卡人妻| 久久最新视频免费观看| 人妻aa| aa片毛片| 欧美专区17页| 国产熟女一区二区丰满| 欧美成人性爱视频大全| 免费岛国一级片| 日本熟妇色熟妇在线视频播放| 大香蕉五月天婷婷| 91东京热男人的天堂| 日本一二三免费久久| 九九九久千久久激情蜜桃在线看 | 色老汉色| 婷婷伊人綜合中文字幕小说| 久久久久久电影| 蜜臀99久| 在线小视频| 97 亚洲 日韩 欧美 在线| 亚洲中文国际强奸字幕 | 久久人人爽爽爽人久久久| 美女操逼福利视频| 18啪啪手机免费性爱| 不卡视频一区蜜桃视频| 日韩色女精品| 99综合自拍| 亚洲日产专区| 91丨九色丨国产打屁股| 91成人久久| 精品无码一区二区三区| 啊啊啊啊操死我| 国产av色网| 亚洲精品1区| 青青草在线视频人人想人人上| 婷婷丁香五月激情啪啪| www.91理论| 岛国小电影| 午夜一区| a级理论午夜日本| 成人免费看吃奶视频网站| 东京热一区二区中文字幕| 国产麻豆91欧美一区二区久久婷婷国产精品| 精品人妻一区二区乱码一区二区| 五月天黄色av| 中文字幕一区 二区三四五 区日 日骚| 18禁超污无遮挡无码免费网| 国产女人与拘做受视频免费| 日本性爱欧美性爱| 人人操人人爽人人操人人| 熟妇熟女一区二区三区| 黄页| 国产精品国产精品国产| 超碰九7| 91 丝袜在线播放| 试看日韩黄片| 被操高清无码视频| 呦呦影院| 嫩呦国产一区二区三区AV| 亚洲av国产av综合av卡| 69少妇一区二区| 免费一级精品啪啪视频| 黄色AAAAAAAAAAA大片| 亚洲精品国产专区在线观看| 欧美人与性动交a美精品| 午夜亚洲国产理论秋霞| 亚洲精品无码久久AV| 青青操综合网| 婬女免费一二三区A片| 欧美很很操视频| 爱我干综合| 日本三级久| 91欧美偷拍| 操一区| 美女丝袜激情小说| 欧亚 另类 久| 91社区伊人| 国产精品福利视频播放| 久久久久成人亚洲国产| 五月花婷婷| 一区二区三区网站日日骚| 国产污视频麻豆传媒一区二区| 久久爽爽精品| 蜜区区视频79| 尤物av网站免费在线播放| 国产一级137片内射麻豆| 亚洲成人性爱在线观看| 日韩人妻精品久久久久| 超碰人妻中文在线| 9久9久9久9久视频网站| 手机看片91人妻| 丝袜剧情| 混色激情av| 亚洲天堂日本| 欧美懂色综合网| 少妇啪啪自拍| 国产精品麻豆成人AV艾秋| 国产午夜视频| 久久国产精品一区二区| 97资源视频| 大香蕉伊人久久| 久久久穴999| 美女t无毒不卡不卡| 100啪啪视频大全| 国产又操| 日本一天色道久久久精品视频| 国产91丝袜 在线播放| 日韩操逼HD| 国产一区二区三区中文字幕| 另类专区加勒比| 亚洲av噜噜噜噜噜噜| 激情接吻视频久久久久久| 怡红院视频在线| 91N综合网在线| 尤物av网站免费在线播放| 国产 丝袜 欧美中文 另类| 成人女人国产| 国产精品白丝| 九九AV| 97天天在线| 国产在线观看91精品一区| 6080yy午夜理论三级一区二区三区无码| 狠色婷婷久久一区二区三区_| 国产h小视频在线观看免费| 柠檬AV导航| 韩日精品福利视频一区不卡在线免| 91中文字幕| 97色色色| 性欧美999| 激情五月天社区| 亚洲污污网站| 八戒无码国产午夜福利| 久热色情精品| 亚洲色91| 东京太热久久久| 老熟女综合| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 370p日韩欧美亚洲精品| 狠狠干精品一二三四五六2022| 久操免费观看| 激情五月天色播| 欧美亚洲中文字幕| 亚洲色婷婷| 欧美成97爱| 好吊妞转入那个网| 中日韓欧美高清| 91婷婷伊人狠人| 97干在线| 欧洲中文字幕| 色屁屁影院www国产| 久久精品老司| 日本三级一区二区 在线| 亚洲一二三| 国产中文精品一区二区在线观看| 综合91网| 国产真实野战在线视频| 哑洲在线| 天天插天天射| 超碰色综合| 麻豆国产av网| 国产操伦| 九九久精品| 99色综合| 国产丝袜欧美在线视频| 91美女色视频亚洲| 免费人成?大片在线播放| 天干天干天干天天做| 26uuu欧美| V A在线| av一区二区三区四区五区久草臀| 国产高清免费不卡av| 欧美色道啊| 人人色97| 日韩性爱视频在线免费观看| 欧美高潮| 日本91白丝| 偷拍三区| 亚洲色图欧美色18直播在线| www老逼91| 国产亚洲精品美女久久久久久2021| 国产一| 五月综合色| 东京热视频网| 夜夜精品视频一区二区| 在线啊啊啊啊| 少妇高潮对白在线观看| 热热色中文无码| 99综合自拍| 亚洲黄色影视| 亚洲欧洲无码bt精品合集| 色亚州人久干视频在线观看免费版| 啪啪综合网| 超碰人人操97碰| 精品一级| 婷婷久草| 亚洲中文字幕乱码无码一区二区| 国内毛片国产专区二| 久久久999| 一本一道久久综合久久| 色第一页| 啊啊啊啊一区| 中日韩欧美精品无码AⅤ一区二区| 91五十路| 精品大全99999| 青青草色情网站视频| 亚洲va综合va国产va中文| 国产日产精品久久快鸭的功能介绍| 91色亚洲| 免费国产| 欧美色图91p| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 欧美色干| 久久久免费的精品| 国产亚洲精品久久久久小| 男人综合网| 亚洲日本大香蕉1| 黑人与人妻| 欧美九九99久久精品| 99色综合| 91精品黄在线观看| 视频分类 国内精品| 日韩av不卡在线看| 日本羞羞的视频在线播放| 大香蕉淫人| 自拍啪啪视频| 91网站18+| 啊啊啊啊啊啊啊在线| 大香蕉一人在线| 婷婷五月天久久精品视频一区二区三区| 日本三级黄页| 婷婷五月影院| 色五月综合| 久99| 九九成人| 韩国久久97| 禁片 高清 在线观看视频网站| 久久亚洲av成人无码国产| 日本精品不卡一二三区| 欧美日韩国产中文精品字幕自在自线| 久久久久亚洲AV无码专区少妇| 大香蕉一区二区在线观看.| 乱伦一二三区| 亚洲精品一区二区精品| 无码外流操逼视频| 神马久久久久久伦理片| 性色av蜜臀av色欲aV| 国产www色在线观看| 欧美经典一区二区三区| 亚欧成人中文字幕一区| 久精品无码av一区二免费国产在线观看 | 91 刺激在线| 天堂精品在线| 久草视频制服诱惑| 大香蕉99热| 日韩精品电影| 人妻丰满熟妇av无码区蜜桃| 91熟女网| 色呦呦国产精品免费看| 在线观看免费视频国产| 熟女色综合久久| 色九月婷婷| 亚洲情色五月天| 久久国产对白激情浪潮| 欧美色图在线视频少妇| 日韩欧美女求操每天更新| 男人的午夜天堂| 男女啪啪网站免费视频| 福利社区午夜一区二区| 欧美色综合影院| 日韩亚洲美女一区久久| 久久中出在线| 东京热,男人的天堂| 伊人99热| 少妇极品熟妇人妻无码| 综合熟妇一区二区三区| 综合网欧美| 亚洲啪啪视频一区二区| 天天流夜夜操| 久噜噜| 人妻天堂网| 亚洲精品国产无码高清| 91人妻PORNY九色大屁股| 人妻在线臀日韩| 亚洲色棕合| 欧美Ⅴ性爱| 91呆哥人妻| 精品无吗久久| 人妻丰满熟妇av无码区蜜桃| 色综合国产在线观看| 欧美性爱在线无码| 美女97超碰| 2017,超碰| 啪啪AV导航| 真实高潮91| 亚洲综合嫩| 色色色色日本| 欧美成不卡网| 1024精品在线| 性爱乱伦网址| 少妇极品熟妇人妻无码| 国产精品扒开腿做爽爽爽视频| 国产亚洲精品美女久久久久久2021| 天美AV片| 凹凸 69堂 在线播放| 国产亚洲女v在线观看| 无码一区二区三区四区五区六区七区八区九区十区视频 | 成人八戒网站| 加勒比综合九九99视频在线播放| 999精品女人| 熟女视频久久| 国产亚洲一黄| 91精品国| 久久久久久性爱视频| 性性久久| 98超碰日本| 按摩中文字幕| 无遮挡一级毛片视频免费的| 欧美天天性| 国产免费一区在线观看| 大香蕉青青9| 免费人成在线观看网站品爱网| 日本久久久久久久久| 99热一区二区三区四区| 免费综合亚洲中文| 一区二区三区四区在线不卡| 天堂а√在线最新版在线| 日韩紧密久久| 久久久性| 九九玖玖精品| 国产在线观看一区二区三区| 欧州色图区| 久久系列| 亚洲有薄码区日本系列中文字幕| 婷婷激情四射| 九九九九九九九精品视频| 久久久久久久久久久久色网| 丁香五月电影| 蜜臀99久| 九月丁香婷婷| 国内亚洲高清无码| 日韩精品人妻中文字幕久久久| A片A5445444| 人妻 欧美 中文| 欧美 日韩 亚洲 春色| 小骚逼被操的爽不爽| 一线黄色免费性爱片| 超碰97在线中文| 中文字幕精品资源在线| 992视频一区| 日韩国产品视频中文字| 老司机午夜精品视频| 白丝jkav| 91在线精品| 久夜操| 美女露胸露尿口| 国产 亚洲 一二三四| 91欧美性| 九九aV| 欧美日本成人一区二区| 国产精品。| 网页导航五月天免费一二三区| 欧美性第1页| 天天色悠悠激情| 日日操免费视频| 亚洲大色鬼| 少妇二级| 精品高清一区二区三区三州| 97视频免费在线| 国产欧美第五页| 97人人夜夜精品视频| 人妻喷水| 97一区二区蜜臀| 精品一区二区成人| 丝袜综合网| 久久国模av| 综合网色| 亚洲无线码欧洲精品区别| 青青草导航在线视频| 另类综合另类| 狼狼色丁香久久婷婷综合五月| 97久久超碰日韩精品| 精品久久久久黄少妇| 操屄不卡视频| 明星性猛交ⅹxxx乱大交| 久久久成人精品| 日韩人妻操B| 久久99午夜精品一区人妻| 亚洲 暴爽 AV人人爽日日碰| 欧美青青草视频| 97国产精品国| 欧美性爱在线无码| 自拍偷拍亚洲熟女妇人精品 | 草草影院最新网址| 欲香欲色综合天天伊人| 亚洲熟久久| 清清一区二区三区四区不卡视频| 国产精品自拍欧美在线| 国产精品直播在线观看直播| 一卡二卡三卡| 动漫av中文| 国产精品久久久久绯色| 九九人人操| 国产精品蜜乳AV| 精品美女久久久久| 天天综合97| 欧美日韩小说| 亚洲图片偷拍欧美| 夜精品久无码| 欧美精品 - 91爱爱| 亚洲图片欧美91N| 国产免费一区在线观看| 日本免费专区| 精品人妻中文字幕4399| 草草草视频在线免费看| 美女啊啊啊啊啊啊| 91高清日| 欧美日韩国产精品久久色婷婷| 粉嫩AV一区夜夜嗨| 亚洲 图片 欧美 色图| 人妻天天夜夜爽一区二区| 99天堂网| 久久久久9| 97最新在线播放视频| α√在线| 国产亚洲精品美女久久久m| 在线岛| 中文字幕日韩精品久久| a片在线播放| 色吧5亚洲| 翔田千里AV无码秘 三区| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 国产美女高潮视频| 97资源站国产精品| 这里都是精品| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 日本五十路熟女一区二区| 97在线精品观看视频| 中文字幕日韩人妻视频| 中文字幕精品一区欧美| 人人看人人爰人人操| 成人七区| 欧美自拍偷拍免费观看| 国产视频一区二区免费| 91啪啪视频| 国产精品色色| 人妻天天操天天爽视频免费| 欧美少妇大量自拍视频在线观看| 中文字幕91综合| 中文字幕少妇色| 最新精品久久蜜桃 | 肥臀熟女福利视频一区二区| 校园春色亚洲欧洲| 女人的天堂大香蕉网| 97超碰中文| 91欧美www| 超碰97亚洲| 热无码中文亚洲H一道本一区二区| 麻豆国产视频精品观看| 玖玖玖玖精品国产剧情| 午夜大香蕉| 亚洲国产剧情少妇激情| 夜夜 中文视频rt| K8久久久久| 国产精品ww久久| 免费公开人人操| 九九aV| 女人妻一区| 日本熟妇色熟妇在线视频播放| 夜夜精品视频一区二区| 亚洲国产综合图区中文字幕| 八戒午夜福利理论片| 牛黄色久午久| 啊啊啊啊啊啊啊国| 日日骚精品视频| 极品色综合| 国产日产精品久久快鸭的功能介绍| 亚洲 欧美日韩 另类| 日韩另类色图| 日本新免费二区三区| 视频二区美腿制服人妻欧美| 大香蕉免费3| 影音先锋中文字幕日本好一区二区| 人人人人人人少妇| 在线情色电影 91大 | 精品无码一区二区人妻久久蜜桃| 久久中文字幕在线观看| 欧美精品日韩久久久九| 91美女中出| 久偷拍欧美日韩三区| 国产综合久久久麻桃个| 国产精品无套内谢| 欧美中文字幕男人天堂久久精品 | 国产捆绑一区| 国产AV高清AV无码| 97天天综合网| 91精品人妻一区二区三区蜜臀| 嫩草在线视频| 后入美女国产| 久久久免费视频18| 韩国手机不卡无码三级视频| 婷婷在线播放| 97精品视频在线播放| Av手机版天堂网| 中文字暮97| 怡春院久久| 国产精品婬乱一级毛片彝族| 久妇网| 青草地一本线一区二区三区| 成人激情无码在线视频| 国产日韩精品一区二区三区| 大香久久| 亚洲乱熟女一区二区三区大香蕉| 欧美日韩亚洲高清不卡一区二区三区| 97视频免费播放| 97人人模人人爽人人| 91精品免费| av天堂天堂av日韩| 69精品人人人人| a片久久久久久久久久久久| 婷婷五月丁香五月| 一区二区三区精品久久| 天天日天天屌天天操| 91久久免费视频互動交流| 亚洲影视综合网| 不卡视频一区蜜桃视频| 丁香九月激情啪| 久久九九精品一区二区| 精品国产乱码久久久久久口爆网站| 一区| 人妻一区二区三区视频| 九月AV| 99久久精品无码一区二区毛片免费 | 天天综合麻豆视频| 色色色色日本| 麻豆国产成人精品| 东北丰满熟女国产一区| 欧美97视频| 亚洲精品无码成人久久久99| 91nbbbbbb| 国产精品探花视频| 美女骚尻视频| 乱色视频中文字幕| 东京热毛片调教| 丁香五月偷拍| 国产三级片在线观看| 欧美亚洲综合色| 91夜色| 自拍欧美| AV网站高清无码在线观看| 99久久9| 操逼日韩无码| 熟妇色99| 青青草吊丝| 在线免费观看日韩一区| 91美女国产在线| 99久久网站| 91亚洲综合| 国产青视频| 全免费a敌肛交毛片免费| 国产自偷| 亚洲 欧美都市激情| 性色AV蜜色av色欲av| 嗯嗯啊好大| 亚洲国产欧美中日韩成人综合视频| 91中出视频| 怡红院怡春院| 久久久久久国产手机AV| 中文字幕一区二区三区人妻不卡| 久久久久久亚洲精品不卡人乳| yw尤物av无码点击进入麻豆| 成人精品一区二区三区| 国产日本久久免费精品| 亚洲国产97| 嗯嗯啊好大| 婷婷五月天成人| 人人干黄色| 亚洲色棕合| 日本超碰在线国产一区| 日韩字幕一区| 国产又长又大又粗的视频| 一区二区 韩日AV| 97人人夜夜精品视频| 欧美中日韩XXXX| 91久久18禁| 免费精品99| 亚洲第一精品在线视频| 欧美激情在线观看视频| 天天舔九色婷婷| 五月综合色| 先锋激情∨在线视频播放| 91狠狠综合久久| baiduhicn.com。| 天美传媒一二三区永久网站| 国产探花精品在线| 亚洲欧美高清| 伊人午夜福利视频| AV高清一区| 五月婷婷啪啪| 日韩 欧美 视频 在线 一区| 亚洲综合首页| 亚州精品人妻一二三区| 亚洲色9| 亚洲天堂电影精品一区| 欧美性爱1080p| 偷拍精品一区二区三区| 天天影视综合色| 校园春色中文字幕AV| 成人AV素股で擦久久| 婷婷久久大香蕉| 欧美性爱1080p| 91丨九色丨国产丨人妻在线 | 国产精品亚洲一区二区三区四区| 亚洲AV成人精品网站在AV| 亚洲黄色| 中日韩久久久免费看| 亚欧美综合网。| 夜夜嗨av午夜成人| 97久久资源| 九九色色| 中文字幕黄色片| 精品国产乱码久久久久久口爆网站 | 91人妻中文| 成全在线观看免费观看| 日本精品一级二级三级| 变态综合色| 久九九九九九九九热| 精品女同一区| 天欧美在线| 国产久久成人| 青青爽| 亚洲国产第一页综合视频| 日韩不卡毛片Av免费高清| 无码人妻精品一区二区中文| 岛国免费视频在线| 一级毛片电影免费看| 五十路三区在线| 91天天综合日韩欧美| 久久久久女教师免费一区| 午夜经典| 91丝袜人妻| 欧美色97| 色色九区| 久久色精品视频在线| 射综合网| 三上悠亚在线毛片91| 在线a亚洲视频播放在线| 欧美亚洲高清| 亚洲一区二区三区在线激情| 欧美精品三级黄片| 国产精品不卡高清在线观看| 百度百度日本操逼| 国产精品黑人一区二区三区| 9国产超碰| 日韩性爱毛片操骚逼| 26uuu国产成人综合| 国产精品免费视频人成| 超碰99热| 欧美日韩色图片|