[ffmpeg]當使用 -codec copy 尋求值較小時,輸入尋求似乎會導致輸出檔案的持續時間不正確

[ffmpeg]當使用 -codec copy 尋求值較小時,輸入尋求似乎會導致輸出檔案的持續時間不正確

我試圖從一些 mp4 檔案的開頭刪除幾秒鐘而不重新編碼。起初,我使用輸出查找,即

E:\>ffmpeg -i input.mp4 -ss 00:00:05 -t 00:01:00 -c copy output.mp4

然而,它導致輸出文件開頭凍結幀幾秒鐘(我猜這與尋找關鍵幀有關,所以我嘗試添加標誌 -copyinkf,但沒有幫助),因此我嘗試使用輸入搜索,即

E:\>ffmpeg -ss 00:00:05 -i input.mp4 -t 00:01:00 -c copy output.mp4

產生的輸出檔案令人興奮,除了輸出檔案的持續時間資訊與實際值不同之外,一開始播放流暢且準確。上述命令應該產生一個持續時間為 00:01:00 的視訊檔案。但是我得到了一個持續時間為 00:01:05 的文件,其中包含 00:01:00 長影片。我也嘗試過更大的尋求價值,結果很好。

E:\>ffmpeg -ss 00:00:10 -i input.mp4 -t 00:01:00 -c copy output10.mp4
E:\>ffmpeg -ss 00:00:15 -i input.mp4 -t 00:01:00 -c copy output15.mp4

此影像指示輸出檔案的持續時間

我不知道為什麼它們之間會有差異,希望有人可以幫助我。我會感謝你的幫助。

筆記:

  1. ffmpeg 版本 N-93439-gb073fb9eea,我嘗試了一些舊版本並產生了相同的輸出。
  2. 輸入檔案的視訊和音訊編解碼器分別為avc和aac。

相關內容