Chromium 改造实录:增加 MP2 音频支持

本文讲述了如何为 Chromium 添加 MP2 音频格式的支持。在解决MPEG TS视频解码后,面临音频解码问题,发现 Chromium 不支持 MP2。通过修改 Chromium 的音频编码列表、建立 FFmpeg 与 Chromium 编码的关联,以及在多个源文件中添加 MP2 相关支持,最终成功实现了 MP2 音频的解码。虽然MP2在广播行业常见,但在 Chromium 中需要手动扩展支持。
摘要由CSDN通过智能技术生成

在上一篇文章《Chromium 改造实录:增加 MPEG TS 格式支持》中,讲了如何为 Chromium 增加 MPEG TS 流的支持。但这项任务并没有结束,因为 TS 只是一种容器格式,现在只是相当于把盖子打开了,而里面的视频流和音频流能否播放,取决于音视频采用何种编码格式以及这些编码格式是否支持。

在解决了 TS 流中 H264 视频编码的解码问题后,我又碰到了音频解码问题。从 log 上看有如下信息:

03-08 06:38:13.096 31080 31932 V chromium: [VERBOSE1:ffmpeg_common.cc(122)] Unknown audio CodecID: 86016
03-08 06:38:13.096 31080 31932 V chromium: [VERBOSE1:batching_media_log.cc(37)] MediaEvent: {"debug":"Warning, FFmpegDemuxer failed to create a valid/supported audio decoder configuration from muxed str}

这里的 audio CodecID 是指定义在 third_party/ffmpeg/libavcodec/codec_id.h 文件中的 。这个文件中的 ID 以十六进制形式定义,简单转换一下,可以知道 log 中的 ID 对应的是 AV_CODEC_ID_MP2。

又是一个比较古旧的音频格式,而不是我们熟知的 MP3 和 AAC。关于 MP2 格式,介绍如下:

MP2 是 MPEG-1 Layer II 的缩写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云水木石

但行好事,莫问前程

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值