0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

#0035(2024/02/04)RTSP 接続のカメラ映像取得の確認方法

Posted at

RTSP 接続のカメラ映像取得の確認方法

このドキュメントでは、RTSP 接続のカメラ映像取得に関して、以下の3つの確認方法について説明します。

  1. コマンドで接続を確認する方法
  2. サードパーティツール(例:VLC)を使って接続を確認する方法
  3. Python と OpenCV を使ってキャプチャを取得し可視化する方法(最低限のコード例)

1. コマンドで接続を確認する方法

RTSP ストリームに直接接続して、映像が取得できるかをコマンドラインで確認できます。
ここでは ffplayffprobe の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 ストリームの再生確認に非常に便利なツールです。
以下の手順で接続を確認できます。

  1. VLC を起動

    • VLC メディアプレイヤーを開きます。
  2. ネットワークストリームを開く

    • メニューから「メディア」→「ネットワークストリームを開く」を選択します。
  3. RTSP URL を入力

    • 次の形式の URL を入力します: rtsp://{username}:{password}@{camera_ip}:{port}/{path}
  4. 再生開始

    • 「再生」ボタンをクリックすると、カメラの映像が再生され、接続が正常かどうかを確認できます。

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’)でループを抜け、プログラムを終了します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?