Streamedian是一套能够让浏览器免插件播放RTSP的项目。安装了其官方的server端后有一个demo.
如图,在输入处输入红框格式的RTSP地址,如官方的demo地址:
rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov.
可以正常播放,但用到我的海康上就抱RTSP 404, 我的格式如下:
rtsp://admin:pass@192.168.1.50/h264/ch40/sub/av_stream
看地址很明显我这里多了权限,google了一下,html5_rtsp_player也确实有权限问题,但人家报的401错误,也不是404啊。js跟踪了一下,发现最新的版本也处理了权限问题。那不是权限问题会是其他什么
实在没办法,去研究RTSP协议吧,这张图说的比较清楚
抓包软件跟踪,发现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, {});
再访问,好了,问题解决
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)