標記 ffmpeg 的不完整輸出

標記 ffmpeg 的不完整輸出

我有一個使用 FFMPEG 轉換許多文件的腳本。如果我停止它,它目前輸出的檔案將保持不完整狀態。

有沒有辦法讓 FFMPEG 寫入臨時檔案(例如 FILENAME_incomplete),以便我可以輕鬆識別中止的轉換?

答案1

如果您手動中止它,那麼這不會實現,因為 ffmpeg 本身沒有進度概念。它不知道輸出的長度為 200 秒,因此如果在 100 秒時停止,處理就會不完整。

如果 ffmpeg 由於錯誤而停止,其退出程式碼將 > 0。

答案2

仔細閱讀錯誤代碼是一種方法,但是它並不是安全的 - 例如終端被殺死或其他什麼情況。

您可以在腳本中檢查退出代碼(對於腳本)是否為 0Filename.incomplete.mpeg後的行上命名輸出文件,在這種情況下,假設正常完成,您可以將文件重命名為.ffmpeg$?bashffmpegFilename.mpeg

我還注意到,未損壞的輸出具有損壞的時間軸。可能有一些方法可以檢查輸出檔案是否完整(使用ffprobeMaybe)。

相關內容