我試圖從一些 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
我不知道為什麼它們之間會有差異,希望有人可以幫助我。我會感謝你的幫助。
筆記:
- ffmpeg 版本 N-93439-gb073fb9eea,我嘗試了一些舊版本並產生了相同的輸出。
- 輸入檔案的視訊和音訊編解碼器分別為avc和aac。