当前位置: 首页 > 知识库问答 >
问题:

用于从两个不同视频和两个不同音频创建最终视频的ffmpeg命令

强烨
2023-03-14

我有两个视频和两个音频

1:-视频1-长度:-60秒||音频1-长度:-15秒

2:-视频-长度:-86秒| |音频2-长度:-18秒

同时播放video1和audio1,如果audio1结束,则重新启动该音频,直到video1结束。这将是最后的视频1。

同样的方式,

同时播放video2和audio2,如果audio2结束,则重新启动该音频,直到video2结束。这将是最后的视频2。

之后,将最终视频1和最终视频2连接起来,并创建单个视频作为输出。

提前谢谢你。

共有1个答案

丌官哲彦
2023-03-14

>

  • 因为您的输入是任意的,所以在连接之前需要使它们相同。

    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
    

    连接

    进行输入。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
    

  •  类似资料:
    • 使用ffmpeg concat连接多个文件似乎会导致音频的时间戳或偏移不匹配。我试过几个视频,发现H.264/MP4也有同样的问题。 使用并对视频进行编码似乎可以很好地工作。当ffmpeg执行全部转换计算时,音频保持同步,似乎可以得到所有正确的结果。 然而,简单地将视频级联而不进行任何转换或编码会导致同步问题缓慢增加。显然,对视频进行编码而不是简单地加入它们将导致信息/质量的损失,所以我宁愿找到一

    • 我正在尝试使用FFMPEG合并2个mp4文件。其中一个文件同时具有视频和音频(),而另一个只有音频()。这些文件的名称以以下方式列在名为的文本文件中: 然后执行下面的ffmpeg命令来合并它们。 但是,生成的连接文件只包含。也就是说,如果

    • 我已经使用程序youtube-dl下载了一个YouTube播放列表,我选择了单独下载视频和音频,我现在有一个文件夹充满了视频及其相应的音频,我希望与ffmpeg合并在一起。 我需要使用批处理脚本来执行此操作,但问题是youtube-dl在原始文件的标题之后添加了临时字母,因此视频与其对应的音频没有相同的名称,文件名如下所示: 如何使用windows批处理脚本和ffmpeg合并这些多个视频/音频文件

    • 当试图将source.mp4编码为多个比特率和大小以便自适应HLSv3回放时,所产生的音频和视频逐渐不同步。当擦洗到稍后的点,它似乎重置,并保持同步。 我正在使用最新的FFMPEG4.2.1通过自制-ffmpeg,使用libfdk-aac编解码器。注意,这也发生在FFMPEG4.1中。 音频和视频流很少,这会导致这个问题吗? 以下是源文件中的一些元数据: 和编码命令:

    • 我有一个长音频部分和一个短视频部分,我想在一起mux。 我正在尝试使用以下命令进行MUX: video_0-0002.h264-整个文件(2秒长) Audio.wav-从4秒到6秒 但音频被搞砸了...我怎样才能正确地做呢? 也试过了,听起来好像最后还是有寂静。

    • 我把很久以前在一次演讲中拍的一组电影连在一起。现在我要为每一个问题/答案剪掉它们。 我是这样做的。 ffmpeg-ss 00:00:34.7-t 00:10:44.6-y-i输入_movie.mp4-vcodec拷贝-acodec拷贝输出_1.mp4 ffmpeg-ss 00:11:22.2-y-i输入_movie.mp4-vcodec拷贝-acodec拷贝输出_2.mp4 然而,对于第二部分,我