2017-04-05 492 views
0

我正在使用MediaCodec将来自摄像机的视频编码为h264。我曾经有每秒30帧,这是我得到的输出,但现在我需要切换到25fps的和MediaFormat行:KEY_FRAME_RATE在Android中被忽略

format.setInteger(MediaFormat.KEY_FRAME_RATE, FRAME_RATE); 

不工作:我总是得到30fps的,无论这个值的(我甚至试图把5 fps和视频仍然平稳)。

我还需要做些什么才能达到我想要的fps值?

回答

1

MediaFormat.KEY_FRAME_RATE不会告知编码器丢弃帧。 Visit for more information

要减少你必须要么丢弃帧手动整体帧率,纠正以匹配所需的FPS时间戳(可能不是因为结果会是怎样一个较长的视频)

如何一个非常基本的,但良好的文档操纵帧率(可悲大多增加的速率),可以发现here

问候

+0

@MichelReap也可以校正的时间戳作为帧通过writeSampleData送入MediaMuxer()。 – nyttimangus

+0

wouldnt这使得视频波涛汹涌? – MichelReap