音频解码
解码器类型
软件解码器
– FFmpeg/libavcodec:开源解码库,支持几乎所有音频格式
– libopus:Opus解码器
– fdk-aac:AAC解码器
硬件解码器
– 部分SoC集成硬件音频解码器
– 支持常见格式(AAC、MP3等)
– 功耗低,适合移动设备
解码流程
码流解析
– 解析容器格式(MP4、FLV、OGG等)
– 提取编码参数(采样率、声道数、码率等)
– 解析音频帧数据
音频重建
– 解码音频帧
– 应用反变换(如IMDCT)
– 输出PCM数据
错误恢复
– 检测丢包或错误帧
– 使用错误隐藏(静音、重复前一帧、插值等)
– 请求重传或使用FEC
5.3 解码优化
多线程解码
– 帧级并行解码
– 注意线程同步
硬件加速
– 使用硬件解码器,降低CPU占用
– 注意格式支持
低延迟解码
– 减少缓冲
– 快速启动
– 适合实时通信
