MediaCodec 设置关键帧间隔失效

2018-03-07  本文已影响0人  uuniqe

现象描述:设置MediaFormat.KEY_I_FRAME_INTERVAL 间隔为1s;但是抓取数据时发现无效,手机上关键帧间隔达到了1分多钟;最终导致生成的视频无法播放时无法按秒选取指定位置;

方案:

1网上说的没有达到效果,只要设置一次,那么输出的每一帧都是关键帧,造成合成的mp4体积过大 :

Bundle params = new Bundle();

params.putInt(MediaCodec.PARAMETER_KEY_REQUEST_SYNC_FRAME, 0);

mVideoEncoder.setParameters(params);

2解决方案:

发现当选择支持颜色格式为yuv420p的编码器时,KEY_I_FRAME_INTERVAL 设置无效;

选择支持yuv420sp的编码器时,KEY_I_FRAME_INTERVAL 设置有效;

上一篇 下一篇

猜你喜欢

热点阅读