Android Stagefright无法设置视频帧率

时间:2011-11-01 09:33:18

标签: android stagefright

我有一个应用程序将视频从设备流式传输到远程计算机。当我尝试设置帧速率时,我会继续:

ERROR/StagefrightRecorder(131): Failed to set frame rate to 15 fps. The actual frame rate is 30

我使用的代码是:

video = new MediaStreamer();        
video.setVideoSource(MediaRecorder.VideoSource.CAMERA);
video.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
video.setVideoFrameRate(frameRate);

有关如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:1)

解码器通常来自TI,Qualcomm等半导体供应商。它取决于解码器是否遵守帧速率修改的要求。从应用层,你不能做太多。您正在进行的呼叫是正确的。如果底层解码器支持它,那么你可以修改其他你不能。

VIBGYOR

答案 1 :(得分:-1)

我想文档说您可能会或可能不会从应用程序层设置帧速率。这取决于底层解码器是否为应用程序提供了灵活性。我有点记得我曾尝试将帧速率设置为甚至3-4帧,但它仍然只提供默认帧速率。我已经在Stagefright框架中看到它将帧速率调用传递给解码器,然后依赖于解码器来接受呼叫。

VIBGYOR