如何对RTSP播放器做功能和性能评估

简介: 好多开发者在做产品竞品分析的时候,不知道如何界定一个RTSP播放器,大牛直播SDK认为,一个RTSP播放器,不是说有几个类似于Open/Close接口就够了,好的RTSP播放器需要具备以下功能和性能属性:

好多开发者在做产品竞品分析的时候,不知道如何界定一个RTSP播放器,大牛直播SDK认为,一个RTSP播放器,不是说有几个类似于Open/Close接口就够了,好的RTSP播放器需要具备以下功能和性能属性:


1. 低延迟:大多数RTSP的播放都面向直播场景,所以,如果延迟过大,比如监控行业,小偷都走了,客户端才看到,或者别人已经按过门铃几秒,主人才看到图像,严重影响体验,所以,低延迟是衡量一个好的RTSP播放器非常重要的指标,目前大牛直播SDK的RTSP播放延迟控制在几百毫秒,VLC在几秒,这个延迟,是长时间的低延迟,比如运行1天、一周、一个月甚至更久;


2. 音视频同步或跳转:有些开发者为了追求低延迟体验,甚至不做音视频同步,拿到audio video直接播放,导致a/v不同步,还有就是时间戳乱跳;


3. 支持多实例:一个好的播放器,需要支持同时播放多路音视频数据,比如4-8-9-16-32窗口;


4. 支持buffer time设置:在一些有网络抖动的场景,播放器需要支持精准的buffer time设置,一般来说,以毫秒计;


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都播放出来,体验非常不好,所以实时静音功能非常必要;


8. 视频view旋转:好多摄像头由于安装限制,导致图像倒置,所以一个好的RTSP播放器应该支持如视频view实时旋转(0° 90° 180° 270°)、水平反转、垂直反转;


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全平台支持:

20180729215054549.png

  • [支持播放协议]高稳定、超低延迟、业内首屈一指的RTSP直播播放器SDK;
  • [多实例播放]支持多实例播放;
  • [事件回调]支持网络状态、buffer状态等回调;
  • [视频格式]支持H.265、H.264,此外,Windows/Android平台还支持RTSP MJPEG播放;
  • [音频格式]支持AAC/PCMA/PCMU;
  • [H.264/H.265软解码]支持H.264/H.265软解;
  • [H.264硬解码]Android/iOS支持H.264硬解;
  • [H.265硬解]Android/iOS支持H.265硬解;
  • [H.264/H.265硬解码]Android支持设置Surface模式硬解和普通模式硬解码;
  • [RTSP模式设置]支持RTSP TCP/UDP模式设置;
  • [RTSP TCP/UDP自动切换]支持RTSP TCP、UDP模式自动切换;
  • [RTSP超时设置]支持RTSP超时时间设置,单位:秒;
  • [RTSP 401认证处理]支持上报RTSP 401事件,如URL携带鉴权信息,会自动处理;
  • [缓冲时间设置]支持buffer time设置;
  • [首屏秒开]支持首屏秒开模式;
  • [复杂网络处理]支持断网重连等各种网络环境自动适配;
  • [快速切换URL]支持播放过程中,快速切换其他URL,内容切换更快;
  • [音视频多种render机制]Android平台,视频:surfaceview/OpenGL ES,音频:AudioTrack/OpenSL ES;
  • [实时静音]支持播放过程中,实时静音/取消静音;
  • [实时快照]支持播放过程中截取当前播放画面;
  • [渲染角度]支持0°,90°,180°和270°四个视频画面渲染角度设置;
  • [渲染镜像]支持水平反转、垂直反转模式设置;
  • [实时下载速度更新]支持当前下载速度实时回调(支持设置回调时间间隔);
  • [解码前视频数据回调]支持H.264/H.265数据回调;
  • [解码后视频数据回调]支持解码后YUV/RGB数据回调;
  • [解码前音频数据回调]支持AAC/PCMA/PCMU/SPEEX数据回调;
  • [音视频自适应]支持播放过程中,音视频信息改变后自适应;
  • [扩展录像功能]完美支持和录像SDK组合使用(支持RTSP H.265流录制,支持PCMA/PCMU转AAC后录制,支持设置只录制音频或视频)。
