понимание синтаксиса для rtsp URL

понимание синтаксиса для rtsp URL

Методом проб и ошибок мне удалось отобразить поток с 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 не может открыть поток. Кто-нибудь знает, в чем разница?

решение1

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

    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

решение2

Пытаться

rtsp://user:[email protected]/

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

rtsp://user:[email protected]/cam/realmonitor?channel=1&subtype=1 

У меня работает, но у вас может быть иначе.

Связанный контент