【发布时间】:2013-12-13 19:48:42
【问题描述】:
我想使用 bash 脚本将 audio.mp3 音轨添加到无声 video.mp4 文件中,“cvlc”“ffmpeg”命令行的正确语法是什么?
我使用 VLC 和 --no-audio 选项录制了视频,因此没有可以从原始视频复制的比特率或编码等设置。
【问题讨论】:
标签: ffmpeg video-processing vlc audio-processing
我想使用 bash 脚本将 audio.mp3 音轨添加到无声 video.mp4 文件中,“cvlc”“ffmpeg”命令行的正确语法是什么?
我使用 VLC 和 --no-audio 选项录制了视频,因此没有可以从原始视频复制的比特率或编码等设置。
【问题讨论】:
标签: ffmpeg video-processing vlc audio-processing
stream copy 的示例,或重新复用来自video.mp4 的视频(输入0)和来自audio.mp3 的音频(输入1):
ffmpeg -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -codec copy -shortest out.mp4
这将避免编码,因此速度非常快,不会影响质量。
如果您确实需要重新编码大小或需要与输入不同的格式,您可以告诉 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 你想要什么流,那么它将使用默认的stream selection,即为每种流类型选择一个流。默认值通常很好,但建议明确,这样您可以获得预期的结果。
-shortest 选项指示 ffmpeg 在最短持续时间输入结束时结束输出文件。
始终建议使用最近的 ffmpeg 版本。最简单的方法是download a recent ffmpeg build,但您也可以关注guide to compile ffmpeg。
【讨论】: