【发布时间】:2017-03-06 18:04:48
【问题描述】:
我使用MediaCodec对相机数据进行编码,当我在名为Vivo X5 Pro(android 5.0, API 21)的设备上使用时,MediaCodec编码的数据大小在90000以上,而在其他设备上通常大小在15000左右.但是我改变了媒体格式的参数,它也不起作用。 我还发现,当我在 Vivo X5 Pro(android 5.0,API 21)上使用 MediaCodec.getOutputFormat() 方法获取格式时,它有 7 个数据,比其他正常情况多一个,它名为“buffer-size”,值为1048576,这会影响MediaCodec编码吗?如何使用 Vivo X5 Pro(android 5.0, API 21) 对正常数据大小进行编码?感谢帮助!!!
MediaCodec mEncoder = MediaCodec.createEncoderByType(MediaFormat.MIMETYPE_VIDEO_AVC);
MediaFormat format = MediaFormat.createVideoFormat(MediaFormat.MIMETYPE_VIDEO_AVC, 320, 568);
format.setInteger(MediaFormat.KEY_BIT_RATE, 320 * 568 * 2);
format.setInteger(MediaFormat.KEY_FRAME_RATE, 20);
format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 1);
format.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, 320 * 568);
PS:但是我更改参数 Vivo X5 Pro(android 5.0, API 21) 编码数据大小仍然高于 90000。
【问题讨论】:
标签: android encoding android-mediacodec