この Python チュートリアルでは、IP カメラからのライブ ビデオ フィードをキャプチャして表示する方法を示します。 requests
、OpenCV
、imutils
を利用して画像を取得、処理、表示します。 スクリプトは、ユーザーが終了するまでビデオ ストリームを継続的に取得して表示します。
目的:
このチュートリアルでは次の方法を説明します。
最終出力はライブ ビデオ ストリームであり、Esc キーを押すことで終了できます。
前提条件:
これらのライブラリをインストールします:
<code class="language-bash">pip3 install requests opencv-python imutils</code>
IP カメラまたは HTTP 経由でビデオをストリーミングするデバイス (ポート 8080 で MJPEG を使用する Web カメラなど) も必要です。
IP ウェブカメラ アプリの使用 (モバイル デバイス):
http://192.168.0.101:8080/video
)が表示されます。この URL を Python スクリプトで使用します。 アプリのビデオ レンダラーで「JavaScript」を選択します。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>
段階的な説明:
ライブラリのインポート: HTTP リクエスト、画像処理、配列処理、OpenCV ユーティリティ関数に必要なライブラリをインポートします。
カメラ URL: IP カメラのストリームの URL を設定します。 プレースホルダー IP アドレスをカメラの IP アドレスに置き換えます。
画像の取得: while
ループは URL から画像を継続的に取得します。
デコードとサイズ変更: 生の画像データは NumPy 配列に変換され、OpenCV を使用してデコードされ、必要に応じて表示を改善するためにサイズ変更されます。
表示: 画像は「IP カメラ フィード」というタイトルのウィンドウに表示されます。
終了条件: cv2.waitKey(1)
はキーが押されるのを待ちます。 Esc (27) を押すとループが終了します。
クリーンアップ: cv2.destroyAllWindows()
はすべての OpenCV ウィンドウを閉じます。
スクリプトの実行:
url
変数を更新します。ipcam_viewer.py
として)。python ipcam_viewer.py
ビデオ ストリームが表示されます。 Esc キーを押して閉じます。
結論:
このスクリプトは、IP カメラ フィードを表示するための基本的なフレームワークを提供します。 拡張して、動き検出やビデオ録画などの機能を含めることができます。プレースホルダー URL をカメラの実際のストリーム アドレスに忘れずに置き換えてください。
以上がPython を使用して IP カメラからライブ ビデオ ストリームをキャプチャする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。