Android推流帧率设定

如果您在Android平台上通过setVideoFPS设置帧率为30,可能会发现实际帧率只有20FPS,什么原因?

硬件限制
部分安卓机器的Camera接口无法实现30FPS及以上的数据采集频率,这个问题在很多机型的前置摄像头上尤为明显。

编码不足 我们一般说编码不足是说编码器的计算量太大,机器性能无法胜任,对于Android而言尤为明显。其实Android的CPU核心数一直领先iPhone,然而CPU晶体管数量却没有什么优势,这就意味着Android手机的单个核心计算能力是远不及iPhone的,再加上Android系统的降频策略往往比较激进,所以每个核心的计算能力被软件又限制了一层。

优化方案
如果您得目标画质是360 * 640 级别,主要场景是是做美女主播等秀场模式,那么软件编码在绝大多数中高端Android手机上是可以实现30FPS的,如果更高的分辨率,就推荐启用硬件编码了。Android RTMP SDK的硬件编码中有详细介绍,当然,鱼与熊掌不可兼得,这会牺牲部分机型的兼容。

20FPS足以
是的,如果视频源来自摄像头捕捉的画面,20FPS大部分场景下就已经安全足够了,要知道24FPS以上,我们的眼睛就无法看到有任何不流畅的地方。更高的帧率则只适合于手机游戏直播这类用3D模型和实时计算模拟出的动画场景。
---------------------
作者:HugoforAndroid
来源:CSDN
原文:https://blog.csdn.net/lipengshiwo/article/details/53174981
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自www.cnblogs.com/kiss-passion/p/10373734.html