相关文章
ffmpeg 命令提取音视频数据-ffmpeg导出h265裸流-ffmpeg导出h264裸流
ffmpeg 命令提取音视频数据-ffmpeg导出h265裸流-ffmpeg导出h264裸流
485 0
|
运维 安全 SDN
网络拓扑设计与优化:构建高效稳定的网络架构
【8月更文挑战第17天】网络拓扑设计与优化是一个复杂而重要的过程,需要综合考虑多方面因素。通过合理的拓扑设计,可以构建出高效稳定的网络架构,为业务的顺利开展提供坚实的支撑。同时,随着技术的不断进步和业务需求的不断变化,网络拓扑也需要不断优化和调整,以适应新的挑战和机遇。
|
自然语言处理 测试技术 Python
开源创新框架MoA,可极大增强大模型的能力
【7月更文挑战第16天】MoA(Mixture-of-Agents)是一种创新框架,通过分层架构融合多个LLMs的专业知识,增强大模型能力。在AlpacaEval等基准测试中表现优越,展示出利用LLMs集体优势的巨大潜力。然而,模型复杂性、代理选择、可解释性和鲁棒性是待解决的挑战。[论文链接](https://arxiv.org/abs/2406.04692)
493 2
|
自然语言处理 测试技术 人工智能
Meta等最新研究:多token预测,提升大模型推理效率
【6月更文挑战第2天】Meta等机构的研究人员提出了一种新的大型语言模型训练方法——多token预测,以提高样本效率和推理速度。该方法要求模型同时预测多个接下来的token,而非传统的单一token预测,从而减少局部模式依赖,提高模型的宏观决策能力。实验表明,这种方法在提升模型性能和推理速度方面效果显著,尤其在编程任务中表现出色。然而,多token预测可能需要更多计算资源,并不适用于所有NLP任务,其在自然语言处理领域的应用仍有待深入研究。论文链接:https://arxiv.org/abs/2404.19737
586 7
genalloc/genpool 子系统 【ChatGPT】
genalloc/genpool 子系统 【ChatGPT】
162 11
|
存储 算法 Java
Android 进阶——代码插桩必知必会&ASM7字节码操作
Android 进阶——代码插桩必知必会&ASM7字节码操作
1187 0
|
SQL 存储 关系型数据库
mysqldump+binlog+gtid 实现数据库的增量备份(下)
mysqldump+binlog+gtid 实现数据库的增量备份(下)
645 0
|
数据处理 索引 Python
使用Rasterio读取栅格数据
有没有觉得用GDAL的Python绑定书写的代码很不Pythonic,强迫症的你可能有些忍受不了。不过,没关系,MapBox旗下的开源库Rasterio帮我们解决了这个痛点。 Rasterio是基于GDAL库二次封装的更加符合Python风格的主要用于空间栅格数据处理的Python库。
556 0
|
iOS开发 MacOS Python
Mac:安装Python3并配置环境变量(本地多个Python版本选择配置)
Mac:安装Python3并配置环境变量(本地多个Python版本选择配置)
16680 0
Mac:安装Python3并配置环境变量(本地多个Python版本选择配置)
|
存储 运维 NoSQL
悦数图数据库与 keyarchOS 完成浪潮信息澎湃技术认证
日前,悦数图数据库与浪潮信息云峦操作系统 keyarchOS 完成兼容性适配测试。测试结果显示,悦数图数据库与 KeyarchOS X86_64 版本、aarch64 版本均完全兼容,整体运行稳定高效,在功能、性能及兼容性方面表现良好,可充分满足用户关键性应用需求。