ホームページ >バックエンド開発 >Python チュートリアル >Python を使用して IP カメラからライブ ビデオ ストリームをキャプチャする方法

Python を使用して IP カメラからライブ ビデオ ストリームをキャプチャする方法

DDD
DDDオリジナル
2025-01-16 20:15:10961ブラウズ

この Python チュートリアルでは、IP カメラからのライブ ビデオ フィードをキャプチャして表示する方法を示します。 requestsOpenCVimutils を利用して画像を取得、処理、表示します。 スクリプトは、ユーザーが終了するまでビデオ ストリームを継続的に取得して表示します。

目的:

このチュートリアルでは次の方法を説明します。

  • HTTP 経由で IP カメラからビデオ フレームを取得します。
  • OpenCV を使用してフレームを処理および表示します。
  • リアルタイムで画像を継続的にキャプチャして表示します。
  • ストリームを表示するループを実装し、キーを押すと終了します。

最終出力はライブ ビデオ ストリームであり、Esc キーを押すことで終了できます。

前提条件:

これらのライブラリをインストールします:

<code class="language-bash">pip3 install requests opencv-python imutils</code>

IP カメラまたは HTTP 経由でビデオをストリーミングするデバイス (ポート 8080 で MJPEG を使用する Web カメラなど) も必要です。

IP ウェブカメラ アプリの使用 (モバイル デバイス):

  1. 携帯電話に IP ウェブカメラ アプリをインストールします。
  2. PC と携帯電話を同じネットワークに接続します。
  3. IP ウェブカメラ アプリのサーバーを起動します。 URL(例:http://192.168.0.101:8080/video)が表示されます。この URL を Python スクリプトで使用します。 アプリのビデオ レンダラーで「JavaScript」を選択します。
  4. ブラウザで URL を開いて、カメラ フィードが機能することを確認します。

How to Capture Live Video Stream from an IP Camera Using Python

Python コード:

<code class="language-python">import requests
import cv2
import numpy as np
import imutils

# Replace with your IP camera URL.  Ensure "/shot.jpg" is appended.
url = "http://192.168.0.101:8080/shot.jpg"  # Example URL

while True:
    img_resp = requests.get(url)
    img_arr = np.array(bytearray(img_resp.content), dtype=np.uint8)
    img = cv2.imdecode(img_arr, -1)
    img = imutils.resize(img, width=1000, height=1800) #Optional Resizing
    cv2.imshow("IP Camera Feed", img)
    if cv2.waitKey(1) == 27: # Esc key to exit
        break

cv2.destroyAllWindows()</code>

段階的な説明:

  1. ライブラリのインポート: HTTP リクエスト、画像処理、配列処理、OpenCV ユーティリティ関数に必要なライブラリをインポートします。

  2. カメラ URL: IP カメラのストリームの URL を設定します。 プレースホルダー IP アドレスをカメラの IP アドレスに置き換えます。

  3. 画像の取得: while ループは URL から画像を継続的に取得します。

  4. デコードとサイズ変更: 生の画像データは NumPy 配列に変換され、OpenCV を使用してデコードされ、必要に応じて表示を改善するためにサイズ変更されます。

  5. 表示: 画像は「IP カメラ フィード」というタイトルのウィンドウに表示されます。

  6. 終了条件: cv2.waitKey(1) はキーが押されるのを待ちます。 Esc (27) を押すとループが終了します。

  7. クリーンアップ: cv2.destroyAllWindows() はすべての OpenCV ウィンドウを閉じます。

スクリプトの実行:

  1. IP カメラを起動します。
  2. カメラの正しい URL で url 変数を更新します。
  3. スクリプトを保存します (例: ipcam_viewer.py として)。
  4. 実行: python ipcam_viewer.py

ビデオ ストリームが表示されます。 Esc キーを押して閉じます。

結論:

このスクリプトは、IP カメラ フィードを表示するための基本的なフレームワークを提供します。 拡張して、動き検出やビデオ録画などの機能を含めることができます。プレースホルダー URL をカメラの実際のストリーム アドレスに忘れずに置き換えてください。

以上がPython を使用して IP カメラからライブ ビデオ ストリームをキャプチャする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。