我有一个应用程序将视频从设备流式传输到远程计算机。当我尝试设置帧速率时,我不断得到:
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);有什么办法解决这个问题吗?
发布于 2012-02-15 13:16:55
解码器通常来自TI、Qualcomm等半导体厂商,这取决于解码器是否遵守修改帧率的要求。从应用程序层来看,您无法在这方面做太多工作。你所做的决定是正确的。如果底层解码器支持它,那么你可以修改它,否则你不能修改它。
可控震源
发布于 2012-02-14 15:15:16
我猜文档上说你可能能够也可能不能从应用层设置帧速率。这取决于底层解码器是否为应用程序提供了这种灵活性。我打赌记得,我曾尝试将帧率设置为3-4帧,但仍然只给出了默认的帧率。我在Stagefright框架中看到,它将帧速率调用传递给解码器,然后取决于解码器是否接受调用。
可控震源
https://stackoverflow.com/questions/7964621
复制相似问题