📅  最后修改于: 2023-12-03 15:36:01.575000             🧑  作者: Mango
在视频编辑中,我们可能需要添加不同的声音来增强视频效果。使用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.mp3
和 audio2.mp3
混合成新的视频文件 output.mp4
,其中视频流来自 video.mp4
,音频流来自第一个音频文件 audio1.mp3
和第二个音频文件 audio2.mp3
,混合后音频流存储在 a:0
中。amix
过滤器的 inputs
参数指定了混合的音频轨道数量,duration
参数指定了输出音频流的持续时间,-c:a aac
参数将音频流编码为 aac 格式。
使用ffmpeg库,我们可以轻松为视频添加不同的声音,包括单个声音和混合多个声音。需要注意的是,不同的音频文件可能具有不同的格式和编码方式,我们需要使用 -c:a
参数进行设置。