ffmpeg - 是否可以使用 -copyts 保留即時程式碼?

ffmpeg - 是否可以使用 -copyts 保留即時程式碼?

這是一個簡單的任務。我想製作一個轉換後的視訊剪輯,以-copyts擁有它的即時時間碼。例如,此命令轉換後的剪輯:

ffmpeg -hide_banner -ss 57:41.76 -i input.mp4 -copyts -fs 4085Ki -vf scale=1280:-1 -c:v libvpx -crf 10 -b:v 1000K -maxrate:v 1600K -bufsize 800Ki -threads 4 -quality good -cpu-used 5 -c:a libvorbis -b:a 64Ki -maxrate:a 128Ki input.webm

持續時間為 31 秒,但是:

frame=  938 fps=7.7 q=0.0 Lsize=    4089kB time=00:58:13.15 bitrate=   9.6kbits/s speed=28.8x

說有 58:13.15 分鐘。

-copyts我可以透過從命令程式碼中刪除來實現正常的持續時間,但我使用的全部原因-copyts是為了避免每次都計算下一段,因為我可以設定-ss為 58:13.15 並開始。

對於問題,是否有辦法修改轉換後的檔案持續時間沒有重新轉換嗎?喜歡修改元資料嗎?

我使用的是 Windows 7。

答案1

我只是不得不這麼做-c copy。已經忘記了:

將所有新剪輯放入新資料夾(建議使用 webm),然後在該資料夾內建立另一個名為 的資料夾new並執行此操作

ffmpeg -i input.webm -c copy new\output.webm

對於自動化流程,請執行以下操作:

for %i in ("*.webm") do ffmpeg -i %i -c copy new\%~ni.webm

這將對-c copy您轉換的所有剪輯重複該命令。

相關內容