Verstehen der Syntax für RTSP-URLs

Verstehen der Syntax für RTSP-URLs

Durch Ausprobieren konnte ich den Feed einer RTSP-WiFi-Kamera in VLC mit der folgenden URL anzeigen:

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

In allen Beispielen, die ich finde, wird jedoch Folgendes verwendet:

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

mit dem /anstelle des ?. Das /funktioniert bei mir nicht. VLC kann den Stream nicht öffnen. Weiß jemand, was der Unterschied ist?

Antwort1

Das Fragezeichen wird in URIs als Trennzeichen zwischen einem Pfad zur Ressource und Abfrageargumenten verwendet.RFC 3986:

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

Und inAbschnitt 3.3:

Der Pfad wird durch das erste Fragezeichen („?“) oder Nummernzeichen („#“) oder durch das Ende der URI beendet.

Ihr erstes Beispiel ist also richtig.

Die zweite (ohne ?) ist falsch, da sie Abfrageargumente zu einem Pfad zur angeforderten Ressource kombiniert.


Als Randbemerkung: Browser (zumindest aktuelle Versionen von Chrome oder Firefox) ändern automatisch:

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

hinein:

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

Antwort2

Versuchen

rtsp://user:[email protected]/

Damit sollten Sie zumindest den ersten Kanal erhalten, die Syntax für den Rest kann danach vom Gerät abhängen.

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

funktioniert bei mir, aber bei Ihnen kann es anders sein.

verwandte Informationen