Понимание синтаксиса для URL RTSP

Методом проб и ошибок мне удалось отобразить канал с камеры RTSP WiFi в VLC, используя URL:

rtsp://192.168.2.33:554?user=admin&password=&channel=2&stream=1.sdp

Однако все примеры, которые я нахожу, используют что-то вроде:

rtsp://192.168.2.33:554/user=admin&password=&channel=2&stream=1.sdp

с / вместо ?, / не работает для меня. VLC не может открыть поток. Кто-нибудь знает в чем разница?

2 ответа

Вопросительный знак используется в URI в качестве разделителя пути к ресурсу и аргументов запроса. Согласно RFC 3986:

    foo://example.com:8042/over/there?name=ferret#nose
    \_/   \______________/\_________/ \_________/ \__/
     |           |            |            |        |
  scheme     authority       path        query   fragment

И в разделе 3.3:

Путь завершается первым знаком вопроса ("?") Или знаком числа ("#") или концом URI.

Итак, ваш первый пример верен.

Второй (без ?) неверно, поскольку объединяет аргументы запроса в путь к запрашиваемому ресурсу.


Как примечание: браузеры (по крайней мере, текущие версии Chrome или Firefox) автоматически изменятся:

http://192.168.2.33:554?user=admin&password=&channel=2&stream=1.sdp

в:

http://192.168.2.33:554/?user=admin&password=&channel=2&stream=1.sdp

Пытаться

rtsp://user:password@ip.of.your.device/

Это должно дать вам, по крайней мере, первый канал, после этого он может зависеть от устройства относительно синтаксиса для остального.

rtsp://user:password@ip.of.your.device/cam/realmonitor?channel=1&subtype=1 

работает для меня, но ваш пробег может отличаться.

Другие вопросы по тегам