VLC 作为 RTSP 服务器 - 身份验证不起作用

VLC 作为 RTSP 服务器 - 身份验证不起作用

设置:我有一个 IPcam 和一台树莓派(RPi3,运行带有 VLC 3.0 的 Raspbian)。当我用运行 Debian 的计算机(也带有 VLC 3.0)替换树莓派时,也会出现此问题。

目标:我的目标是能够通过 Rpi 远程访问 IPcam 的流,即在 Rpi 上运行 vlc 作为 RTSP 服务器。它几乎可以正常工作,但我仍然无法通过密码保护退出 Rpi 的流。

我做了什么:在 Rpi 上,VLC 作为 RTSP 服务器运行,将摄像机的流作为输入。

运行的命令是:

cvlc rtsp://ipcamlogin:ipcampassword@ipcamIP:554/play1.sdp --sout '#transcode{acodec=mp4a,ab=128,channels=2,samplerate=8000}:rtp{sdp=rtsp://用户名:密码@rpiIP:8080/test.sdp}' --sout-ffmpeg-strict -2 --sout-avcodec-strict -2

(几乎)一切正常,我可以通过连接 RPi 远程查看我的网络摄像头。

问题:问题是,虽然我在 rtsp:// 上流式传输用户名密码@rpiIP:8080/test.sdp,无需输入任何用户名/密码即可通过 rtsp://rpiIP:8080/test.sdp 访问该流。换句话说,任何人都可以访问该流。我的问题是:如何使用用户名/密码保护输出流?

多谢。

答案1

要在 RTSP 流中设置用户名和密码验证,您需要使用--sout-rtsp-user--sout-rtsp-pwd

最终命令应该是:

cvlc rtsp://ipcamlogin:ipcampassword@ipcamIP:554/play1.sdp --sout '#transcode{acodec=mp4a,ab=128,channels=2,samplerate=8000}:rtp{sdp=rtsp://rpiIP:8080/test.sdp}' --sout-ffmpeg-strict -2 --sout-avcodec-strict -2 --sout-rtsp-user username --sout-rtsp-pwd password

当您连接到某个远程端点时,将使用此选项protocol://username:password@hostname:port/path。当您创建自己的流时,您需要使用此--sout-...选项。

答案2

您必须在摄像机菜单中设置 RTSP 密码。某些家用或婴儿监控摄像机没有设置实时流媒体密码的功能。

如果您可以在菜单中找到它,请设置没有用户名的密码,否则您应该更新设备的固件。

相关内容