
Por tentativa e erro, consegui exibir o feed de uma câmera WiFi RTSP no VLC usando o URL:
rtsp://192.168.2.33:554?user=admin&password=&channel=2&stream=1.sdp
No entanto, todos os exemplos que encontro usam algo como:
rtsp://192.168.2.33:554/user=admin&password=&channel=2&stream=1.sdp
com o /
em vez do ?
. O /
não funciona para mim. O VLC não consegue abrir o stream. Alguém sabe qual é a diferença?
Responder1
O ponto de interrogação é usado no URI como separador de um caminho para o recurso e argumentos de consulta. PorRFC 3986:
foo://example.com:8042/over/there?name=ferret#nose
\_/ \______________/\_________/ \_________/ \__/
| | | | |
scheme authority path query fragment
E emseção 3.3:
O caminho é finalizado pelo primeiro caractere de ponto de interrogação ("?") ou sinal numérico ("#"), ou pelo final do URI.
Portanto, seu primeiro exemplo está correto.
O segundo (sem ?
) está errado porque combina argumentos de consulta em um caminho para o recurso solicitado.
Como observação lateral: os navegadores (pelo menos as versões atuais do Chrome ou Firefox) mudarão automaticamente:
http://192.168.2.33:554?user=admin&password=&channel=2&stream=1.sdp
em:
http://192.168.2.33:554/?user=admin&password=&channel=2&stream=1.sdp
Responder2
Tentar
rtsp://user:[email protected]/
Isso deve fornecer pelo menos o primeiro canal, depois disso pode depender do dispositivo quanto à sintaxe do restante.
rtsp://user:[email protected]/cam/realmonitor?channel=1&subtype=1
funciona para o meu, mas sua milhagem pode variar.