Linux:从视频文件提取音频(视频到Mp3)

时间:2020-01-09 10:42:14  来源:igfitidea点击:

如何在Linux和UNIX中从视频文件(例如.avi/.mpg/.flv)中提取音频并将其转换为.mp3文件?
您可以使用mplayer,它是Linux和UNIX的电影播放器。
它可以播放大多数受许多本机和二进制编解码器支持的MPEG/VOB,AVI,ASF/WMA/WMV,RM,QT/MOV/MP4,Ogg/OGM,MKV,VIVO,FLI,NuppelVideo,yuv4mpeg,FILM和RoQ文件。
您也可以观看VCD,SVCD,DVD,3ivx,DivX 3/4/5,WMV甚至H.264电影。
可以使用相同的工具来隐藏或者提取文件中的音频。
语法如下:

mplayer -dumpaudio -dumpfile output_filename.mp3 input.video_file.name

其中:

  • -dumpaudio:将原始压缩音频流转储到./stream.dump(与MPEG/AC-3一起使用,在大多数其他情况下,所得文件将无法播放)。如果在命令行上给-dumpaudio,-dumpvideo和-dumpstream中的一个以上,则仅最后一个有效。
  • -dumpfile filename.mp3:指定MPlayer应该转储到哪个文件(filename.mp3)。应与-dumpaudio/-dumpvideo/-dumpstream一起使用。

从.AVI文件中提取音频

执行以下命令以将音频从clip.avi提取到clip_track.mp3:

$ mplayer -dumpaudio -dumpfile clip_track.mp3 clip.avi

您可以使用mplayer命令本身播放提取的音频:

$ mplayer clip_track.mp3

从VCD或者DVD轨道中提取音频

以下命令将从VCD轨道4中提取音频:

$ mplayer vcd://04 -cdrom-device /dev/sr0 -dumpaudio -dumpfile /tmp/track04.mp3

以下命令将从DVD轨道4中提取音频:

$ mplayer dvd://04 -cdrom-device /dev/sr0 -dumpaudio -dumpfile /tmp/track04.mp3

您可以使用bash for loop提取轨道5至10,如下所示:

for i in {05..10}
do
  mplayer vcd://$i -cdrom-device /dev/sr0 -dumpaudio -dumpfile /tmp/track$i.mp3
done

从流中提取音频

使用以下语法:

$ mplayer -dumpstream http://example.com/xyz/3 -dumpfile /tmp/stream_03.mp3