如何使用VLC或FFMPEG命令行将外部音频曲目添加到视频文件

如何使用VLC或FFMPEG命令行将外部音频曲目添加到视频文件,ffmpeg,video-processing,vlc,audio-processing,Ffmpeg,Video Processing,Vlc,Audio Processing,我想使用bash脚本将audio.mp3配乐添加到无声的video.mp4文件中,“cvlc”“ffmpeg”命令行的正确语法是什么 我用VLC录制了视频,没有音频选项,因此没有可以从原始视频复制的设置,如比特率或编码。Stream copy 对video.mp4(输入0)中的视频和audio.mp3(输入1)中的音频进行示例或重新多路复用: 这将避免编码,因此速度非常快,不会影响质量 重新编码 如果确实需要对大小进行重新编码,或者需要与输入不同的格式,则可以告诉ffmpeg使用什么编码器。重新

我想使用bash脚本将audio.mp3配乐添加到无声的video.mp4文件中,“cvlc”“ffmpeg”命令行的正确语法是什么

我用VLC录制了视频,没有音频选项,因此没有可以从原始视频复制的设置,如比特率或编码。

Stream copy 对
video.mp4
(输入
0
)中的视频和
audio.mp3
(输入
1
)中的音频进行示例或重新多路复用:

这将避免编码,因此速度非常快,不会影响质量

重新编码 如果确实需要对大小进行重新编码,或者需要与输入不同的格式,则可以告诉ffmpeg使用什么编码器。重新编码为H.264视频和AAC音频的示例:

ffmpeg -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -codec:v libx264 \
-preset medium -crf 23 -codec:a aac -b:a 192k -shortest output.mp4
笔记:
-map
选项允许您指定所需的流,例如,
-map 0:v
引用第一个输入的视频流。如果您不告诉ffmpeg您想要什么流,那么它将使用默认值,即每个流类型选择一个流。默认设置通常很好,但建议显式设置,以便获得预期结果

-shortest
选项指示ffmpeg在最短持续时间输入结束时结束输出文件

始终建议使用最新的ffmpeg版本。最简单的方法是,但你也可以遵循

另见:

感谢您的回答,我尝试了您的两个建议,它返回以下错误消息:无法识别的选项“codec”无法为选项“codec”设置值“copy”,我尝试使用“vcodec”选项,它返回:应用程序提供的无效,流0:50>=50@Jonathan您需要显示实际的ffmpeg命令和完整的ffmpeg控制台输出。以下是帮助我使用avconv而不是ffmpeg的简要说明:因为avconv实际上是ffmpeg的一个分支,使用了第一个确切的命令行“流拷贝”如上所述,仅仅用“avconv”替换“ffmpeg”对我来说效果非常好。嗯!我在youtube上的数据上测试了这一点,youtube分别播放音频和视频;获取源数据(通过httpfox和wget)后,第一个命令正确地重新组合了源文件。
ffmpeg -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -codec:v libx264 \
-preset medium -crf 23 -codec:a aac -b:a 192k -shortest output.mp4