我想將影片分成幾部分,但不是相等的部分。
我希望每個剪輯的時長在 15 到 50 秒之間。但我希望每個剪輯的長度是隨機的(在 15 到 50 秒的範圍內)。
我如何在命令列中使用 ffmpeg 來執行此操作?
這是我用來將影片分成相等部分的命令
ffmpeg -i lutherceleb.mp4 -acodec copy -f segment -vcodec copy -reset_timestamps 1 -map 0 OUTPUT%d.mp4
答案1
這有點 hacky,但您可以使用任何腳本語言(例如 Ruby)來產生隨機的分割時間清單。只需更改總持續時間(此處為 150),然後將該腳本的輸出指派給該選項-segment_times
$ times=$(ruby -e 's=[]; d=0; while d < 150 do t=rand(15..50); s << (d+t); d=d+t end; puts s.join(",")')
$ echo $times
15,53,96,124,168
$ ffmpeg -i lutherceleb.mp4 -f segment -segment_times $times -c copy -reset_timestamps 1 -map 0 OUTPUT%d.mp4
您可以縮短-acodec copy -vcodec copy
為-c copy
.