如何从 FLV 中提取音频?

Posted

技术标签:

【中文标题】如何从 FLV 中提取音频?【英文标题】:How can I extract audio from FLV? 【发布时间】:2011-04-22 01:47:18 【问题描述】:

我需要从使用 FMS 录制的 FLV 文件中提取音频。我使用了在我的 Flash 应用程序中编码的 SPEEX,它将音频和视频流式传输到 FMS。

我曾尝试使用 FFMPEG,但没有成功。这是我的 FLV 的 -i 输出:

FFmpeg 版本 SVN-rUNKNOWN,版权所有 (c) 2000-2007 Fabrice Bellard 等人。 配置: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable -debug --enable-shared --prefix=/usr libavutil 版本:1d.49.3.0 libavcodec 版本:1d.51.38.0 libavformat 版本:1d.51.10.0 建于 2010 年 4 月 23 日 15:11:13,gcc: 4.2.4 (Ubuntu 4.2.4-1ubuntu3) [flv @ 0xb7ed7110]不支持的音频编解码器 (b) [flv @ 0xb7ed7110]不支持的音频编解码器 (b) 输入 #0,flv,来自“m.flv”: 持续时间:00:00:05.0,开始:0.000000,比特率:N/A 流 #0.0:视频:flv、yuv420p、288x203、1000.00 fps(r) 流 #0.1:音频:0x000b,11025 Hz,单声道

我需要一个命令行实用程序,因为它将从服务器执行。

提前致谢。

【问题讨论】:

我有机会获得您的 FLV 副本吗?我正在尝试查找 FLV 中包含的 任何 Speex 工作示例,以调试我的应用程序。我能找到的所有例子都被打破了。见my question。 【参考方案1】:

典型的flv:

flv @ 0x152ba80]估计持续时间 从比特率,这可能是不准确的 [lavf] 流 0:视频 (flv),-vid 0 [lavf] 流 1:音频 (mp3),-aid 0 视频:[FLV1] 320x240 0bpp 25.000 fps 250.3 kbps (30.6 kbyte/s)

要阅读本文,必须使用附加选项编译 ffmpeg:

  --enable-gpl --enable-nonfree --enable-libmp3lame 

那么,

ffmpeg -i flvfile 1.mp3

【讨论】:

如果我尝试从使用除 FMS 之外的任何其他工具创建的 FLV 中提取音频,它可以在不更改我的 FFFMPEG 选项的情况下工作。问题在于从实时流和 FMS 创建的 FLV。 谢谢,但是如果我只是使用 apt-get 安装了 FFMPEG,如何重新编译它? 如果我这样做:sudo apt-get install libspeex,它会安装 libspeex1。如何重新编译 FFMPEG 来使用它?【参考方案2】:

试试这个网站:flv2mp3.com

更新:抱歉,我没有阅读您问题的命令行部分。

【讨论】:

以上是关于如何从 FLV 中提取音频?的主要内容,如果未能解决你的问题,请参考以下文章

一分钟教你如何轻松提取任何视频音频

从 MP4/FLV 中提取帧?

使用mplayer提取音频

使用ffmpeg从mp4或flv中提取h264原始视频流生成无效流

如何使用 ffmpeg 从 MPEG-4 文件中提取音频 [关闭]

如何处理音频字节以从实时音频流中提取 MFCC?