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