优质网站策划,新编网页设计与制作教程,vps推荐,网站建设职员好多开发者#xff0c;在自研或者选择市面上的播放器的时候#xff0c;除了常规的播放功能#xff0c;还有很多点值得关注#xff0c;如延迟、资源占用、网络异常处理、多实例支持、长时间运行稳定性等。以下是我们开发直播播放器过程中#xff0c;考虑的部分关键因素在自研或者选择市面上的播放器的时候除了常规的播放功能还有很多点值得关注如延迟、资源占用、网络异常处理、多实例支持、长时间运行稳定性等。以下是我们开发直播播放器过程中考虑的部分关键因素以Windows平台RTSP直播播放为例如需下载demo源码可以到 Github 下载
1. 低延迟大多数RTSP的播放都面向直播场景所以如果延迟过大严重影响体验所以低延迟是衡量一个好的RTSP播放器非常重要的指标目前大牛直播SDK的RTSP直播播放延迟比开源播放器更优异而且长时间运行下不会造成延迟累积
2. 音视频同步处理有些播放器为了追求低延迟甚至不做音视频同步拿到audio video直接播放导致a/v不同步还有就是时间戳乱跳等各种问题大牛直播SDK提供的播放器具备好的时间戳同步和异常时间戳矫正机制
3. 支持多实例大牛直播SDK提供的播放器支持同时播放多路音视频数据比如4-8-9窗口大多开源播放器对多实例支持不太友好
4. 支持buffer time设置在一些有网络抖动的场景播放器需要支持buffer time设置一般来说以毫秒计开源播放器对此支持不够友好
5. TCP/UDP模式设定、自动切换考虑到好多服务器仅支持TCP或UDP模式一个好的RTSP播放器需要支持TCP/UDP模式设置如链接不支持TCP或UDP大牛直播SDK可自动切换开源播放器不具备自动切换TCP/UDP能力
6. 实时静音比如多窗口播放RTSP流如果每个audio都播放出来体验非常不好所以实时静音功能非常必要开源播放器不具备实时静音功能
7. 视频view旋转好多摄像头由于安装限制导致图像倒置所以一个好的RTSP播放器应该支持如视频view实时旋转(0° 90° 180° 270°)、水平反转、垂直反转开源播放器不具备此功能
8. 支持解码后audio/video数据输出大牛直播SDK接触到好多开发者希望能在播放的同时获取到YUV或RGB数据进行人脸匹配等算法分析开源播放器不具备此功能
9. 实时快照感兴趣或重要的画面实时截取下来非常必要一般播放器不具备快照能力开源播放器不具备此功能
10. 网络抖动处理(如断网重连)稳定的网络处理机制、支持如断网重连等开源播放器对网络异常处理支持较差
11. 长期运行稳定性不同于市面上的开源播放器大牛直播SDK提供的Windows平台RTSP直播播放SDK适用于数天长时间运行开源播放器对长时间运行稳定性支持较差
12. log信息记录整体流程机制记录到LOG文件确保出问题时有据可依开源播放器几无log记录。
13. 实时下载速度反馈大牛直播SDK提供音视频流实时下载回调并可设置回调时间间隔确保实时下载速度反馈以此来监听网络状态开源播放器不具备此能力
14. 异常状态处理、Event状态回调如播放的过程中断网、网络抖动、等各种场景大牛直播SDK提供的播放器可实时回调相关状态确保上层模块感知处理开源播放器对此支持不好
15. 关键帧/全帧播放实时切换特别是播放多路画面的时候如果路数过多全部解码、绘制系统资源占用会加大如果能灵活的处理可以随时只播放关键帧全帧播放切换对系统性能要求大幅降低。
总的来说无论是基于开源播放器二次开发还是全自研一个好的RTMP播放器或RTSP播放器设计的时候更多考虑的应该是如何做的更灵活、稳定单纯的几个接口很难满足通用化的产品诉求。