VLC como servidor RTSP - autenticação não funciona

0

Configurações : Eu tenho um IPcam e um framboesa (RPi3 rodando Raspbian com VLC 3.0). O problema também acontece quando eu substituo o framboesa por um computador rodando Debian, também com o VLC 3.0.

Objetivo : Meu objetivo é acessar remotamente o fluxo do IPcam por meio do Rpi, ou seja, executar o vlc como um servidor RTSP no Rpi. Ele quase funciona, mas ainda tenho um problema em proteger o fluxo que sai da Rpi por uma senha.

O que eu fiz : No Rpi, o VLC está funcionando como um servidor RTSP, tomando como entrada o fluxo da câmera.

O comando em execução é:

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

(Quase) tudo funciona, posso ver minha webcam remotamente conectando-me ao RPi.

O problema : O problema é que, embora eu faça o stream em rtsp: // nome de usuário: senha @rpiIP: 8080 / test.sdp, o fluxo pode ser acessado em rtsp: // rpiIP: 8080 / test.sdp sem nenhum nome de usuário / senha sendo solicitado. Em outras palavras, o fluxo pode ser acessado por qualquer pessoa. Minha pergunta é: como posso proteger o fluxo de saída com um nome de usuário / senha?

Muito obrigado.

    
por toptop 24.02.2018 / 22:33

1 resposta

2

Para configurar a autenticação de nome de usuário e senha em um fluxo RTSP, você precisa usar o --sout-rtsp-user e --sout-rtsp-pwd .

O comando final deve ser:

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

O protocol://username:password@hostname:port/path é usado quando você se conecta a algum ponto de extremidade remoto. Quando você cria seu próprio fluxo, precisa usar as opções --sout-... .

    
por 25.03.2018 / 22:04