亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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ò)位靜默翻車的第一大元兇除了加載機(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è)專門的可信目錄例如-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
返回資訊列表
久久久久久亚洲精品不卡人乳| 日日碰视频网| 亚洲男人天堂网久久| 0755午夜福利视频| 静品嫩模一区二区| 中文字幕激情小说| 青青11操操操操操操操操| 精品人妻丰满熟妇一区二区三| 91丨熟女丨丰满熟女| 啊嗯嗯啊好大好爽| 好吊色在线观看| 97国产人人| 亚洲狼狼干综合1| 在线观看一级α片刺激高潮视频| 无码不卡八戒| 日韩在线电影| 久久一留热品黄| 国产精品人人爽人人做可爱福利| 男人的天堂Va| 青青草在线视频欧美| 色婷婷视频| 天天草AV| 樱花草社区www中国| 黑人黄片在线免费观看| 欧美特大AA级黄片| 人妻少妇久久中文字幕一区二区 麻豆 | 一本正道久久熟女| 污污汅18禁网站在线永久免费观看| WWW美腿丝袜香蕉中文| 久久九九网| 91综合色| 国产精品4p在线观看| 久久免费少妇| 超碰伊人在线| 色悠久久久av| 丝袜视频网国产90| 亚洲少妇激情一区二区三区| 日日躁夜夜躁狠狠躁超爽| 亚洲999综合| 亚洲天天艹| 亚洲无码久久久久久久| 亚洲成人美女无吗| 亚洲AV无码黄色强奸| 亚洲97资源| 美日韩一二三区| 欧美色偷拍| 97天天爽| 人妻无码久久一区二区三区免费| 啊…啊…操我用力操我| 欧美日韩操逼嗦吊| 亚洲欧美国产成人综合不卡| 亚洲乱熟女一区二区三区大香蕉| 欧美一级A一级a爱片久久| 国产精品久久久久久久免牛肉蒲团| 黄页大片在线观看| 久久伊人网视频一区二区三区| 你草精品在线视频| 麻豆尤物视频网| 欧美第二页| 亚洲男人综合| 中文字幕aⅴ在线视频| 在线强奷到舒服的无码视频| 婷婷五月天成人网| 懂色AV一区二区三区| 啊啊啊啊啊啊啊国| 很黄很污的免费网站| SS久久| 熟女一区二区三区四区| 亚洲图片激情小说| 超97在线精品视频| 欧美少妇一区二区三区| 免费草草草草草视频| 超碰美国| 久久肏大逼| 人人艹亚洲| 黄片qw| 日本性爱视频一级| 色综合一本| 一区二区中文| 999国产精品999| 日韩av熟女一区二区三区成人| 久久免费精品96| 午夜传煤十二区精品| 人妻一区二区三区四区视频| 牛牛aV| 91 手机在线播放 绯色| 天躁夜夜躁2021| 欧美大香蕉久| 欧洲久久一二线| 91国产伊人大香蕉| 老司机深夜18禁污污网站| 内射老妇BBWX0C0CK| 青青草丝袜在线视频| 色av中文字| 国产在线激情| 夜夜影视四色| 日日干夜夜欢| 黑人美精品 A片| www黄片免费看com| 亚洲双插| 99无码狠狠久久| 免费黄色A片| 极品后入免费视频| 久久精品人人做人人看| 九九热五区| 日日爱99| 亚洲国产剧情少妇激情| 丁香婷婷五月| 欧美色图成人网一区二区 | 欧美精品成人一区二区在线观看| 91操碰| 黄色成品网站| 国产成人在线观看网址| 久久久人体| 亚洲人妻五月丁香婷婷| 青青操青娱乐| 亚洲国产另类在线中文| 丰满少妇一区二区三区专区| 欧美在线啊啊| 国产无套粉嫩白浆在| 日韩欧美丝袜诱惑| 久久永久无码人妻视频| 亚洲精品1区| 性爱视频无打码在线观看| 久久精品一区| 国产午夜在线观看视频| 伊人991| 久久嫩草| 在线天堂999| 思思热一热婷婷热一热| 男插女青青影院| 7月婷婷综合| 久久久精品中文字幕爱豆| 精品十三区| 18禁精品网站在线看| 麻豆精品三区视频| 99综合视频一体| 中文有码9| 91美腿丝袜在线观看| 91午夜无码| 东北操逼| 婷婷月色| 九九亚洲色在线观看| 国模无码一区二区三区在线| 漂亮人妻被强中文字幕hd| 九月色婷婷| 免费草草草草草视频| 久久久久久久国产视频| 97 九色| 综合影视国产无码| 欧美日韩资源| 亚洲综合色男人网| 亚洲 日本 国产 综合| 宅男91视频在线播放| 伦激情人妻另类人妻| 国产乱人妻精品入口| 99热在线观看| 日韩精品资源专区二区| 超碰97在线中文| 91久热这里只有精品| 视频在线观看免费一区二区三区 | 操逼啊啊啊91| 免费AV中文网在线观看| 国产青青综合伊人| 成人女人国产| 91精品大奶人妻| 日本视频在线中文字幕| 大白逼三四级| 2024人人操人人摸| 日本成人A片网站| 新怡红院| 欧美亚洲综合999| 青青操青娱乐| 国产精品自产拍在线观看社区| 日韩欧美性吧婷婷乱伦大香蕉| 青青草狠狠撸| 欧美少妇内射| 99青青草国产视频| 欧美精品在线观看| 偷拍欧美综合| 青青草日韩无码| 自拍偷拍 日韩无码| 国产福利视频精品视频| 亚洲欧美日韩免费观看| 精品人妻一区二区三区四区| 久久久性少妇| 九九av| 日逼五月天| 6080yy午夜理论三级一区二区三区无码 | 操逼日韩无码| 亚洲二区精品在线观看| 伊人影院综合是一个与深夜成人在线| 亚州,欧美在线| 久久熟女久| 欧美亚洲厕所精品偷拍91| 国产综合操逼高清| 蜜桃av综合网发布| 亚洲国产欧美中日韩成人综合视频| 天堂俺去俺来也www久久婷婷| 中文字幕在线第二页| 骚熟女吞| 久久久国产精品亚洲精品| 亚洲AV高潮| 荡小穴在线观看| 激情一区二区三区在线观看| 920日本午夜免费| 中文字幕av亚洲在线| 91艹B视频| 欧美一二三级精品在线| 精品日韩人妻视频| 亚洲欧美在线观看无码| 中文字幕乱在线伦视频中文字幕乱码在线 | 色网站导航大全| 亚洲91色| 日韩欧美亚洲自拍偷拍| 日本熟女不卡视频| 亚洲成熟国产精品美女| 久久婷综合| 9/A片| 91中文精品日韩欧美在线| 欧洲亚洲人妻无码中字久久三区四区| 亚洲网污污污污| 精国久久一区二区三区98| 美女91av| 精品玖九九久| 国产午夜精品理论片一二三区区| 99色热国产视频精品| 破苞ⅩXXX性无码动漫无码| 破苞ⅩXXX性无码动漫无码| 91丨九色丨东北熟女| 草草影院在线视频| 日日夜夜国产综合| 欧美九一精品久久久熟妇| 亚洲清纯综合| 日本高清免费一本视频在线观看| 精品成人亚洲午夜电影| 色婷网| 长长久久曰曰夜夜成人网| 后入人妻一区| 久久久三区二区一区| 亚洲熟妇A V黑人| 亚洲男人综合网| 淫穴高潮色图| 91久久九九精品国产综合| 99精品视频在线观看免费| 国产懂色精品国产av| 天天天天干| 色天使大香蕉| 后入式福利| 欧美成人一级麻豆| **一级毛片国产| 久久免费中文字幕在线观看| 亚洲日韩狠狠撸视频| 亚洲男人综合| 丰满人妻一区二区三区| 欧美极品色| 亚洲天天操| 久久久久亚洲Aⅴ无码| 亚洲乱色视频一区、二区在线| 免费97视频| 精品性爱| 天天爱天天操| 久草老司机| 免费AV中文网在线观看| 涩五月婷婷| 蘋果手機免費看成人Av| 中文字幕高清精品一区| 青青草伊人久久| 精品久久久久综合无码| 99操逼| 超碰久在线天天做| 操www| 夜夜一区二区| 999色欧美中文字幕| 干干干天天| 亚洲美女 晚间男人天堂 | JULIA一区二区三区在线播放| 1024亚洲中文字幕久在线看片你懂的 | 欧州一区二区三区四区| A V少妇特黄三级| 日韩欧视频| 精品伊人久久久大香线蕉小说| 伊人色综合超碰| 久久精品国产亚洲粉嫩| 91九九| 有码专区最新中文字幕有码| 97最新在线播放视频| 怡春苑东京热| 国产黄片精品在线| 操b网站亚洲无码| 亚洲成人精品在线一区| 日韩熟女精品无码专区一区二区 | 日韩丝袜人妻AV| 亚洲se91| 男人亚洲91首页在线| 清纯唯美综合亚洲| 欧亚综合一卡二卡中文字幕| 91亚洲人| 色综合中文字幕不卡| 日本精品五区| 国外91| 色官网在线| 综合熟妇一区二区三区| www色色com| 日韩欧美女求操每天更新| 五月天偷拍| 老熟女91视频| 欧美 青青草| 久久精品国产亚洲妲己影视| 欧美日动态视频| 日本操色导航| 人人九九精| 91色婷婷综合久久中文字幕二区| 火箭成精品视频884必出精品| 久久精品小视频| 视频一区二区免费在线| 久久综合av| 精品久久久亚洲AV成人网站| 成人性生活高清视频在线播放| 青青草日本无码| 黄片视频观看| 97久久国产亚洲精品超碰热| 婷婷色色网| 欧美精品二区视频在线| 97伦乱| 97色碰| 狠狠久久手机视频精品| 精品妇操一区二区三区| 99re8超碰| 精品v日韩欧美国产| 最新制服中文第一页| 伊人青青一区成人视频在线观看区| a片 xxxx受爽视频| 亚av顶级裸体一区二区三区四区五区| 丁香六月婷婷综合| 国产对白刺激视频| 欧美性高潮| 四虎视频在线观看| 好吊色在线观看| 日韩性爱视频在线免费观看 | 综合色99| 蜜乳Av成人片网站| 女沟厕偷窥piss小便| 97爱碰| 好吊妞转入那个网| 18禁超污无遮挡无码免费网| 人人做,人人操,人人摸| 中文字幕乱亚洲美女精品一区| 成人综合视频久久| 亚洲综合小说另类图欧美视频激情小说色五月天 | 亚洲无码一二三区| 中文字幕日韩电影人妻| 五十路三区在线| 制服诱惑亚洲一区二区三区在线观看| 中文字幕一区二区三区蜜臀| 秋霞视频一区二区 | 日本有码影片下载 | 亚洲风情在线观看| 国产精品色约约| 大香蕉伊人在线成人AV在线观看| 99热这里| 91久久久久久| 爱媛媛久久国产福利| 日韩av不卡在线看| 久久久一区二区三区三州| 91综合网站| 久久精品一区一起草| 91麻豆一二三区| 上床不卡网站| 久插综合| 久久国模av| 色av中文字幕| 久日综合网| 国产精品suv一区| 9久久9综合| 天美国产三级传媒| 欧美色棕合| 涩五月婷婷| 99热这里是精品| 久久XX| 极品极品色影院| 国产第25页在线观看| 一级特黄aaa大片在线观看成人一级片在线观看| 夜夜精品视频| 欧差乱伦二三| 国产二区三区免费视频| 欧美性生活免费网| 天天操夜夜嗨| 在线国产探花| 亚洲午夜AV| 欧洲色色| 日韩熟女精品无码专区一区二区| 国产性感在线观看| 日韩丝袜高跟制服在线观看| 国产精品粉嫩福利在线| 91美女视频直播| 麻豆熟妇乱妇熟色A片在线看| 麻豆天美在线| 国产中出内射一区二区| 嫩草一区二区在线观看| 91超级碰碰| 欧美专区第一页| 黄网站黄视频网站进入口| 97超碰免费人人性爱| 视频在线观看青青99国产| 在线天堂资源亚洲| 十八禁视频一区二区| 亚洲天堂AV在线播放| 久久精品国产72国产精品福利| 国产精品亚洲一区二区三区四区 | 天天做天天爱| 99久久精品无码一区二区| 在线国产探花| 99蜜桃臀亚洲成人在线观看| 天天综合~91| 青青草毛片| 顶级丝袜熟女一区二区三区| 五月开心网| av情色影音| 亚洲第一男人天堂| 翔田千里无码一区| 99热欧美| 欧美人妻色| 18精品一二区| 国产精品无套内谢| 久久综合日韩亚洲欧美| 亚洲天堂久| 国产真实子伦对白| 性色av婷婷久久一区二区点复制| 91 国产丝袜在线放观看| 激情综合网一盗摄| 性无码专区2020| 欧美一区二区三区日韩| 国产精品密臀网在线观看| 精品97久久| 日韩人成网站在线播放| 欧美 亚洲 大香| 91亚洲黄色网| 岛国片国产成人亚洲播放| 97人肏| 蜜桃午夜视频一区二区 | 久久亚洲精品成人av| 99re8超碰| 五十路三区在线| 欧美亚洲中文字幕| 亚洲精品一区二区免费在线观看| 热思思免费视频| 婷婷色网| 99999久久精| 色婷婷九月天天综合| 国产AV人人 夜夜人人澡| 丰满人妻-区二区三区| 亚洲砖码砖专无区2023| 青青草日本中文字幕| 97免费视频在线观看| 97人人模人人爽人人| 久久一本大香蕉| 日B操| 婷婷久草一区二区三区| 亚洲自拍小说| 一起草AV| 韩日欧亚a级| 在线性黄高清免费视频| 日韩欧美~中文字| 国产尤物AV尤物在线观看不卡| 97视频620| 久久久精品91八戒| 大香网伊人久久综合网eew| 中国一级αV| 97色五月天完| av网站在线看| 色综和网| 激情视屏国产乱伦强奸| 大干人妻| 99热免费| 日本一级真人黄色性爱视频| 蜜桃久久久久久久| 国产精品麻豆免费视频| 少妇色综合| 视频在线观看免费一区二区三区| 99热8| 丁香五月激情综合国产| 久久精品国产亚洲av水密被窝| 99国产精品视频尤物| 都市激情人妻一区二区青青操视频 | 黑操B| 麻豆天美一区二区| 大香蕉天天看妹子| 亚洲三区视频| 欧美肥臀在线| 人妻在线臀日韩| 99视频这有这里有精品| 碰超人人在线一区二区三区| 亚洲图片欧美在线视频| 亚洲欧美天堂| 伊人991| 国产精品久久久久久久久AV大片| 国产综合久久久麻桃个 | 2023天天操夜夜操| 免费成人在线熟妇网| 欧美 亚洲 偷拍自拍| 日韩精品一二三| 在线 亚洲 网爆 自拍| 国产三级中文有码在线视频| 欧美不在线| 久久大线蕉一区| 婷婷天堂站| 色吧5亚洲| 岛国不卡超碰护士AV在线播放| 欧美黄片视频在线观看免费 | 激情久久久| 亚洲AV无码乱码| 人妻蜜桃臀| 色哟哟-国产专区| 狠狠色狠狠色狠狠五月| 97天天日| av2014 日韩在线中文字幕| 密臀在线免费观看| 欧美啪啪女女| 天天激情综合站| 97资源站日韩| B049AV在线播放| 亚洲综合小说另类图欧美视频激情小说色五月天 | 天天干人妇| 男人女人18禁片免费看网站| 另类欧美综合| 欧美国产操逼| 夜精品久无码| 亚洲情色五月天 | 夜夜躁狠狠躁日日躁av| 久久久91福利姬| 丝袜综合| 国产精品九9| 99热精品在线播放| 屁屁影院一区二区三区国产| 久热影视| 欧美视频一| 亚洲精品97| 91高清欧美| 婷婷激情五月综合| 六月婷婷一区二区三区| 精品一区二区麻豆| 久插综合| 蜜奶av| 人妻精品综合中文字幕在线 | 高颜值美女口爆高潮浪叫| 97在线青| 啊啊啊啊啊啊啊啊要喷了| 欧美日韩国产电影| 麻豆天美制片厂网站视频| 亚洲……91| 97色伦欧美| 性爱久久| 蜜臀av在线播放一区二区三区| 免费啪啪啪网站18岁| 亚洲一区二区三区AV无码| 亚洲国产精品有声| 亚洲无码?第一页| 欧美经典一区二区三区| 久久精品国产亚洲AV高级北京| 国产日韩区| 91午夜无码| 18禁网站在线播放| 精品在线观看视频在线| 丰满的三级少妇欧美久久久| 婷婷五月天成人| 六月婷婷激情| 国产怡红院| 久插综合| 欧美激色| 国产精品乱码久久久| 99热伊人| 婷婷av在线中文字幕| 宅男影院久久久,99| 国产成人精品无码久久| 天堂种子在线www网资源| 久久99网站| 91亚州日韩高清| 综合网欧| 久久精品日韩专区免费观看| 亚洲精品国产拍免费91在线| 亚洲欧美人妻| 性爱免费视频成人| 色婷婷五月综合激情中文字幕| 伊人久久88国产女| 99热导航| 大香蕉中文201| 亚洲视频中文一区| 成年女人黄网站| 五月天啪啪| 天堂国产AV| 少好三P| 久久人妻| 亚洲欧洲网站免费观看| 91色综合激情| 校园激情狠狠四射| 日韩精品国产一区二区| 丁香六月激情综合| 日日黄色三级网站| 国产精品操| 中国女人内射6XXXXX| 欧美1727免费观看视频| 亚洲凸凹超碰成人| www.av家庭乱伦| 精品黑人一区二区| 亚洲高清视频在线观看| 欧美亚洲手机在线| 黑人操一区二区| 99热超碰| 亚洲人久久久久日| 欧美专区日本专区| 天天看特黄的免费网站| 免费视频一二三区| 免费一级欧美片片线观看| 91国产大片| 美女诱惑久久| 美女自卫慰黄网站免费| 欧美亚洲宗合色性图| 欧差乱伦二三| 在线观看一卡二卡| 97伊人超碰| 久久国内| 青青草无码视频| 91人精品妻入口| 混色激情av| 91色欧美| 一区二区娱乐网站| 无码人妻丰满熟妇区毛片| 国产日韩在线播放av| 五月天黄色av| 无码天堂| 丝袜熟女2P| 诱惑网综合| 天天爽天天爽| 久久久久久久久久久久97 | 女生看匆91网站| 最新国产亚洲精品精品国产亚洲综合| 97超碰久久色| 国产啊v在线免费播放| 色盈盈影院| 26UUU欧美日本| 久热久一区二区三区| 97超碰站| 欧美亚洲丝袜美女电影| 国内毛片欧美香蕉精品| 日本三级日本三级三级人妇四虎| 黄骗免费网站| 偷拍亚洲高清图片| 国产亚洲精品久久久久小| 无码视频一区二区| 欧美黑人精品在线播放| 2026国产精品视频| 天天躁日日躁AAA片李宗瑞| 亚洲精品国产熟女久久久| 东亚亚洲无码高清| 少妇色欲综合网2| 激情丁香五月| 亚洲本色精品一区二区久久| 色五月69夫妻| 能在线播放的国产三级| 日韩丨制服丨中文|在线| 欧美人妻一区| 男人综合网| 97在线国产精品| 国产乱伦性爱区| 亚欧美综合网。| 5278欧美一区二区三区| 97资源亚洲| 特级大荫道BBwBBwBBW| 福利操逼| 中文字幕福利视频一区二区三区在线观看| 红杏大香蕉| 亚洲精品成人动漫在线| 青青草久久在线| 性爱综合网| 亚洲熟伦熟妇AV无码春色| 伊人aaa| 九九久久精品| 最新av网站在线观看| 青青草久草AV| 花野真衣| 美中日韩无码| 可免费观看的av毛片中日美韩| 久久久久久久久久黄色网| 国产一级αv免费看片| 国产激情视频一区区三区| 神马久久啊啊| 校园春色制服丝袜中文字亚洲| 操婢日韩| 超碰97COm中文| 丝袜av一区二区三区| 婷婷综合在线| 亚洲AV秘 精品久久老牛影视| 熟妇色99| 99在线啪| 欧美天堂日韩三级国产传媒| 婷婷丁香五月激情啪啪| 亚洲欧洲日本精品中文a∨| 超碰 国产熟女精品一区| 亚洲一二三精品久久网| 91精品丝袜久久久久久| 一级片在线观看高清无码| 久久久久国色αv免费观看| 怡春苑东京热| 天天干一区二区| 一区二区三区机械有限公司| 午夜福利1区2区3区| 色区97| 91欧美巨乳| 岛国人妻少妇av在线观看| 香蕉在线一区二区三区| 天天色播亚洲综合网站| 国产精品美女久久久久AⅤ国产馆| 亚洲熟妇A V黑人| 色97国产69香蕉| 亚洲欧美日产国产91毛片| 操九九九九九九| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴| 亚洲欧美综合区自拍另类| 最新亚洲黄色免费电影| 97碰碰色| 国产精品不卡少妇白| 男人天堂最新手机版在线青青草| 国产亚洲日本| 一区二区视频你懂的| 美女大乳久久久久久久女人18| 久久国产视频性吧 | 校园春色欧美| AV色五月天| 国产精品久久久999| 国产25页| 吉川爱美亚洲二区在线| 高跟伊人julia ann| 第45页一区二区| 熟妇视频一区二区三区在线观看| 久久久艹艹艹| 夜夜夜久久| 嗯啊啊啊轻点视频| 久久久啊啊| 人妻精品综合中文字幕在线| 精品国产自在在线99| 久jiu久神马影院| 国产精品 亚洲情色| 久久手机好看网站| 任我爽视频在线观看| 人人爱夜夜爱| 区二区亚洲婷| 蜜乳av一区二区三区| 毛片麻豆91糖心精品毛情片| 亚洲欧美91√| 婷婷激情丁香| 中文字幕在线观| 肏逼视频日本| 密乳AV免费观看| 亚洲五码一区二区三区| 国产欧美一区激情交| 97电影院超碰| 亚洲中文人妻色| 97一区二压| 超碰综合97在线| 97精品一区二区视频在线观看| 久久久久99精品成人片蜜臀| 免费精品无码一级毛片牛牛影视| 国产午夜福利电影免费在线观看 | 99中出在线| 91在线丝袜视频| 国产精品色约约| 亚洲日韩精品一区二区| 婷婷伊人五月| α√在线| 美女啊啊啊啊pc| 都市激情人妻一区二区青青操视频| 青久久| 亚洲人天堂| 天天干天天燥| 婷婷五月天成人网| 抽插爽| 日韩97超碰| 91色人妻| 香蕉婷婷| 自拍二页| 欧美亚洲手机在线| 日本免费一级AAA大片器 | 欧美日韩亚洲少妇寂寞影院正在播放 | 精品国模无码| 欧美顶级黄片AAAAA在线免费看| 日本久久久久久久久| 亚州男人的天堂| 色综合91好| jizzjizz欧美| 久久久久中出| 啊啊啊骚| AV网站高清无码在线观看| 国产亚洲人妻综合日韩 久久| 男人的天堂VA在线| 日夜伊人网| 3D污黄视频在线观看| 91丝袜美腿网站| 深夜激情| 国模不卡| 久久超碰免费的| 亚洲激情综合另类| 国产激情av女片自拍| AV高清一区| 亚洲图片欧美色| 日韩欧美经典在线观看| 97一区二压| 一级性爱视频免费在线| 超碰在线91| 久久成人精品| 中文字幕亚洲永久精品| 第二页中文字幕| 999999精品| 婷婷久热| 99日视频在线免费| 日韩人妻播放| 金典av| 国产a片操逼| 一区,二区,三区网站| 大奶的诱惑| 青草视频在线看看看看看看看看看| 粉嫩av一区二区三区四季| 国产极品精品美女视频| 91 国产丝袜在线放观看| 日本不卡在线二区三区| 色情五月综合婷婷| av橘色网站| 免费一级视频特黄色大片| 午夜AV污污污| 日韩欧美字幕亚洲一区二区| 欧美 亚洲 91| 亚洲av综合色区无码一| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 中文字幕av片| 日韩性爱播放| 日曰骚久久精品| 精品久久99| juliaann欧美丝袜办公室| 久久人人看| 91精品人妻一品二品三品| 超碰在线91| 国产精品天堂| 国产原创精品| 伊人五月天婷婷| 国产熟女| 97人人操人人摸人人爱| 亚洲好色人妻| 人妻熟女一区在| 91丨人妻丨国产丨丝袜| 大香蕉 222| 一区不卡在线观看av| 久久久九九九九| 免费在线观看国内色片网站网址 | 欧美精品四区| 日本色色色网站免费看不卡| 天天日日本| 青椒国产97在线熟女| 亚州精品人妻一二三区| 婷婷丁香五月综合| 老熟女乱伦片| 97视频新免费| 亚洲激情久久| 国产福利电影| 人妻喷水| 天美国产三级传媒| 日本性爱欧美性爱| 亚洲熟女一区二区| 有码免费观看| 中文字幕aⅴ在线视频| 变态综合色| 求求你操操我| 日本网色| 日本精品中文字幕视频| 蜜桃狠狠色伊人亚洲综合 | 亚洲乱码精品一区二区| 久久久久国产| 亚洲天堂男人在线| 欧美国产精品| 久9精品| 亚洲 另类 丝袜 自拍 动漫| 开心五月婷婷激情| av在线播放国产一区| 成人情色综合网| 91红杏| 97色婷婷| 亚洲欧洲精品视频发布| 欧美色狠| 天天综合网亚洲综合网| 欧美综合加勒比在线| 成人在线视频网| 亚洲 欧美 制服 另类 自拍| 欧美亚州综合网图片| 日日夜夜草草草| 青青草视频这里只有精品| 无码精品久久久天天影视| 亚洲激情综合另类| 久久中文字幕女同性恋一区| 真实高潮91| 91丨九色丨国产打屁股| 亚洲精品国产熟女| 欧美成人一级麻豆| 欧美色图欧美| 91少妇通奸网站| 91偷拍欧美亚洲| 大香蕉操久久| 狠狠色婷婷7777久| 强奸乱伦av电影| av天堂天堂av日韩| AV乱伦国产| 97狠狠| 国产日本顶级一区二区三区| 欧美大色交| 久久久性爱视频| 91精品人妻一区二区三区蜜桃臀| 婷婷丁香六月天| 成人电影一区| 黄片直播三级黄片两女一男| 18禁免费视频| 国产精品永久免费10000| 国产无码成人无码| 国产乱子伦久久精品综合一区二区三| 超碰在线日韩一区| 免费男人的天堂| 99后入| 精品无码产区一区二| 加勒比伊人综合| 亚洲网污污污污| 日韩中文字幕宗合在线| 97超碰在线资源网站| 欧美熟女妇同| 黄色不卡视频| 熟女AV一区| 日韩美女高潮喷水视频| 操逼999| 中文字幕久久亚州无码| 九九九精品色乱九九九| 久久6热精品99视频| 日本久久999| 九九超碰综合网| 骚货 中文字幕 av| 久久精品国产97欧美精品亚洲 | 亚欧高清在线| 婷婷综合网站| 丁香五月综合| 久久国产精品91| 91亚洲影院综合| 999综合色| 男人天堂免费| 久久久女人| 加勒比伊人| 大香蕉免费3| 国产传媒操逼视频| 国产AV高清AV无码| 啊啊啊操一区| 欧美激情 日韩精品| 日韩精品9999| 91激情国产| 欧美黑人熟妇精品91| 97久久超碰| 中文精品一区二去| 操逼网免费无码视频| 狠狠操夜夜操蜜桃视频三区| 18一区二区三区| 9999亚洲精品| 理论久久婷婷网8| 国产精品96| 亚洲中文字幕久久人妻| 午夜色婷婷| 国产白领连续中出在线观看| 久久少妇人妻| 女生久久网| 久久精品久久九九精品| 六月激情婷婷| 色盈盈影院| 欧美色老汉| 免费视频在线一区二区不卡| 日韩亚洲Av人人夜夜澡人人爽| 五月激情视频| 午夜精品久久久久久久99热影院| 精品女同一区| 99亚洲国产精品色一区二区三区| 免费啪啪一级视频| 少妇免费视频| 丝袜视频网国产90| 五月天我淫我色av| 五月婷婷激情综合| 久久久久网站-538在线视频-欧美永久乱码| 91热色| 亚洲国产一区二区日韩专区| 久久久com| 97在线青| 日本伦乱九九九综合| 日本精品成人无码| 大香蕉国产中文自拍| 男人综合网| 国岛片视频| 国产精品网站www| 四方色播| 中国亚洲呦女专区| 熟妇高潮精品一区二区三区下载| 欧美不在线| 日本午夜精品理论片A级APP发布| 超碰在线人妻不卡| 婷婷五月天激情四射| 久久香蕉综合一本到3atv| 9 7超碰在线免费观看| 欧美综合第一页| 亚洲AV无码久久久国产精品| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 91国产丝袜足交精品视频| 黄页网站成人免费| 国产网站在线播放| 中国小夫妻勾搭露脸淫荡对白| 精品国产Av无码久久久伦古装| 久久艹逼视频| 亚洲综合色在线| 人人操人人插人www| 校园春色亚洲欧洲| 九九碰九九爱97超| 五月天啪啪| 高颜值美女口爆高潮浪叫| 欧美日韩香蕉| 97av,com| 久久毛卡| 美女黄码视频午夜| 嗯啊抽插大香蕉网页| 亚州久久9| 色y情视频免费看| 色爱欲亚洲| A片A5445444| 99re不伦| 亚洲熟女乱色一区二区三区| 2025亚洲男人天堂| 天堂v无码免费视频| 国产视频一区二区在线| 亚洲一级黄色毛片| 91暧暧| 十八禁视频一区二区| 欧美曰韩国产精品| 一级做a爰片久久毛片图片| 黄色不卡视频| 黄色AAAAA欧美| 亚洲资源网| 国产1769在线| 亚洲高潮影院| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 日本三级一区二区 在线| 伊人伊人LD| 强奸乱伦大香蕉网| 999久久久久久久久| 色色色综合| 黄骗免费网站| 久久久久久九九九九-美女久久久久久久-成人AV | 岛国免费视频在线| 日日夜夜噜| 国产综合永久精品日韩鬼片| 黄久久| 人妻久久久久久久久久久久久久久 | 自怕偷自怕亚洲精品| 中字一区| 亚洲黑丝在线| 色屁屁影院www国产| 69久久久久久久久久久久久| 麻豆啪啪啪视频| 九九碰九九爱97超| 九九九久久久久| 一区二区三区激情在线观看| 人人妻人人澡人人爽人人精品浪潮| 青娱乐亚洲热| av在线一区二区三区| 日本 情色 1区| 日韩伦理视频| 亚洲天堂人妻熟妇视频| 四虎影视欧美| 色诱avtt| 久操不卡视频| 成人小说另类在线| 天天爱综合网| 久久精品亚洲婷婷| 免费在线黄片视频| 好吊色综合| 日日日大屁股骚女人精品| 99热在线播放| 又大又长又粗又爽又黄| 三四中文字幕| 熟女网站最新| 艹我哪美一区无码| 亚洲第2页| 日本一道在线播放高清| 男人天堂网手机版婷婷| 国产精品白虎| 国产情侣自拍在线播放| 精品久久久av无码免费| 天天操熟妇| 精品97精品97| 激情一区二区三区在线观看| 久久国产性爱| a'v在线资源| 欧美综合中文| 亚洲欧洲无码一区夜| 超碰公开久久网| 国产91久久九九免费精品无码| 国产肏逼网站| 极品色综合| 韩国嫰模上门援交视频| 欧美亚综合色图| 综合久久婷婷| 成人网站 免费观看| 香伊人在线| 中文字幕熟女人妻丝袜| 亚洲不卡一| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 亚洲中文字幕av| 国产精品制服丝袜清纯唯美| 丝袜人妻av一区二区| 五十路三区在线| 日韩日韩日韩-国产乱码精品一区二区| 中文字幕十五区| 日本精品国产视频| 厕所偷拍在线| 后入美女国产| 99热综合| 亚洲AV永久无码一区仙野| 艹少妇网站| 伊人网综合在线视频| 中文字幕五月婷婷免费| 无遮挡男女激烈动态图| 亚洲开心网| 亚洲综合在线第一页| 免费视频观看60秒| 精品大全99999| 久久久少妇诱惑精品视频| 久久宗合亚洲| 东北操逼| 丝袜狂射91| 很狠操| 中日992视频| 色欧美色交综合| 久久婷婷苹果| 国产搭汕a级片| 78m成人视线| 欧美 亚洲| 色噜噜狠狠色综无码久久合欧美| 人妻91少妇| 97国产超碰| 精品一级毛片在线观看| 色吧 综合| 四虎午夜影院| 黄片视频,下载| 久草国产在线视频| 国产精品自在自拍视频| 国产麻豆一级精品视频| 亚洲经典啪啪| 精品视频久久久久九九九九9999| 91无码中出人妻视频| 97干日韩| 国产美女91视频| 欧美在线 亚洲| 国产精品另类一区大香蕉| 95人妻爽爽人人做人人澡|