webrtc android引擎遇到使用MTK芯片华为荣耀手机截另外一款HISI芯片编的H264时,解码器不停的重启,判断可能是芯片问题,考虑到后续其他机型下的兼容问题,决心给webrtc加上ffmpeg软解,网上找的相关资料基本都是比较老的版本,M75下遇到一些新的坑,记在这里供大家参考。
1. third_party/ffmpeg/ffmpeg_generated.gni
打开此文件,可以看到许多编译选项,检查下,把包含H264的开关打开,这里遇到的坑是该打开哪些文件,可能会遇到一些问题,铁在这里:
2.third_party/ffmpeg/chromium/config/Chrome/{ABI}/config.h
// #define CONFIG_H264_DECODER 0
// 修改为:
#define CONFIG_H264_DECODER 1
3.third_party/ffmpeg/chromium/config/Chrome/android/{ABI}/libavcodec/parser_list.c
&ff_libopus_decoder,
// 增加 ff_h264_decoder
&ff_h264_decoder,
NULL };
4.third_party/ffmpeg/chromium/config/Chrome/android/{ABI}/libavcodec/codec_list.c
&ff_vorbis_parser,
// 增加 ff_h264_parser