我使用了如下命令:
ffmpeg -i video.avi -i audio.mp3 -vcodec codec -acodec codec output_video.avi -newaudio
在最新版本添加新的音轨到视频(不混合)。
但是我更新了ffmpeg到最新版本(ffmpeg版本git-2012-06-16-809d71d),现在在这个版本中参数-newaudio不起作用。
请告诉我如何添加新的音频到我的视频(不混合)使用ffmpeg。
我使用了如下命令:
ffmpeg -i video.avi -i audio.mp3 -vcodec codec -acodec codec output_video.avi -newaudio
在最新版本添加新的音轨到视频(不混合)。
但是我更新了ffmpeg到最新版本(ffmpeg版本git-2012-06-16-809d71d),现在在这个版本中参数-newaudio不起作用。
请告诉我如何添加新的音频到我的视频(不混合)使用ffmpeg。
当前回答
如果输入视频有多个音轨,你需要再添加一个,然后使用以下命令:
ffmpeg -i input_video_with_audio.avi -i new_audio.ac3 -map 0 -map 1 -codec copy output_video.avi
-map 0表示从第一个输入文件(input_video_with_audio.avi)复制(包括)所有流,-map 1表示从第二个输入文件(new_audio.ac3)复制(包括)所有流(在本例中是一个流)。
其他回答
这些解决方案对我来说都不太管用。我的原始音频被覆盖了,或者我在更复杂的“合并”示例中出现了“未能映射内存”之类的错误。似乎我需要-filter_complex amix。
ffmpeg -i videowithaudioyouwanttokeep.mp4 -i audiotooverlay.mp3 -vcodec copy -filter_complex amix -map 0:v -map 0:a -map 1:a -shortest -b:a 144k out.mkv
如果你正在使用旧版本的FFMPEG,你不能升级,你可以做以下:
ffmpeg -i PATH/VIDEO_FILE_NAME.mp4 -i PATH/AUDIO_FILE_NAME.mp3 -vcodec copy -shortest DESTINATION_PATH/NEW_VIDEO_FILE_NAME.mp4
注意,我使用了-vcodec
这展示了如何用ffmpeg将所有音轨合并到一个完整的目录:
ffmpeg -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -c:v copy -shortest output.mp4
标记的答案不设置音轨的语言。
下面的例子为默认音轨(视频的唯一音频通道)指定德语,为新添加的音轨指定英语:
Ffmpeg -i "/dir/视频。Mkv " -i "/dir2/audio。ac3" -map 0 -map 1:a -c:v copy -short -metadata:s:a:0 language=ger -metadata:s:a:0 title=" ger " -metadata:s:a:1 language=eng -metadata:s:a:1 title=" eng " "/dir/output.mkv"
(s:a:0从0开始计数,根据需要调整数字。如果音轨语言已经指定,则不需要设置它,只需要为您添加的音轨设置它。)
Mp3音乐wav
ffmpeg -i music.mp3 music.wav
截断适合视频
ffmpeg -i music.wav -ss 0 -t 37 musicshort.wav
音乐和视频混合
ffmpeg -i musicshort.wav -i movie.avi final_video.avi