最近,我继续在做AR云渲染项目,在华为手机P40PRO上测试,视频解码经常延迟2-3帧才能解码出来,直接表现就是首屏时延比较大。看华为社区给出的解决方案,能够有一定的优化效果。
主要是设置mediaFormat增加2个参数vendor.hisi-ext-low-latency-video-dec.video-scene-for-low-latency-req 跟vendor.hisi-ext-low-latency-video-dec.video-scene-for-low-latency-rdy
MediaFormat newFormat = MediaFormat.createVideoFormat(MediaFormat.MIMETYPE_VIDEO_AVC, width, height);
if (Build.VERSION.SDK_INT >= 29) {
newFormat.setInteger("vendor.hisi-ext-low-latency-video-dec.video-scene-for-low-latency-req", 1);
newFormat.setInteger("vendor.hisi-ext-low-latency-video-dec.video-scene-for-low-latency-rdy", -1);
}
大家可以去试试,看看能否解决你的问题。
如果设置的还是没有多大用处,可以尝试用一下2个参数设置:
newFormat.setInteger("vendor.hisi-ext-video-dec-avc.video-scene-for-cloud-pc-req", 1);
newFormat.setInteger("vendor.hisi-ext-video-dec-avc.video-scene-for-cloud-pc-rdy", -1);
参考文献:
https://developer.huawei.com/consumer/cn/forum/topic/0202325564295980115