Tapo IP Camera 串流擷取


使用OpenCV擷取RTSP串流資料

本文使用的是Tapo C100 IP Camera,連接家用WiFi串流資料,由於官方文件有提供RTSP協議的串流網址格式(也可使用ONVIF),以及帳戶設定教學,因此採用RTSP協議進行實作。

取得RTSP串流的URL

參考官方教學文件,首先必須在以配對IP相機的Tapo app中,設定使用者名稱以及密碼。
(1) 從主頁進入攝影機實況頁面

(2) 在實況頁面上,點擊齒輪圖示進入攝影機設定頁面。

(3) 點擊“進階設定”,然後選擇“攝影機帳戶”來建立一個帳戶(使用者名稱和密碼)。


擷取影像

import cv2
import matplotlib.pyplot as plt

# Tapo攝影機的RTSP即時串流的URL(網址)
rtsp_url = 'rtsp://使用者名稱:密碼@IP位址:554/stream1'

# 開啟串流
cap = cv2.VideoCapture(rtsp_url)

# 從相機機擷取一張影像
ret, frame = cap.read()

# 將BGR圖片轉為RGB
img = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)

# 顯示圖片
plt.imshow(img)

# 釋放相機資源
cap.release()

得到如下影像,影像尺寸為 1920 x 1080,檔案大小162KB。

後記

從目前的檔案大小來看,若要做到FPS=1的即時偵測,一天共會產生 86400 * 162 KB = 13.35 GB 的圖檔。然而在監視畫面中,大部分都是靜止不動的重複影格,因此在收集訓練資料前,必須先辨識靜止不動的情況。

Reference








你可能感興趣的文章

筆記、[FE303] React 的好夥伴:Redux

筆記、[FE303] React 的好夥伴:Redux

Day 14-higher-lower game

Day 14-higher-lower game

React-[核心篇]- React渲染功能在後台是怎麼運作的?

React-[核心篇]- React渲染功能在後台是怎麼運作的?






留言討論