GStreamer中含特殊字符@的RTSP URL连接问题
GStreamer中含特殊字符@的RTSP URL连接问题
嘿,我太懂这种头疼的情况了!当RTSP密码里混着@这种特殊字符时,rtspsrc肯定会搞混——它会把@后面的内容全当成密码的一部分,而不是正确的IP地址,自然就连不上目标流了。
解决这个问题的核心思路就是对密码里的特殊字符做URL编码,把密码里的@替换成它对应的URL编码值%40就行。
举个例子,你原来的URL是:
rtsp://user:passw@rd@Current_IP/path1/path2/
只需要把密码里的@换成%40,修改后的正确URL就是:
rtsp://user:passw%40rd@Current_IP/path1/path2/
另外要提醒一句,不光是@,如果密码里还有其他特殊字符(比如!、#、$这类),都需要换成对应的URL编码后再使用,不然同样会触发解析错误。要是你是用代码动态构建管道的话,记得在拼接URL前先对密码部分做编码处理,别直接把原始密码塞进去哦。
备注:内容来源于stack exchange,提问作者JFF




