安卓Stagefright无法设置视频帧率

3

我有一个应用程序,可以将设备上的视频流式传输到远程计算机。当尝试设置帧率时,我一直收到以下错误:

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个回答

1

解码器通常来自半导体供应商,如TI、高通等。它取决于解码器是否支持帧率修改的调用。从应用程序层面上,您无法对此做太多事情。您所做的调用是正确的。如果底层解码器支持,则可以进行修改,否则无法进行。

Vibgyor


-1

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

Vibgyor


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接