簡體   English   中英

ffmpeg 命令用於從兩個不同的視頻和兩個不同的音頻創建最終視頻

[英]ffmpeg command for create final video from two different videos and two different audios

我有兩個視頻和兩個音頻

1:- 視頻 1 - 長度:- 60 秒 || 音頻 1 - 長度:- 15 秒

2:- 視頻 - 長度:- 86 秒 || 音頻 2 - 長度:- 18 秒

一起播放 video1 和 audio1,如果 audio1 結束,則重新啟動該音頻直到 video1 結束。 這將是最終視頻 1

同樣的方法,

一起播放 video2 和 audio2,如果 audio2 結束,則重新啟動該音頻直到 video2 結束。 這將是最終視頻 2

之后將最終視頻 1 和最終視頻 2連接起來,並將單個視頻創建為 output。

先感謝您。

  1. 因為您的輸入是任意的,所以您需要在連接之前使它們相同。

     ffmpeg -i video1 -stream_loop -1 -i audio1 -filter_complex "[0:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:-1:-1,setsar=1,fps=25,format=yuv420p[v]" -map "[v]" -map 1:a -ac 2 -ar 44100 -shortest temp1.mp4 ffmpeg -i video2 -stream_loop -1 -i audio2 -filter_complex "[0:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:-1:-1,setsar=1,fps=25,format=yuv420p[v]" -map "[v]" -map 1:a -ac 2 -ar 44100 -shortest temp2.mp4
  2. 連接。

    制作input.txt

     file 'temp1.mp4' file 'temp2.mp4'

    運行ffmpeg

     ffmpeg -f concat -i input.txt -c copy -movflags +faststart output.mp4

作為請求的“單行命令”(但首先制作input.txt ):

ffmpeg -i video1 -stream_loop -1 -i audio1 -filter_complex "[0:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:-1:-1,setsar=1,fps=25,format=yuv420p[v]" -map "[v]" -map 1:a -ac 2 -ar 44100 -shortest temp1.mp4 && ffmpeg -i video2 -stream_loop -1 -i audio2 -filter_complex "[0:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:-1:-1,setsar=1,fps=25,format=yuv420p[v]" -map "[v]" -map 1:a -ac 2 -ar 44100 -shortest temp2.mp4 && ffmpeg -f concat -safe 0 -i input.txt -c copy -movflags +faststart output.mp4

暫無
暫無

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

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