宜昌网站建设开发团队,做阿里国际网站多少钱,网站一般在哪建设,wordpress侧边栏显示单个分类列表好多开发者提到#xff0c;在目前开源播放器如此泛滥的情况下#xff0c;为什么还需要做自研框架的RTMP播放器#xff0c;自研和开源播放器#xff0c;到底好在哪些方面#xff1f;以下大概聊聊我们的一点经验#xff0c;感兴趣的#xff0c;可以关注 github#xff1a…好多开发者提到在目前开源播放器如此泛滥的情况下为什么还需要做自研框架的RTMP播放器自研和开源播放器到底好在哪些方面以下大概聊聊我们的一点经验感兴趣的可以关注 github
1. 低延迟大多数RTMP的播放都面向直播场景如果延迟过大严重影响体验所以低延迟是衡量一个好的RTMP播放器非常重要的指标目前大牛直播SDK的RTMP直播播放延迟比开源播放器更优异大牛直播SDK延迟在1秒左右开源播放器如VLC延迟在5-7秒而且长时间运行下大牛直播SDK播放端不会造成延迟累积开源或第三方播放器长时间运行容易产生延迟累积
部分服务器会缓存GOP确保快速实现首屏播放又不影响延迟对此我们设计了快速启动接口快速render第一帧的同时追到最新的播放数据
2. 音视频同步处理大多播放器为了追求低延迟甚至不做音视频同步拿到audio video直接播放导致a/v不同步还有就是时间戳乱跳等各种问题大牛直播SDK提供的播放器具备好的时间戳同步和异常时间戳矫正机制
备注如果是超低延迟模式下可以0 buffer不做音视频同步
3. 支持多实例大牛直播SDK提供的RTMP直播播放SDK支持在设备性能允许的情况下支持多实例播放RTMP流数据大多开源播放器对多实例支持不太友好
除了常规的多实例外比如大屏监控场景下尽管我们CPU占用已经是行业内非常低的了但是好多厂家下不是每路都需要全帧播放针对此种情况我们做了实时只播放关键帧和全帧播放的接口设计比如8个实例其中不太重要的几路数据可以设置只播放关键帧需要重点关注时点击全帧率播放即可这样既节省了系统开销又实现了多路播放的目的
4. 支持buffer time设置在一些有网络抖动的场景播放器需要支持buffer time设置一般来说以毫秒计开源播放器对此支持不够友好
5. 实时静音比如多窗口播放RTMP流如果每个audio都播放出来体验非常不好所以实时静音功能非常必要开源播放器不具备实时静音功能
6. 视频view旋转好多摄像头由于安装限制导致图像倒置所以一个好的RTMP播放器应该支持如视频view实时旋转(0° 90° 180° 270°)、水平反转、垂直反转开源或第三方播放器不具备此功能
7. 支持解码后audio/video数据输出大牛直播SDK接触到好多开发者希望能在播放的同时获取到YUV或RGB数据进行人脸匹配等算法分析开源播放器不具备此功能
8. 实时快照感兴趣或重要的画面实时截取下来非常必要一般播放器不具备快照能力开源播放器不具备此功能
9. 网络抖动处理(如断网重连)稳定的网络处理机制、支持如断网重连等开源播放器对网络异常处理支持较差
10. 长期运行稳定性大牛直播SDK提供的RTMP直播播放SDK适用于长时间运行开源播放器对长时间运行稳定性支持较差
11. 实时下载速度反馈大牛直播SDK提供音视频流实时下载回调并可设置回调时间间隔确保实时下载速度反馈以此来监听网络状态开源播放器不具备此能力
12. 异常状态处理、Event状态回调如播放的过程中断网大牛直播SDK提供的播放器可实时回调相关状态确保上层模块感知处理开源播放器对此支持不好
13. 设置视频填充模式等比例显示好多情况下有些场景需要全view铺满播放有些为了防止视频拉伸可以设置成等比例缩放显示
14. D3D检测一般来说市面上的大多Windows都支持D3D有些小众化的只支持GDI模式绘制所以为了更好的兼容性这个接口非常必要
15. 实时音量调节实时音量调节特别是在多路播放的场景下如大屏窗体环境下通过更细粒度的音量调节实现更好的播放体验
16. 只播放关键帧特别是大屏多实例场景播放的时候尽管我们已经CPU占用非常低了如果只是查看大概的监控情景实现更多路的播放只播放关键帧是个非常好的功能点如果需要原始帧播放可以实时调节即可
17. 特定机型硬解码特定机型硬解码也主要是用于多路播放场景下通过硬解码实现更低的CPU占用目的。