我有一个播放在线广播流的iOS项目,它使用FFmpeg播放。我还添加了记录流,通过avcodec_decode_audio4
函数解码流,并将输出写入.wav
文件的功能。但是这个文件太大了,因为它是未压缩的格式,所以我想将文件解码为.mp3
。
我找到了几种转换音频的方法,但只有在音频准备好文件的情况下,但是我想从流中获取大量数据,而不是准备文件时,我想要解码为某种压缩格式。
有可能吗? 你能给我一些建议吗?
答案 0 :(得分:0)
只要avcodec_decode_audio4
配置为跛脚(libav
,您就可以使用ffmpeg(aka libav)将您用--enable-libmp3lame
阅读的音频编码为mp3文件。 })。
基本上,你配置一个mp3编解码器,然后在avcodec_encode_audio2
的渐进输出上调用avcodec_decode_audio4
(谁命名这些东西?)。
canonical example可能会让人感到困惑,因为它也会处理视频,但您应该能够从中挑出您想要的详细信息。
arashafiei的post on transcoding audio广泛有用。