我对 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,而不是使用原始音频。这是这里最重要的参数。1
1: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
执行此操作的选项。