📜  为视频 ffmpeg 添加不同的声音 (1)

📅  最后修改于: 2023-12-03 15:36:01.575000             🧑  作者: Mango

为视频 ffmpeg 添加不同的声音

在视频编辑中,我们可能需要添加不同的声音来增强视频效果。使用ffmpeg库,我们可以在视频的不同时间点添加、混合多个音频轨道。

添加一个声音

为视频添加一个音频轨道使用 -i 参数指定音频文件的路径,使用 -map 参数关联视频流和音频流的索引,使用 -c:v copy 参数拷贝视频流,使用 -c:a 参数设置音频流的编码方式,使用 -shortest 参数在最短的音频轨道结束时停止输出。

ffmpeg -i video.mp4 -i audio1.mp3 -map 0:v -map 1:a -c:v copy -c:a aac -shortest output.mp4

上述命令将视频文件 video.mp4 和音频文件 audio1.mp3 混合成新的视频文件 output.mp4,其中视频流来自 video.mp4,音频流来自 audio1.mp3

混合多个声音

为视频混合多个音频轨道使用 -filter_complex amix 过滤器,使用 -map 参数关联视频流和音频流的索引,使用 -c:v copy 参数拷贝视频流,使用 -c:a 参数设置音频流的编码方式。

ffmpeg -i video.mp4 -i audio1.mp3 -i audio2.mp3 -map 0:v -map "[a:0]" -map "[a:1]" -filter_complex amix=inputs=2:duration=longest -c:v copy -c:a aac output.mp4

上述命令将视频文件 video.mp4 和两个音频文件 audio1.mp3audio2.mp3 混合成新的视频文件 output.mp4,其中视频流来自 video.mp4,音频流来自第一个音频文件 audio1.mp3 和第二个音频文件 audio2.mp3,混合后音频流存储在 a:0 中。amix 过滤器的 inputs 参数指定了混合的音频轨道数量,duration 参数指定了输出音频流的持续时间,-c:a aac 参数将音频流编码为 aac 格式。

总结

使用ffmpeg库,我们可以轻松为视频添加不同的声音,包括单个声音和混合多个声音。需要注意的是,不同的音频文件可能具有不同的格式和编码方式,我们需要使用 -c:a 参数进行设置。