[英]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。
先感謝您。
因為您的輸入是任意的,所以您需要在連接之前使它們相同。
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
連接。
制作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.