RTSP カメラ URL の解析と生成
Web処理はすべてブラウザ内で完結します。データは送信されません
両方向に対応します。RTSP URL を貼ると各フィールド(スキーム、ユーザー名、パスワード、ホスト、ポート、パス、クエリ)に分解し、オプションから URL を組み立てることもできます。⚠️ 特に注意が必要なのはパスワードです。含まれる @ : / ? # はパーセントエンコードが必須で、そうしないと @ がホスト名を切り、: がユーザー名とパスワードを分割します。生成時はエンコードしますが一度だけです。p%40ss のように既にエンコードされた形を貼った場合は再エンコードしません(p%2540ss になると、静かに誤ったパスワードになるため)。ハイクビジョン・ダーファ・ユニビュー・ONVIF の一般的なパステンプレートを内蔵しています。すべてブラウザ内で完結し、パスワードは送信されません。
機能
- RTSP URL を解析し、ホスト・ポート・ユーザー名・パスワード・パス・クエリを項目ごとに表示
- オプションから URL を生成。メイン / サブ / 第 3 ストリームとチャンネルに対応
- トランスポートは TCP / UDP / マルチキャストを選択(transportmode に反映)
- ハイクビジョン・ダーファ・ユニビュー・ONVIF のパステンプレートと説明を内蔵
- パスワードの特殊文字をパーセントエンコード。しかも一度だけ
- 入力が既にエンコード済みの場合は注意を表示(%40 が %2540 になるのを防ぐ)
- すべてローカルで完結し、パスワードがブラウザの外に出ません
使い方
- 「解析」を選んで RTSP URL を貼るか、「生成」を選んでオプションを入力します
- 解析時はホスト・ポート・パスを項目ごとに確認します
- 生成時はブランド・ストリーム・チャンネル・トランスポートを選びます
- URL 全体をコピーするか、行ごとに 1 つのフィールドをコピーします
よくある質問
- パスワードに @ やコロンがある場合は?
- パーセントエンコードが必須です。@ は %40、: は %3A と書きます。そうしないと @ がユーザー情報とホストの区切りとして読まれてホスト名が切れ、: がユーザー名とパスワードの区切りとして読まれて両方がずれます。本ツールは生成時に自動でエンコードします。
- パスワード p%40ss が再エンコードされないのはなぜですか?
- すでにエンコードされた形だからです。再度エンコードすると % が %25 になり p%2540ss となります。機器は p@ss ではなく p%40ss と解釈して接続できず、しかも警告が出ません。そのため本ツールは %XX を検出するとそのまま使い、注意を表示します。
- ブランドごとにパスが違うのはなぜですか?
- RTSP のパスに標準はありません。ハイクビジョンは /Streaming/Channels/「チャンネル」0「ストリーム」(メイン 101、サブ 102)、ダーファは /cam/realmonitor?channel=1&subtype=0、ユニビューは一般に /media/video1、ONVIF の URI は通常 GetStreamUri が返します。本ツールは一般的な形を示すもので、実際は機器のマニュアルが優先です。
- transportmode は標準のパラメータですか?
- いいえ。一部の機器(ハイクビジョンなど)が対応する URL パラメータで、ユニキャストかマルチキャストかを指定します。RTSP の TCP と UDP は通常 SETUP 時に RTP/AVP/TCP か RTP/AVP でクライアントが交渉するため URL には表れません。そこで本ツールは TCP と UDP のどちらも unicast と書きます。
関連ツール
URL 解析
WebURL を解析し、スキーム・ホスト・ポート・パス・クエリパラメータ・アンカーに分解します。パラメータは元の値とデコード値を並記。すべてブラウザ内で処理します。
cURL ツールボックス(コード / 解析 / 構築)
Webcurl コマンドを 7 言語のコードに変換し、ヘッダーやボディのフィールド表にも分解できます。HTTP リクエストから curl を組み立てる逆向きも可能です。
UA 解析
WebUser-Agent を解析し、ブラウザ・バージョン・OS・デバイス種別・エンジンを判定します。判定はパターン照合による概算です。すべてブラウザ内で処理します。
HTTP ステータスコード
WebHTTP ステータスコードの検索。番号から意味を、キーワードから番号を引けます。1xx〜5xx の分類・利用場面・確認のポイント付き。すべてブラウザ内で処理します。
MIME タイプ
Web拡張子から MIME タイプを、MIME タイプから既定の拡張子を検索。js なら text/javascript、image/svg+xml なら .svg が返ります。すべてブラウザ内で処理します。
.gitignore 生成
Web.gitignore 生成:言語・フレームワーク・エディタ・OS の 17 テンプレートを選び、重複を除去してテンプレートごとに注記で区切ります。ブラウザ内で処理します。