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);

有什么办法解决这个问题吗?

解码器通常来自TI, Qualcomm等半导体供应商。这取决于解码器是否遵守帧率修改的要求。在应用程序层,你不能在这方面做太多。你所做的决定是正确的。如果底层解码器支持它,则可以修改,否则不能。

Vibgyor

我猜文档中说你可能无法从应用层设置帧速率。这取决于底层的解码器是否给了应用程序灵活性。我很清楚地记得我曾经尝试将帧率设置为3-4帧,但它仍然只给出默认帧率。我在Stagefright框架中看到,它将帧率调用传递给解码器,然后取决于解码器是否执行该调用。

Vibgyor

最新更新