在FFmpeg for Android中解码AAC

在FFmpeg for Android中解码AAC,第1张

概述我正在尝试使用AAC解码 Android设备上的M4A文件. 我使用以下代码初始化编解码器. codec = avcodec_find_decoder(CODEC_ID_AAC);c= avcodec_alloc_context();avcodec_open(c, codec); 但是,当我稍后尝试使用以下方法解码帧时: len = avcodec_decode_audio3(c, (shor 我正在尝试使用AAC解码 Android设备上的M4A文件.

我使用以下代码初始化编解码器.

codec = avcodec_find_decoder(CODEC_ID_AAC);c= avcodec_alloc_context();avcodec_open(c,codec);

但是,当我稍后尝试使用以下方法解码帧时:

len = avcodec_decode_audio3(c,(short *)mOutbuf,&out_size,&avpkt);

我在日志中得到-1(表示错误)和以下内容.

10-11 16:30:01.115: INFO/M4ADecoder(5260): channel element 0.0 is not allocated10-11 16:30:02.195: INFO/M4ADecoder(5260): channel element 2.0 is not allocated10-11 16:30:03.295: INFO/M4ADecoder(5260): channel element 0.6 is not allocated10-11 16:30:07.645: INFO/M4ADecoder(5260): Sample rate index in program config element does not match the sample rate index configured by the container.10-11 16:30:07.655: INFO/M4ADecoder(5260): Number of bands (3) exceeds limit (2).

在设置编解码器时,我还需要做任何其他步骤吗?在将数据发送到AAC解码器之前,是否需要预先解析文件?

使用Mac OSX上的最新ffmpeg代码(即ffmpeg -i filename.m4a“),同一文件可以正常工作.

解决方法 AndroID手机上的命令行exec工作正常(ffmpeg m4a到flac)

http://pastebin.com/3ZH3HQKc

上面是在GNexus上运行的AndroID 4.1.1上的ffmpeg的stdout …

有关ffmpeg转换的详细信息(m4a / aac到flac / flac):

使用ffmpeg可执行文件而不是调用libavcodec的c程序

总结

以上是内存溢出为你收集整理的在FFmpeg for Android中解码AAC全部内容,希望文章能够帮你解决在FFmpeg for Android中解码AAC所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1124681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存