手机当做IP摄像头与OpenCV自动重连实验

手机当做IP摄像头与OpenCV自动重连实验

编码文章call10242025-01-16 10:14:4219A+A-

最近在准备远程视频监控分析项目,IP摄像头还在选型,临时用闲置的手机作为IP摄像头来测试。另外,实际使用中,设备重启是时常需要的事情,这里模拟一下重启摄像头重连的试验。


  • IP摄像头软件,选择的是DroidCam,从软猫下载 https://softmall.net/apps/1272
  • 闲置手机是7-8年前的360,厂家不做了,手机应用商店作废了,无法直接安装程序。只能用电脑,下载360手机助手,通过手机usb线连接,上传IP摄像头软件到手机,从手机文件夹中安装。

OpenCV,搞IT的大概都知道,是视频处理的核心工具库。这里就直接上代码

import cv2
import time

ip_video="http://192.168.18.8:4747/video"   #DroidCam地址

"""网络ip摄像头重连"""

cap=cv2.VideoCapture(ip_video)
success=False
sleep_time=8

while True:
    if cap:
        if cap.isOpened():
            success,frame=cap.read()
        else:
            cap.release()
            time.sleep(sleep_time)
            cap = cv2.VideoCapture(ip_video)
        if not success:
            cap.release()
            time.sleep(sleep_time)
            cap = cv2.VideoCapture(ip_video)
        else:
            print(frame.shape)
            cv2.imshow("camera",frame)
    else:
        time.sleep(sleep_time)
        cap = cv2.VideoCapture(ip_video)
    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

ip_video="http://192.168.18.8:4747/video" 打开DroidCam时,界面显示的地址。

核心的重连代码:

cap.release()   #cap非空时
time.sleep(sleep_time)
cap = cv2.VideoCapture(ip_video)

*当cap非空时,也就是中途视频断流,或重新开机,就先释放摄像头,等几秒钟,再重连

*当cap为空,也就是首次连接摄像头没成功,等几秒,再重连

注意:时间等待很重要,否则会出现有画面,但不更新的情况

大家可以自由的使用IP摄像头了,即使设备重启或临时中断,不久也能自动恢复视频画面。

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4