EasyCVR中RTSP地址无法获取的原因解析

0 阅读1分钟

下午三点多,群里弹出一条消息:说RTSP接口获取不到RTSP地址了!

1.png

我看了看消息,脑子里立刻蹦出一个答案。

因为我知道,EasyCVR最新版本做了一个调整:RTSP功能默认是关闭的,需要用户手动到配置页面去开启。

这个设计是有原因的。RTSP属于相对传统的流媒体协议,现在很多项目已经主推更安全的RTSP over HTTPS或者WebRTC、FLV之类的方案,加上部分用户压根不需要RTSP,所以新版本把它默认关了,既安全又清爽。

我截了一个图给他,“【配置】-【基础配置】-【内核配置】里的RTSP开关开了没有?新版本默认是关着的。”

2.png

我以为这事儿到这里就结了。过了一会儿,用户回复开启之后,调用RTSP还是不行。

咦,开了开关还不行?这不对啊。我立刻想到了开放协议那个配置。

我说你看看开放协议有没有勾上RTSP?果然,它没勾上!用户照做,勾上了“开放协议”里的RTSP,保存配置。

3.png

后续,RTSP地址出来了。

4.png

后来我跟用户解释了一下这两个开关的区别,这里也分享给大家,免得以后再踩坑:RTSP总开关开了,表示“这个功能我给你提供”。但如果“开放协议”里没勾上RTSP,接口层面还是不会返回地址,因为系统认为“你虽然装了空调,但没告诉我允许客人用”。

这个设计逻辑其实是合理的——有些项目里,管理员可能希望RTSP功能在后台运行,但不对外暴露接口。但对于第一次用新版本的用户来说,确实容易忽略这个“二级开关”。

写在最后

这次的排查经历,说起来就一句话的事——用户少勾了一个框。但从接到求助到最终解决,我觉得挺值得记下来。技术排查就是这样,有时候答案简单到让人想拍大腿,但找到它的过程却需要一点点细心和一点点经验。