Streamedian/html5_rtsp_player接海康视频遇到的坑

Streamedian是一套能够让浏览器免插件播放RTSP的项目。安装了其官方的server端后有一个demo.
Streamedian/html5_rtsp_player接海康视频遇到的坑_第1张图片
如图,在输入处输入红框格式的RTSP地址,如官方的demo地址:

rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov.

可以正常播放,但用到我的海康上就抱RTSP 404, 我的格式如下:

rtsp://admin:[email protected]/h264/ch40/sub/av_stream

看地址很明显我这里多了权限,google了一下,html5_rtsp_player也确实有权限问题,但人家报的401错误,也不是404啊。js跟踪了一下,发现最新的版本也处理了权限问题。那不是权限问题会是其他什么

实在没办法,去研究RTSP协议吧,这张图说的比较清楚
Streamedian/html5_rtsp_player接海康视频遇到的坑_第2张图片
抓包软件跟踪,发现OPTIONS就卡住了,

c->s:OPTIONS * RTSP/1.0
s->c:RTSP 404

试了下官方的地址

c->s:OPTIONS rtsp://xxx.xxx.xxx.xxx/xxx RTSP/1.0
s->c:RTSP 200

看来是海康不支持*查询。
具体js跟踪就不说了,告诉大家解决方案吧。我是用的官方的demo,脚本叫free.player.1.8.js, 打开搜索’OPTIONS’ 会发现一句协议通信代码

this.sendRequest('OPTIONS', '*', {});

直接写死的,没得商量,那我也就只能直接改了

this.sendRequest('OPTIONS', this.url, {});

再访问,好了,问题解决

你可能感兴趣的:(运维,流媒体)