从视频中提取并重新组合音频

从视频中提取并重新组合音频

我对 Vegas、Premiere、Pinnacle、SoundForge 以及我尝试过的所有其他编辑器都厌倦了。

我正在尝试修改 AVI 文件的音频,但我尝试过的所有编辑器都坚持在我保存更改时重新编码视频,并且要么降低质量,要么花费几个小时。

有没有办法从视频中提取音频流ffmpeg,在音频编辑器中编辑它,然后将保存的更改与视频重新组合?

答案1

首先,确保你安装了最新版本的 FFmpeg从他们的下载页面。对于 Windows、Linux 和 OS X,有静态版本可用。在 OS X 上,您还可以使用自制(和brew install ffmpeg)。

从视频中提取音频

为了从文件中提取音频流,我们将其导出为 WAV 容器中的 PCM 立体声音频,因为它是无损的并且不会被重新编码:

ffmpeg -i input-file.avi audio.wav

当然,您可以使用许多其他编解码器,例如 FLAC 或 ALAC。不过,WAV(或 Apple 上的 AIFF)中的 PCM 内容可能最适合编辑。

现在,根据需要将任何效果应用到您的音频流。

重新组合音频和视频

要重新组合音频流和视频文件,请运行:

ffmpeg -i input-file.avi -i audio.wav -c copy -map 0:0 -map 1:0 output.avi

评论

对于流映射来说,视频和音频文件的正确顺序(-i video, )非常重要。否则可能无法正常工作。-i audio

该选项将把第二个输入文件( in )-map 0:0 -map 1:0中的音频映射到 AVI,而不是使用原始音频。这是这里最重要的参数。11:0

理论上,您可以将 更改-c copy为仅复制视频比特流(-c:v copy)并使用任何其他压缩音频编解码器,因为copy将尝试使用未压缩的 PCM 立体声音频。同样,您当然可以将编辑后的音频文件保存为 MP3 并使用它,但保留copy

要将 PCM 立体声 WAV 文件编码为 MP3,请执行以下操作:

ffmpeg -i input-file.avi -i audio.wav -c:v copy -c:a libmp3lame -map 0:0 -map 1:0 output.avi

如果您的音频文件比视频文件短,您可能需要循环播放。提供-loop 1执行此操作的选项。

相关内容