ffmpeg剪輯并編碼mp4視頻,可流暢播放
問題:在播放剪裁得到的MP4視頻片段時,常常遇到卡頓、音畫不同步等異常情況
原因分析:mp4視頻是使用mpeg-4編碼,壓縮過的視頻。壓縮的基本原理是,將組成視頻的幀分為兩大類關(guān)鍵幀和普通幀。關(guān)鍵幀是一張完整的圖片,包含當(dāng)前幀的完整圖像信息,而普通幀則需要依賴之前的關(guān)鍵幀來恢復(fù)圖像。這樣子,就可以減小視頻文件的大小,又保持較高的清晰度。
凡是壓縮過的視頻,都包含關(guān)鍵幀。這里的壓縮是指,對原始的視頻文件內(nèi)容進(jìn)行編碼,而不是文件級別的壓縮。
在剪裁視頻的時候,開始的時間點(diǎn)如果不是關(guān)鍵幀,那么剪裁到的視頻片段,在播放時就會卡頓。片段視頻的開頭是一些普通幀,解碼器無法找打關(guān)鍵幀,無法恢復(fù)普通幀的圖像,無法進(jìn)行正常解碼。
知道了原因,就有解決辦法了,增加關(guān)鍵幀的數(shù)量,每一幀都是關(guān)鍵幀,任意剪裁點(diǎn),都是關(guān)鍵幀,播放就不會卡頓了。
通過和來表示關(guān)鍵幀的最小和最大間隔數(shù)
具體命令如下
-i .mp4 -g 1 - 1 .mp4
-g 關(guān)鍵幀的最大間隔
- 關(guān)鍵幀的最小間隔
最大和最小都是1。
可能出現(xiàn)的問題:畫面細(xì)微的不清晰
參考:
標(biāo)題親自測試 轉(zhuǎn)碼
for %%a in ("*.ts") do -i “%%a” -f mp4 - copy "%%~na.mp4
將當(dāng)前目錄下所有.ts文件轉(zhuǎn)換為.mp4格式
剪輯
-ss 0:0:14.00 -i .mp4 - copy .mp4
對于壓縮視頻剪輯后不卡頓
-ss 0:0:14.00 -i .mp4 - copy - copy .mp4
對于壓縮視頻剪輯后,視頻開始時黑屏,聲音正常,圖像卡頓
聲明:本站所有文章資源內(nèi)容,如無特殊說明或標(biāo)注,均為采集網(wǎng)絡(luò)資源。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系本站刪除。