KEY_FRAME_RATE在Android中被忽略
问题描述:
我正在使用MediaCodec将来自摄像机的视频编码为h264。我曾经有每秒30帧,这是我得到的输出,但现在我需要切换到25fps的和MediaFormat行:KEY_FRAME_RATE在Android中被忽略
format.setInteger(MediaFormat.KEY_FRAME_RATE, FRAME_RATE);
不工作:我总是得到30fps的,无论这个值的(我甚至试图把5 fps和视频仍然平稳)。
我还需要做些什么才能达到我想要的fps值?
答
MediaFormat.KEY_FRAME_RATE不会告知编码器丢弃帧。 Visit for more information。
要减少你必须要么丢弃帧手动整体帧率,纠正以匹配所需的FPS时间戳(可能不是因为结果会是怎样一个较长的视频)
如何一个非常基本的,但良好的文档操纵帧率(可悲大多增加的速率),可以发现here
问候
@MichelReap也可以校正的时间戳作为帧通过writeSampleData送入MediaMuxer()。 – nyttimangus
wouldnt这使得视频波涛汹涌? – MichelReap