RTSPとは何か?
RTSPとは、近年のネットワークカメラにおいて、最も一般的に利用されている映像配信(映像取得)の方法である。RTSPは、リアルタイムストリーミングプロトコルの略である。
例えば、NVRやVMSなどがカメラから映像を取得し、ライブ映像の表示などを行う際に、RTSPというプロトコル(ルール)が用いられる。
RTSPは非常に汎用性が高く、NVRやVMSが、そのメーカーのネットワークカメラのドライバーに正式に対応していない場合でも、RTSPコマンドを利用することで、ライブ映像の表示や録画ができることがある。
Hikvisonのカメラ映像をRTSPで映像を取得する
それでは、実際にRTSPを利用して、ライブ映像を表示してみる。RTSPの検証には、VLCメディアプレイヤーというソフトが一般的に用いられている。
※なお、本記事は以下の資料を参考に作成している。
VLCメディアプレイヤーについては、以下の記事にて説明しているので確認して欲しい。
設定手順について
まず、事前準備としてカメラ側の設定値を確認する。
ネットワークの詳細設定の中の『統合プロトコルタブ』を押下する。『□Hikvision-CGIを有効化』のチェックボックスにチェックを入れる。
これで事前準備は完了である。
続いて、VLCメディアプレイヤーを開く。『ネットワークストーリㇺを開く』を選択する。
以下のようなコマンドを入力する。
rtsp://<ユーザ名>:<パスワード>@<IPアドレス>:554/streaming/channels/101
※カメラのメインストリームを取得する場合は、101を指定する。
カメラのサブストリームを取得する場合は、102を指定する。
すると、このようにネットワークカメラのライブ映像をRTSPというプロトコルで閲覧することができる。
もし、ネットワークの問題でうまく再生できない場合
VLCメディアプレイヤーは、デフォルト状態ではUDP通信となっている。これをTCP通信に切り替えると、再生できる場合がある。
VLCメディアプレイヤーのツールより、『設定』を押下する。
設定表示で『〇すべて』を選択する。
『入力/コーデック』→『デマルチプレクサー』→『RTP/RTSP』を選択する。
『TCPオーバーRTSP(TCP)の使用』にチェックを入れて、保存ボタンを押下する。
バッチファイルを作成し、PC起動時に映像を自動的に再生する
続いて、バッチファイルを作成し、自動的にVLCメディアプレイヤーで再生する方法について説明する。
メモ帳を開き、以下のように入力する。
Call "C:Program FilesVideoLANVLClc.exe" rtsp://<ユーザー名>:<パスワード>@<IPアドレス>:554/streaming/channels/101
名前を付けて保存を行う際に、ファイルの種類を『すべてのファイル』を選択し、『<ファイル名.>bat』と入力し、保存する。
C:Users<ユーザー名のフォルダ>AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup
※上記のフォルダが探せない場合は、アドレスバーに『shell:startup』と入力しても良い。
フォルダを開き、作成したバッチファイルを投げ入れる。
すると、PCが起動した際に、自動的にVLCメディアプレイヤーが起動し、映像の再生が開始される。
HTTPコマンドで静止画を取得する
最後に、参考として、HikvisonのカメラでHTTPコマンドを利用して、『静止画の取得』と『動画をプレビューする方法』について説明しておく。
まずは、静止画の取得方法だ。
Chromeなどのブラウザを開き、以下のように入力する。
http://<ユーザー名>:<パスワード>@<IPアドレス>/streaming/channels/101/picture
もし、解像度などを指定する場合は、以下のように入力する。
http://<ユーザー名>:<パスワード>@<IPアドレス>/streaming/channels/101/picture?videoResolutionWidth=320&videoResolutionHieght=180
HTTPコマンドで動画をプレビューする
続いて、動画のプレビュー方法だ。なお、メーカー公式のドキュメントではMJPEGのサブストリームのみサポートしており、H.264およびH.265はサポートしていない。
まずは、サブストリームの設定をMJPEGで設定しておく。
Chromeなどのブラウザを開き、以下のように入力する。
http://<ユーザー名>:<パスワード>@<IPアドレス>/streaming/channels/102/preview
このようにブラウザ上で動画をプレビューすることができる。
※なお、注意事項として、22年6月末より、ハイクビジョンカメラのCGIプロトコルはサポートされないので、ご留意頂きたい。
まとめとして
カメラのRTSPコマンドを利用できるようになると、様々なNVRやVMSのカメラ登録や他社のシステム連携の際に非常に便利である。
ネットワークカメラの販売ベンダー様は一度、コマンドによる映像の取得を試してみて欲しい。