mediacodec 帧率控制问题

问题描述:在设置编码器帧率之后,发现把编码后的裸流(h264)存文件后播放是设置的帧率不一致,没有效果。

private MediaFormat initLowFrameEncodeFormat(String mime, int width, int height) {
MediaFormat format = MediaFormat.createVideoFormat(mime, width, height);
format.setInteger(MediaFormat.KEY_BIT_RATE, 2*1000*1000);
format.setInteger(MediaFormat.KEY_FRAME_RATE, 1);
format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 0);
format.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420Flexible);
return format;
}
 

解决方法: 裸流设置帧率是没有效果的,需要把视频流(h264)经mediamuxer放入mp4中才有效果。

mTrackIndex = mMediaMuxer.addTrack(outputFormat);
mMediaMuxer.start();
 

猜你喜欢

转载自www.cnblogs.com/Jokeyyu/p/10871218.html