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