“ffmpeg -ss”支援精確查找的格式嗎? mp3 似乎無法使用,只能使用 .wav

“ffmpeg -ss”支援精確查找的格式嗎? mp3 似乎無法使用,只能使用 .wav

ffmpeg -ss 00:00:00 -i 'input.mp3' -to 00:25:00 -c 複製output.mp3

我在編寫腳本時注意到這個特定的腳本適用於 mp3 文件,但不適用於 .wav 文件。發生的情況是,它(奇怪地)複製到 25 分鐘的 .mp3 文件,但本質上會在結尾處剪輯音訊。由於某種原因,實際音訊似乎超出了 25 分鐘的範圍,因此發生了剪輯。但 .wav 檔案不會發生這種情況。透過搜尋手冊頁,我發現了以下內容:

-ss 位置(輸入/輸出) 當用作輸入選項(在 -i 之前)時,請在此輸入檔案中尋找位置。請注意,在大多數格式中不可能精確查找,因此 ffmpeg 將在位置之前查找最近的查找點。當轉碼和 -accurate_seek 啟用(預設)時,搜尋點和位置之間的額外段將被解碼並丟棄。當進行流複製或使用-noaccurate_seek時,它將被保留。

我的問題是,首先,.mp3 似乎不是精確搜尋的支援格式,但考慮到所發生的情況,.wav 檔案似乎受支援。這就是剪輯音訊的原因嗎?其次,是否有任何關於具有 100% 準確 -ss 時間的受支援格式的文件?我在任何手冊頁中都找不到這一點。也許文檔存在,但如果存在,我猜它應該列在該部分中。這是關於 ffmpeg 的錯誤文檔,應該更新!模糊的訊息沒有幫助。

答案1

唯一完全可搜尋的格式是非壓縮格式。即wav和pcm。所有壓縮格式都編碼為“幀”(因為這就是壓縮的工作原理)。使用編解碼器複製,您只能複製整個影格。每個編解碼器對每個影格的樣本使用不同的數量。

相關內容