video - 连接三个视频和一个音频

标签 video ffmpeg

谢谢你来到这里。我有三个视频剪辑(第一个是 3 秒,第二个是 20 秒,第三个是 2 秒),我使用以下命令连接它们:

ffmpeg -i opening.mp4 -i middle.mp4 -i ending.mp4 -filter_complex "[0:v] [1:v] [2:v] concat=n=3:v=1 [v]" -map "[v]" output.mp4

由于所有三个视频都没有音轨,因此我不需要包含 [a]。然后我需要它的那一天到来了。我有一个音轨,持续时间为 35 秒(比 output.mp4 视频大得多),我需要将此音频连接到整个视频。 1)我是否需要将音频裁剪为通过合并所有三个视频获得的长度? 2)是否可以使用一个命令来执行此操作,或者我需要首先将所有命令与我的命令连接在一起,然后合并视频和音频轨道?

最佳答案

使用 -shortest选项:

ffmpeg -i opening.mp4 -i middle.mp4 -i ending.mp4 -i music.m4a -filter_complex "[0:v] [1:v] [2:v] concat=n=3:v=1:a=0 [v]" -map "[v]" -map 3:a -shortest output.mp4

对于 MP4 输出,您可以添加 -c:a copy如果音频输入已经是 AAC。

关于video - 连接三个视频和一个音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52527128/

相关文章:

android - FFmpegFrameGrabber.start() 在加载 mp4 文件时崩溃

video - FFMPEG - 改变我的覆盖视频的饱和度

html - MEDIA12899 : AUDIO/VIDEO: Unknown MIME type:

c++ - 如何使用 FFMPEG 从编码视频中提取 AVPacket 的重要信息

ffmpeg - 有没有办法使用 ffmpeg 从图像缓冲区创建视频流(不保存到磁盘)?

c++ - 使用 ffmpeg 的非常简单的 qt 应用程序中的段错误

C#和Matlab读取视频帧rgb值的区别

android - Android WebView中拦截HTML5视频源请求

javascript - 停止移动设备上的 HTML 视频自动播放

ffmpeg - 将 h264_cuvid 解码器与 ffmpeg 一起使用时出错