好多开发者,在自研或者选择市面上的播放器的时候,除了常规的播放功能,还有很多点值得关注,如延迟、资源占用、网络异常处理、多实例支持、长时间运行稳定性等。以下是我们开发直播播放器过程中,考虑的部分关键因素(以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播放器,设计的时候,更多考虑的应该是如何做的更灵活、稳定,单纯的几个接口,很难满足通用化的产品诉求。

RTSP播放器开发过程中需要考虑哪些关键因素相关推荐

  1. Windows平台RTSP播放器/RTMP播放器设计需要考虑的几个点

    我们在实现Windows平台RTSP播放器或RTMP播放器的时候,需要考虑的点很多,比如多实例设计.多绘制模式兼容.软硬解码支持.快照.RTSP下TCP-UDP自动切换等,以下就其中几个方面,做个大概 ...

  2. Windows平台RTMP、RTSP播放器录像模块精细化控制

    技术背景 上篇文章,我们介绍了Unity平台RTMP.RTSP播放器录像功能,这里,我们详细的介绍下,做个RTSP或RTMP拉流端录像模块有哪些需要考虑的技术点? 在我们常规的考量,RTMP或RTSP ...

  3. RTSP播放器开发填坑之道

    好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTSP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延 ...

  4. Android平台RTMP/RTSP播放器开发系列之解码和绘制

    本文主要抛砖引玉,粗略介绍下Android平台RTMP/RTSP播放器中解码和绘制相关的部分(Github). 解码 提到解码,大家都知道软硬解,甚至一些公司觉得硬解码已经足够通用,慢慢抛弃软解了,如 ...

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

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

  6. RTSP 播放器 demo

    应群中一个兄弟的请求,义务帮他做的rtsp播放器宣传一下. 可在此网址http://download.csdn.net/detail/nkmnkm/4432919下载其demo. --------手册 ...

  7. EasyPlayer RTSP播放器:一个适用于安防行业的工具利器(EasyPlayer Windows v2.0.17.0709)

    EasyPlayer-RTSP-Win播放器最新版本下载:https://github.com/EasyDSS/EasyPlayer-RTSP-Win/releases EasyPlayer项目Git ...

  8. 【技术分享】如何实现功能完备性能优异的RTMP、RTSP播放器?

    技术背景 这几年,我们对接了太多有RTSP或RTMP直播播放器诉求的开发者,他们当中除了寻求完整的解决方案的,还有些是技术探讨,希望能借鉴我们播放端的开发思路或功能特性,完善自己的产品. 忙里偷闲,今 ...

  9. 【技术分享】Windows平台低延迟RTMP、RTSP播放器接口设计探讨

    背景 我们看过了太多介绍RTSP.RTMP播放相关的技术资料,大多接口设计简约,延迟和扩展能力也受到一定的局限,好多开发者希望我们能从接口设计的角度,大概介绍下大牛直播SDK关于RTMP.RTSP播放 ...

最新文章

  1. 【BZOJ 1202】 [HNOI2005]狡猾的商人(枚举区间也可行)
  2. 并查集-----好忧伤的并查集
  3. 发现自己的BLOG被转载了
  4. 调整cisco参数设置
  5. 64位linux下玩32位汇编编程
  6. vc mysql 图片_VC连接MySQL
  7. Delphi 关键 重启 注销
  8. 2020 idea 查看内存消耗_idea内存如何设置
  9. mysql恢复授权表登录_MySQL授权用户及密码恢复设置
  10. 官方正式预热小米10S:哈曼卡顿加持小米有史以来音质最好的手机
  11. 分库分表中间件sharding-jdbc的使用
  12. python 模块下载资源汇总
  13. 基于Struts开发网上商城购物系统
  14. bat计算机清理原理,电脑如何一键清除垃圾bat
  15. 自己动手,更换中兴F663NV3a光猫,换为华为MA5671,真香。(中国移动光纤宽带)
  16. 用计算机解决对长江水源治理的问题,科学调控长江水资源的思考
  17. 阿里P9技术:我来聊聊百万年薪
  18. 新手建站之【网站备案】③
  19. HTMLCSS仿京东详情页静态页面制作总结
  20. 基于并行思想的简单算法优化(最值,排序)

热门文章

  1. web 前端 如何分享到instagram_如何找到靠谱的Web培训机构?web前端培训机构哪个好?...
  2. php 生成excel空白,phpexcel库在localhost上运行良好,但在服务器中生成空白的excel文件...
  3. python获取文件名不含后缀名_大部分Python资料都没有说到的重点-用实战教你解决问题的思路...
  4. 怎么在电脑上看磁盘分配单元的大小_电脑磁盘到底该不该分区?怎么分区?
  5. python条件判断true_Python中的True,False条件判断实例分析
  6. macos安装vscode_如何使用VSCode进行PostgreSQL开发及调试
  7. html input不能输入小数_【Python基础(八)】输入和输出
  8. 如果不这样用,Nacos也有安全问题!
  9. 操作系统(王道笔记第二章)
  10. 如何选择c语言学习书籍