使用 FFMPEG 從影片中製作剪輯

使用 FFMPEG 從影片中製作剪輯

我想用 FFmpeg 從視頻中製作一個剪輯,每m分鐘 2 秒的視頻,其中

m = video_length / 5

例如,我有一個 10 分鐘長的影片。影片剪輯的總長度為 10 秒(5 段 x 2 秒),由以下影片時間戳記範圍組成:

00:00 - 00:02
02:00 - 02:02
04:00 - 04:02
06:00 - 06:02
08:00 - 08:02

這將從影片中生成一種預告片。

我知道我可以透過段來實現這一點,但無法弄清楚整個過程。

答案1

您可以使用選擇過濾器一次完成此操作

ffmpeg -i in.mp4
       -vf select='lt(mod(t,120),2)',setpts=N/FRAME_RATE/TB
       -af aselect='lt(mod(t,120),2)',asetpts=N/SR/TB
       out.mp4

答案2

我知道一個方法,你可以用可能使用。不過,有點亂。

使用如下命令提取剪輯:

ffmpeg -i -ss <time to start> -t <duration> <output clip filename>

您要做的就是使用這種格式提取剪輯,其中-ss是剪輯的開始位置,-t是剪輯的持續時間。提取這些內容後,您可以將它們連接在一起:

ffmpeg -i concat:"clip_file1|clip_file2|clip_file3" -c copy <your output file>

請注意,這種形式的串聯並不適用於所有影片格式,您可能需要添加一些其他參數,例如-bsf:a aac_adtstoascMP4 檔案。但這應該能讓你得到你想要的影片。

相關內容