You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GStreamer播放RTSP流遇Unauthorized错误但VLC可正常播放求助

解决GStreamer播放RTSP流时的Unauthorized错误

问题根源

你的密码包含特殊字符$,shell会将其解析为环境变量引用,导致实际传递给rtspsrc的密码不完整,触发认证失败。而VLC会自动处理URL中的特殊字符编码,所以能正常连接。

可行解决方案

1. 对URL中的特殊字符做URL编码

将密码里的$替换为URL编码值%24,修改后的完整管道命令:

gst-launch-1.0 rtspsrc location=rtsp://Test_Map:T3%24t1ng_2022_Map@x.x.x.x:zzzz/ISAPI/Streaming/Channels/101 ! decodebin ! autovideosink

2. 用单引号包裹URL避免shell解析

用单引号把整个location参数括起来,阻止shell解析特殊字符:

gst-launch-1.0 rtspsrc location='rtsp://Test_Map:T3$t1ng_2022_Map@x.x.x.x:zzzz/ISAPI/Streaming/Channels/101' ! decodebin ! autovideosink

3. 拆分认证参数(备选方案)

如果上述方法无效,可以将用户名和密码单独通过rtspsrc的属性传入,避开URL中的特殊字符问题:

gst-launch-1.0 rtspsrc location=rtsp://x.x.x.x:zzzz/ISAPI/Streaming/Channels/101 user-id=Test_Map user-pw='T3$t1ng_2022_Map' ! decodebin ! autovideosink

补充说明

注意管道末尾需要添加解码和显示元素(如decodebin和autovideosink),否则GStreamer无法处理流的输出渲染。

内容的提问来源于stack exchange,提问作者alp343

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 00:45:35