rtsp URLの構文を理解する

rtsp URLの構文を理解する

試行錯誤の結果、次の URL を使用して、RTSP WiFi カメラからのフィードを VLC で表示できました。

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内でリソースとクエリ引数へのパスの区切りとして使用されます。RFC 3986:

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

そしてセクション3.3:

パスは、最初の疑問符 ("?") または番号記号 ("#") 文字、または URI の末尾によって終了します。

したがって、最初の例は正しいです。

2 番目 ( なし?) は、クエリ引数を要求されたリソースへのパスに結合するため、間違っています。


補足として、ブラウザ (少なくとも 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 

私の環境ではうまくいきましたが、あなたの環境では結果は異なるかもしれません。

関連情報