FFmpeg concat 弄亂了第一段的最後一幀

FFmpeg concat 弄亂了第一段的最後一幀

問題:
我通常需要使用 ffmpeg 乾淨地連接兩個 .MKV 檔案。在大約 10-20% 的情況下,第一個影片片段的最後 3-5 幀在各種視訊播放器(用於測試的 VLC 和 PotPlayer)中都會出現問題。典型的效果是,在播放影片時,連接的第一個片段中的第三到倒數第五個幀將凍結並在接下來的幾幀中保留在螢幕上,直到連接的第二個片段的開頭。音訊在影像後面仍然可以正常播放。奇怪的是,如果我使用 VLC 中的“e”控制項逐幀瀏覽序列,所有幀似乎都在那裡。兩個片段均取自同一來源並具有所有相同的屬性。源段確實不是本身就有這個問題。來源片段在生成時會自行編碼,因此它們不應該有任何關鍵影格問題。

我嘗試過的:

  • 發出串聯命令時僅對視訊進行編碼(複製音訊和字幕)
  • 發出連線指令時對視訊和音訊進行編碼(複製字幕)
  • 依照警告提示增加analyzeuration和probesize的值
  • 僅輸出視頻仍然會產生問題(沒有音頻,沒有字幕)
  • 我看過關於類似問題的帖子,但我似乎找不到靈丹妙藥

我正在做的事情會產生這個問題:
我發出的命令是

ffmpeg.exe -f concat -safe 0 -i "C:\Users\test\Downloads\ConcatListTEMP00000.txt" -c copy -map 0 "C:\Users\test\Downloads\TEST JOIN COPY.mkv"

串聯文件的內容是

file 'C:\Users\test\Downloads\CutSegmentTEMP0001.mkv'
file 'C:\Users\test\Downloads\CutSegmentTEMP0002.mkv'

以下是執行上述命令時控制台輸出的 Pastebin 連結: https://pastebin.com/mpBS6TZY

答案1

在過濾器圖中使用修剪、atrim 和 concat 過濾器似乎已經解決了這個問題。我會單獨處理字幕。

相關內容