- 作者:老汪软件技巧
- 发表时间:2024-09-05 17:01
- 浏览量:
好多开发者纠结,RTSP流播放,到底是用开源的VLC Media Player还是大牛直播SDK的SmartPlayer?针对此,本文做个简单的技术探讨,方便开发者根据实际需要,做适合自己场景的选择:
VLC Media Player
使用VLC Media Player播放RTSP流视频是一个简单且直接的过程。VLC Media Player是一款功能强大且开源的跨平台多媒体播放器,支持多种音频和视频格式以及流媒体协议,包括RTSP。以下是详细的步骤说明:
1. 安装VLC Media Player
首先,确保你的Windows系统上已经安装了VLC Media Player。如果尚未安装,可以从VLC官方网站或其他可信赖的软件下载平台下载并安装。
2. 打开VLC Media Player
双击桌面上的“VLC media player”图标,或者通过开始菜单中的快捷方式打开VLC Media Player。
3. 打开网络串流
在VLC Media Player的顶部菜单栏中,选择“媒体”(Media)选项。然后,在下拉菜单中选择“打开网络串流”(Open Network Stream),或者直接按快捷键“Ctrl+N”。
4. 输入RTSP URL
在弹出的“打开媒体”窗口中,你会看到一个文本输入框。在这个输入框中,输入你想要播放的RTSP流的URL。这个URL通常由流媒体服务或内容提供商提供,格式通常为rtsp://url_ip_address:port_number/mount_point。例如:rtsp://192.168.0.101:8554/stream1。
5. 配置选项(可选)
如果你需要配置其他选项,如字幕、缓存大小等,可以在“打开媒体”窗口的底部选项卡中进行设置。但对于大多数直播流来说,默认设置通常就足够了。
6. 播放RTSP流
输入URL并配置好选项后,点击窗口右下角的“播放”(Play)按钮。VLC Media Player将开始连接到RTSP流,并在连接成功后开始播放视频。
SmartPlayer
SmartPlayer是大牛直播SDK开发的跨平台低延迟播放器,始于2015年,好多场景已慢慢从点播模式到直播过渡,大家对RTSP直播延迟要求越来越高,所以有了全自研内核的SmartPlayer,经过多年迭代,目前支持的功能如下:
VLC还是SmartPlayer?
废话不多说,先上图,同时播放海康2560*1440分辨率8M码率的流数据(海康摄像头对着手机计时器),效果如下,可以看到,SmartPlayer的延迟大概220毫秒,VLC的延迟大概1.4秒,如果是做平衡操控等场景,vlc的延迟延迟超过1秒,已无法满足操控类低延迟场景:
我们之前blog写过RTSP直播播放开发设计思路,总结下来如下:
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. 关键帧/全帧播放实时切换:**特别是播放多路画面的时候,如果路数过多,全部解码、绘制,系统资源占用会加大,如果能灵活的处理,可以随时只播放关键帧,全帧播放切换,对系统性能要求大幅降低。
总结
通过上述VLC Media Player和SmartPlayer两个播放器的功能说明和技术比较,相信大家很容易做出自己的选择,如果是点播需求,VLC Media Player足够用了,如果是跨平台超低延迟的直播诉求,可以试试SmartPlayer,更能满足低延迟技术诉求。以上抛砖引玉,感兴趣的开发者,可以单独跟我沟通交流。