我正在寻找一种提取 FLV 文件的音频部分的方法。

我正在从用户的麦克风进行录音,并且音频是使用 Nellymoser Asao 编解码器. 。这是默认的编解码器,无法更改。

有帮助吗?

解决方案

mpeg 是出路!它对我来说适用于 SVN Rev 14277。

我使用的命令是: ffmpeg -i source.flv -nv -f mp3 destination.mp3

陷阱 :

如果您收到此错误消息: Unsupported audio codec (n), , 检查 FLV规格 在里面 音频标签 部分。

ffMpeg 可以解码 n=6 (Nellymoser)。
但对于 n=4(Nellymoser 8-kHz 单声道)和 n=5(Nellymoser 16-kHz 单声道),它不起作用。

要解决这个问题 使用默认麦克风速率 录制流时,过度的 ffMpeg 无法解码它们。

希望这可以帮助 !

其他提示

这不是一个确切的答案,而是我根据业务需求调查 FLV 文件时所做的一些相关注释。

大多数 FLV 音频都以 MP3 格式编码,这意味着您可以直接从 FLV 容器中提取它。如果 FLV 是由某人通过麦克风录音创建的,则音频将使用专有的 Nellymoser Asao 编解码器 (IIRC) 进行编码。

我想看看 libav编解码器, ,它原生处理 FLV/MP3/Nellymoser,并且应该可以让您访问音频。

我目前正在使用 FFmpeg 版本 SVN-r12665 来实现此目的,没有任何问题(控制台版本,没有任何包装器库)。在非控制台 .NET 环境中使用控制台应用程序有一些注意事项,但这都相当简单。直接使用libavcodec DLL就麻烦多了。

我本来想推荐这个: http://code.google.com/hosting/takenDown?project=nelly2pcm&notice=7281.

但它已被撤下。很高兴我先得到了一份:-)

为此,可以使用纯 PHP 脚本。

FLV 到 MP3 转换器 - PHP 脚本

但是,这是商业性的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top