簡體   English   中英

剪切多個視頻並與ffmpeg合並

[英]Cut multiple videos and merge with ffmpeg

如何將視頻剪切成多個部分,然后將它們連接在一起以使用 ffmpeg 制作新視頻?

您可以使用 concat 分離器。

#1創建一個文本文件

file video.mp4
inpoint 34.5
outpoint 55.1
file video.mp4
inpoint 111.0
outpoint 155.3
file video.mp4
inpoint 278
outpoint 316.4

inpoint/outpoint 指令以秒為單位指定它們上面列出的文件的切入點和切出點。

#2a創建聯合文件

ffmpeg -f concat -i list.txt combined.mp4

#2b一起疊加

ffmpeg -f concat -i list.txt -i background.mp4 -filter_complex "[0:v]scale=400:400[v1];[1:v][v1]overlay=0:0:shortest=1" -shortest -preset superfast "output.mp4"

帶有 concat 的外部音頻流

ffmpeg -i 12m.mp4 -f concat -i list.txt -vf setpts=(PTS-STARTPTS)/1.1 -af atempo=1.1 -map 1:v -map 0:a -shortest new.mp4

你的問題很安靜一般...
以下示例可能對您有所幫助,但可能無法解決您的具體問題。

該示例適用於三個階段:

  • 創建合成視頻(沒有音頻):

     ffmpeg -f lavfi -i testsrc=duration=3:size=160x120:rate=10 -c:v rawvideo -pix_fmt rgb24 testsrc.avi

    (創建的視頻未壓縮)。
    參考: https : //trac.ffmpeg.org/wiki/FilteringGuide

  • 將視頻分成 3 個部分(創建 3 個視頻文件):

     ffmpeg -i testsrc.avi -ss 00:00:00 -c copy -t 00:00:01 sec0.avi ffmpeg -i testsrc.avi -ss 00:00:01 -c copy -t 00:00:01 sec1.avi ffmpeg -i testsrc.avi -ss 00:00:02 -c copy -t 00:00:01 sec2.avi

    參考: https : //superuser.com/questions/138331/using-ffmpeg-to-cut-up-video

  • 以相反的順序連接(合並)3 個部分:

     ffmpeg -i "concat:sec2.avi|sec1.avi|sec0.avi" -codec copy output.avi

    注意:對於 Linux 使用單引號'
    參考: 使用 ffmpeg 連接兩個 mp4 文件

合成視頻如下圖所示:
在此處輸入圖片說明

對於任何進入這個問題的人,我注意到 Gyan 的答案有一個缺點,即在幀間編解碼器的情況下,inpoints 和 outpoints 是近似的(請參閱文檔)。

以下命令(來自Ilogan 的回答)沒有這個缺點。 它適用於一個或多個輸入。

ffmpeg -i input1.mp4 -i input2.mp4 -i input3.mp4 \ 
-filter_complex \
"[0:v]trim=3.48:5.72,setpts=PTS-STARTPTS[v0]; \
 [0:v]trim=6.56:8.68,setpts=PTS-STARTPTS[v0b]; \
 [1:v]trim=13.52:15.36,setpts=PTS-STARTPTS[v1]; \
 [1:v]trim=17.56:23.32,setpts=PTS-STARTPTS[v1b]; \
 [2:v]trim=20.6:23.96,setpts=PTS-STARTPTS[v2]; \
 [v0][v0b][v1][v1b][v2]concat=n=5:v=1:a=0[v]" \
-map "[v]" -an -crf 17 output.mp4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM