好多开发者在作产品竞品分析的时候,不知道如何界定一个RTSP播放器,大牛直播SDK认为,一个RTSP播放器,不是说有几个相似于Open/Close接口就够了,好的RTSP播放器须要具有如下功能和性能属性:html
1. 低延迟:大多数RTSP的播放都面向直播场景,因此,若是延迟过大,好比监控行业,小偷都走了,客户端才看到,或者别人已经按过门铃几秒,主人才看到图像,严重影响体验,因此,低延迟是衡量一个好的RTSP播放器很是重要的指标,目前大牛直播SDK的RTSP播放延迟控制在几百毫秒,VLC在几秒,这个延迟,是长时间的低延迟,好比运行1天、一周、一个月甚至更久;算法
2. 音视频同步或跳转:有些开发者为了追求低延迟体验,甚至不作音视频同步,拿到audio video直接播放,致使a/v不一样步,还有就是时间戳乱跳;服务器
3. 支持多实例:一个好的播放器,须要支持同时播放多路音视频数据,好比4-8-9-16-32窗口;网络
4. 支持buffer time设置:在一些有网络抖动的场景,播放器须要支持精准的buffer time设置,通常来讲,以毫秒计;ide
5. H.265的播放和录制:除了H.264,还须要支持H.265,目前市面上的RTSP H.265摄像头愈来愈多,支持H.265的RTSP播放器迫在眉睫,此外,单纯的播放H.265还不够,还须要能够能把H.265的数据能录制下来;性能
6. TCP/UDP模式切换:考虑到好多服务器仅支持TCP或UDP模式,一个好的RTSP播放器须要支持TCP/UDP模式自动切换;视频
7. 静音支持:好比,多窗口播放RTSP流,若是每一个audio都播放出来,体验很是很差,因此实时静音功能很是必要;htm
8. 视频view旋转:好多摄像头因为安装限制,致使图像倒置,因此一个好的RTSP播放器应该支持如视频view实时旋转(0° 90° 180° 270°)、水平反转、垂直反转;blog
9. 支持解码后audio/video数据输出(可选):大牛直播SDK接触到好多开发者,但愿能在播放的同时,获取到YUV或RGB数据,进行人脸匹配等算法分析,因此音视频回调可选;接口
10. 快照:感兴趣或重要的画面,实时截取下来很是必要;
11. 网络抖动处理(如断网重连):基本功能,再也不赘述;
12. 跨平台:一个好的播放器,跨平台(Windows/Android/iOS)颇有必要,起码为了后续扩展性考虑,开发的时候,有这方面的考虑,目前大牛直播SDK的RTSP播放器,完美支持以上平台;
13. 长期运行稳定性:提到稳定性,好多开发者不觉得然,实际上,一个好的产品,稳定是最基本的前提,不容忽视!
14. 能够录像:播放的过程当中,随时录制下来感兴趣的视频片段,存档或其余二次处理;
15. log信息记录:总体流程机制实时反馈,很少打log,可是不能一些重要的log,如播放过程当中出错等;
16. download速度实时反馈:能够看到实时下载速度反馈,以此来监听网络状态;
17. 异常状态处理:如播放的过程当中,断网、网络抖动、来电话、切后台后返回等各类场景的处理。
说了这么多,有开发者会反问,大牛直播SDK到底支持了哪些?如下作个简单功能概述,如不单独说明,系Windows、Android、iOS全平台支持: