Android平台常用FFmpeg编码器与解码器咨询
当然可以问!针对Android平台FFmpeg体积过大的问题,从裁剪不必要的编解码器入手绝对是精准的优化方向。我整理了Android场景下最常用的编码器和解码器,再给你一些配置上的小建议:
Android平台常用FFmpeg编码器
- H.264(AVC):对应编码器
libx264(软件编码)或h264_mediacodec(硬件加速),是Android生态里兼容性最广的视频编码标准,适配本地录制、流媒体传输等绝大多数场景。 - H.265(HEVC):对应编码器
libx265或hevc_mediacodec,压缩效率比H.264高30%左右,适合需要节省存储空间或带宽的场景,中高端Android设备普遍支持。 - AAC:对应编码器
aac或aac_mediacodec,Android系统默认的音频编码格式,兼容性拉满,几乎所有音频录制、播放场景都离不开它。 - VP9:对应编码器
libvpx-vp9或vp9_mediacodec,谷歌主推的开源视频编码,压缩率表现优秀,适配YouTube等流媒体平台,近年发布的新设备支持度不错。 - MP3:对应编码器
libmp3lame,虽然是较老的格式,但兼容性极强,适合需要兼容旧设备的音频场景。
Android平台常用FFmpeg解码器
- H.264(AVC):对应解码器
h264或h264_mediacodec,属于必保留的基础解码器,绝大多数网络视频、本地视频都采用该格式编码。 - H.265(HEVC):对应解码器
hevc或hevc_mediacodec,目前越来越多视频平台开始普及该格式,中高端设备建议保留。 - AAC:对应解码器
aac,Android系统级支持的音频格式,几乎所有主流音频内容都依赖它解码。 - VP8/VP9:对应解码器
vp8、vp9或vp8_mediacodec、vp9_mediacodec,适配WebM格式视频,不少短视频平台也会用到这类编码。 - MP3:对应解码器
mp3,兼容旧音频内容的必备项,若你的应用不需要适配老设备可考虑移除。 - MPEG-4:对应解码器
mpeg4,部分早期视频文件可能采用该格式,按需保留即可。
配置优化小建议
- 你可以先用
./configure --list-encoders确认所有可选编码器,然后在配置时先加上--disable-everything,再通过--enable-encoder=xxx、--enable-decoder=xxx逐个启用上述必要的编解码器,这样能最大程度剔除冗余模块。 - 优先启用带
_mediacodec后缀的硬件加速编解码器,既能提升编码/解码性能,又能减少FFmpeg自身库的体积(因为硬件加速依赖系统原生组件)。 - 若项目允许,可选择编译动态库(加上
--disable-static --enable-shared),或者编译静态库时只打包必要的模块,进一步压缩体积。
内容的提问来源于stack exchange,提问作者CoXier
相关产品推荐
相关产品推荐

