8K播放网络全终端播放器H5播放器网页直播/点播播放器EasyPlayer和vlc播放RTSP流地址不兼容问题排查解决

背景介绍

EasyPlayer实现了对遵循标准流媒体码流协议进行实时播放以及码流录制,在流的播放速度以及画质的解码显示上均做了大量深度的优化。支持Windows(支持多窗口、包含ActiveX,npAPI Web插件)、Android平台,iOS平台。

EasyPlayer和vlc播放RTSP流不兼容问题

发现问题

之前有用户咨询关于EasyPlayer播放器的兼容问题,具体是分别用EasyPlayer和vlc播放大华摄像机的RTSP流,流地址是:rtsp://admin:admin12345@192.168.1.253:554/cam/realmonitor?channel=1&subtype=0。用EasyPlayer播放这个地址会在两次RTSP DESCRIBE之间间隔大概10s,才会继续发送下一次请求,而且vlc整个流程都很快很顺利。

分析问题

我们用相同的RTSP播放地址传输给播放器,然后分别抓了EasyPlayer RTSP播放流程抓拍和vlc播放流程抓包。

EasyPlayer的抓包流程:

8K播放网络全终端播放器H5播放器网页直播/点播播放器EasyPlayer和vlc播放RTSP流地址不兼容问题排查解决

vlc的抓包流程:

8K播放网络全终端播放器H5播放器网页直播/点播播放器EasyPlayer和vlc播放RTSP流地址不兼容问题排查解决

根据抓包流程我们可以看出,EasyPlayer前后卡了两次,且都是在认证阶段,而vlc的播放OPTION/DESCRIBE/SETUP/PLAY是在同一秒内完成的。因此通过分析我们就能看出来差异所在:

1、vlc的播放uri是不带用户名密码的,为纯粹的播放路径,而EasyPlayer的播放路径是带用户名密码的;

2、vlc的播放是从OPTIONS发起的,而EasyPlayer是从DESCRIBE发起的。

问题解决

结果如抓包推测,在大华、以及海康某些摄像机,如果播放URL中携带了用户名密码,是无法正常进行流程的;而VL的RTSP的流程发起从OPTIONS开始;且在用户输入带用户名密码的RTSP地址(rtsp://user:pwd@xxx)后,先做用户名密码的拆分,再在RTSP流程中将用户名密码传入,如此便保证了最大兼容。

在EasyPlayer的新版本中,我们也已经规避了此类问题的再次出现,按照最大兼容的方案来归档发布。因此若仍然有用户出现此类问题,可以下载最新版本的EasyPlayer进行尝试,如还不能正常播放,可随时与我们沟通以便其他问题的排查。

上一篇:Vue-cli3项目引入网页视频流媒体播放器EasyPlayer.JS报videojs not definde错误如何解决?


下一篇:8K播放网络全终端播放器H5播放器网页直播/点播播放器EasyPlayer和vlc播放RTSP流地址不兼容问题排查解决