RTSP 接続のカメラ映像取得の確認方法
このドキュメントでは、RTSP 接続のカメラ映像取得に関して、以下の3つの確認方法について説明します。
- コマンドで接続を確認する方法
- サードパーティツール(例:VLC)を使って接続を確認する方法
- Python と OpenCV を使ってキャプチャを取得し可視化する方法(最低限のコード例)
1. コマンドで接続を確認する方法
RTSP ストリームに直接接続して、映像が取得できるかをコマンドラインで確認できます。
ここでは ffplay
と ffprobe
の2つのツールを利用した方法を紹介します。
ffplay を使う方法
ffplay
は、FFmpeg の付属ツールで、RTSP ストリームを再生するために使用できます。
ffplay rtsp://{username}:{password}@{camera_ip}:{port}/{path}
- username: カメラのユーザー名
- password: カメラのパスワード
- camera_ip: カメラの IP アドレス
- port: RTSP ポート(通常は 554)
- path: カメラが提供するストリームのパス
ffprobe を使う方法
ffprobe は、ストリームの情報や接続状況を確認するために使用されます。
ffprobe rtsp://username:password@camera_ip:port/path
これにより、ストリームの詳細情報(解像度、フレームレート、コーデック情報など)や接続状況を確認することができます。
2. サードパーティツールを使って接続を確認する方法
VLC メディアプレイヤーでの確認
VLC メディアプレイヤーは、RTSP ストリームの再生確認に非常に便利なツールです。
以下の手順で接続を確認できます。
-
VLC を起動
- VLC メディアプレイヤーを開きます。
-
ネットワークストリームを開く
- メニューから「メディア」→「ネットワークストリームを開く」を選択します。
-
RTSP URL を入力
- 次の形式の URL を入力します:
rtsp://{username}:{password}@{camera_ip}:{port}/{path}
- 次の形式の URL を入力します:
-
再生開始
- 「再生」ボタンをクリックすると、カメラの映像が再生され、接続が正常かどうかを確認できます。
3. Python と OpenCV を使ってキャプチャを取得し可視化する方法
以下は、Python と OpenCV を使用して RTSP ストリームから映像をキャプチャし、ウィンドウに表示する最低限のコード例です。
import cv2
# RTSP URL を設定(各パラメータを適宜置き換えてください)
rtsp_url = "rtsp://{username}:{password}@{camera_ip}"
# VideoCapture オブジェクトを作成してストリームに接続
cap = cv2.VideoCapture(rtsp_url)
# 接続確認
if not cap.isOpened():
print("RTSP ストリームに接続できませんでした。")
exit()
while True:
ret, frame = cap.read()
if not ret:
print("フレームの取得に失敗しました。")
break
# フレームの表示
cv2.imshow("RTSP Stream", frame)
# 'q' キーが押されたらループ終了
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# リソースの解放とウィンドウの破棄
cap.release()
cv2.destroyAllWindows()
コードのポイント
• 接続確認: cap.isOpened() で RTSP ストリームへの接続が確立できたかをチェックします。
• フレーム取得: cap.read() により映像フレームを逐次取得します。
• 映像表示: cv2.imshow() を使用してリアルタイムに映像を表示します。
• 終了条件: キー入力(‘q’)でループを抜け、プログラムを終了します。