我有一个应用程序将视频从设备流式传输到远程计算机。当我尝试设置帧速率时,我会继续:
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);
有关如何解决此问题的任何想法?
答案 0 :(得分:1)
解码器通常来自TI,Qualcomm等半导体供应商。它取决于解码器是否遵守帧速率修改的要求。从应用层,你不能做太多。您正在进行的呼叫是正确的。如果底层解码器支持它,那么你可以修改其他你不能。
VIBGYOR
答案 1 :(得分:-1)
我想文档说您可能会或可能不会从应用程序层设置帧速率。这取决于底层解码器是否为应用程序提供了灵活性。我有点记得我曾尝试将帧速率设置为甚至3-4帧,但它仍然只提供默认帧速率。我已经在Stagefright框架中看到它将帧速率调用传递给解码器,然后依赖于解码器来接受呼叫。
VIBGYOR