Jon*_*han 9 ffmpeg vlc video-processing audio-processing
我想使用bash脚本将audio.mp3音轨添加到无声的video.mp4文件中,"cvlc""ffmpeg"命令行的正确语法是什么?
我用VLC和--no-audio选项录制了视频,因此没有可以从原始视频复制的比特率或编码等设置.
llo*_*gan 29
例如流拷贝或重新多路复用器,从视频video.mp4
(输入0
)和从音频audio.mp3
(输入1
):
ffmpeg -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -codec copy -shortest out.mp4
Run Code Online (Sandbox Code Playgroud)
这将避免编码,因此非常快,不会影响质量.
如果您需要重新编码大小或者需要不同于输入的格式,您可以告诉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
Run Code Online (Sandbox Code Playgroud)
该-map
选项允许您指定所需的流,例如,-map 0:v
引用第一个输入的视频流.如果您没有告诉ffmpeg您想要哪些流,那么它将使用默认流选择,即为每种流类型选择一个流.默认值通常很好,但建议明确,以便获得预期的结果.
-shortest
当最短持续时间输入结束时,该选项指示ffmpeg结束输出文件.
始终建议使用最近的ffmpeg构建.最简单的方法是下载最近的ffmpeg构建,但您也可以按照指南编译ffmpeg.