我们使用live555作为RTSP客户端拉取对接大华的球机RTSP直播流时,不能正常预览,球机在客户现场,型号未知。
这种情况下,我们分析了,我们使用live555已接过N多种不同的摄像机, 包括大华的相机之前也接过,没有出现过这种问题. 而客户现场的电脑抓包软件也有问题,不能正常工作. 只能加日志打印了.
分析问题
具体地址是: rtsp://admin:12345@192.168.1.100
在仔细分析代码后,猜想可能是这个格式中带有用户名和密码,而该相机加强了安全验证,不允许在网络交互的URL中带有用户名和密码。
解决问题
在将用户名和密码提取出来后,在网络交互的URL中将用户名和密码删除,再进行RTSP交互, 问题解决。
我们对比了VLC的实现方法,也是按照这个思路来的,在用户传入RTSP地址后,VLC上层会先将RTSP地址拆分成username、password、url三个参数,再分别传入到live555中;