我有两个视频和两个音频
1:-
视频 1 - 长度:- 60 秒 ||音频 1 - 长度:- 15 秒
2:-
视频 - 长度:- 86 秒 ||音频 2 - 长度:- 18 秒
一起播放 video1 和 audio1,如果 audio1 结束,则重新启动该音频直到 video1 结束。这将最终视频 1 .
同样的方法,
一起播放 video2 和 audio2,如果 audio2 结束,则重新启动该音频直到 video2 结束。这将最终视频 2 .
之后连接 那些最终视频 1 和最终视频 2 并创建单个视频作为输出。
先感谢您。
最佳答案
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
关于android - 用于从两个不同的视频和两个不同的音频创建最终视频的 ffmpeg 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65262067/