zoukankan      html  css  js  c++  java
  • 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的抓包流程:

    vlc的抓包流程:

    根据抓包流程我们可以看出,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进行尝试,如还不能正常播放,可随时与我们沟通以便其他问题的排查。

  • 相关阅读:
    微信小程序开发——修改小程序原生checkbox、radio默认样式
    微信小程序开发——微信小程序下拉刷新真机无法弹回
    转:slf4j-api、slf4j-log4j12、log4j之间关系
    MyBatis3 入门学习指南
    Java 多线程重排序的探究
    Kafka 生产者和消费者入门代码基础
    Java面试题
    刻苦读书的故事合集
    Win10 calc.exe 无法打开计算器的解决方法
    Redis(三):set/get 命令源码解析
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/11994757.html
Copyright © 2011-2022 走看看