从视频中提取音频而不进行转换的命令


25

我知道flvmp4文件都包含aac音频,而avi视频通常是mp3音频流。

什么命令(avconv,ffmpeg)将提取音频而不进行代码转换?

audio  video 

您可能对我制作的PHP脚本感兴趣,该脚本用于自动确定输出音频文件的扩展名。
Gras Double

Answers:


29
ffmpeg -i video.mp4 -vn -acodec copy audio.aac

这是每个参数的简要说明:

  • -i 选项指定输入文件。
  • -vn 选项用于跳过视频部分。
  • -acodec copy 将复制保留原始编解码器的音频流。

而mp4视频包含aac音频,而不是mp3,是否保持音频流不进行转码?

1
没有照顾输出文件扩展名,我的错。更新了答案。无论如何,如果您阅读完整的答案,将会发现-acodec副本,这避免了转码。
jherran 2014年

我建议使用m4a(aac的容器)而不是aac,因为它似乎不容易玩

在使用ffmpeg或avconv时,是否有可能在不提及输入/输出文件的真实名称的情况下使用命令,从而使命令像这样使用?(我想在nemo文件管理器的上下文菜单操作中使用它)

1
您可能想要使用变量或类似的变量,但最好是询问所有具体细节的问题。
jherran 2014年

4

作为补充性答案,使用不需要文件特定名称的命令。

对于包含aac音频的视频:

ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a

要在上下文菜单命令中使用,应使用如下形式:

bash -c 'ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a' %f 

用其他视频格式输入的相应音频格式输出替换。


这里的原始资料。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.