問題:在播放剪裁得到的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

對于壓縮視頻剪輯后,視頻開始時黑屏,聲音正常,圖像卡頓