python+opencv用电脑调用手机摄像头或其他网路摄像头
文章目录:1 获取手机摄像头或网络摄像头的ip1.1 获取手机摄像头的ip1.2 获取网络摄像头的IP1.3 关于RTSP协议2 python+opencv用电脑打开手机摄像头2.1 打开手机摄像头python程序2.2 调用显示结果3 注意事项3.1 有效的URL格式3.2 网络连接
1 获取手机摄像头或网络摄像头的ip
1.1 获取手机摄像头的ip
1、直接在应用商店下载IP摄像头APP
2、打开IP摄像头
应用程序,获取手机摄像头头的ip
打开IP摄像头应用
显示如下,然后点击打开IP摄像头服务器
,然后就会获取到手机摄像头的IP
然后可以看到连个URL:
rtsp协议的IP:rtsp://192.168.3.16:8554/livehttp协议的IP:http://192.168.3.16:8081
最下面的工具栏:
左下角第一个:切换手机的前置和后置摄像头第二个:手电筒,当切换到后置摄像头时,可以打开手电筒第三个:设置摄像头打开画面的分辨率大小,可以设置的分辨率大小分别为; 1920×10801920\times10801920×10801280×780\times780×720960×540960\times540960×540352×288352\times288352×288 第四个:可以设置流媒体协议,以及其他设置,默认我们是设置为:RTSP服务器
,其他的设置如下 多摄像头:iPhone XS以上版本支持运功检测RTMP推流RTSP服务器 第五个:列举了所有的IP的URL,用去添加到其他设备上
1.2 获取网络摄像头的IP
一般购买的网络摄像头上都会有一个二维码,扫描二维码后查看网络摄像头匹配的软件,即可查看到网络摄像头的IP
1.3 关于RTSP协议
由于我们这里用到这个协议,下面简要介绍一下该协议;
RTSP
(Real Time Streaming Protocol
):实时流传输协议
,该协议是一个应用层协议
,这个协议定义了,多个应用程序如何通过IP网络
传输多媒体数据(即视频流)
RTSP协议
是一个双向的,如下图:
HTTP协议:是客户端
发出请求,服务端
响应RTSP协议:客户端
和服务端
都可以发出请求
2 python+opencv用电脑打开手机摄像头
2.1 打开手机摄像头python程序
电脑上
打开手机上的摄像头
完整程序:
import cv2# url = "http://admin:admin@192.168.3.11:8081"# 程序是执行状态,但是没有打开摄像头# url = "http://admin:123456@192.168.3.16:8081"# 正确打开摄像头url = "rtsp://admin:admin@192.168.3.16:8554/live"# 直接返回错误:[rtsp @ 000001ee2b0824c0] method DESCRIBE failed: 401 Unauthorized# url = "rtsp://admin:123456@192.168.3.16:8554/live"# [rtsp @ 0000019250a424c0] method DESCRIBE failed: 404 Stream Not Found 手机的摄像头会被打开,然后程序报错print('start')cap = cv2.VideoCapture(url)#读取视频流while(cap.isOpened()):ret, frame = cap.read()print('success')cv2.imshow('frame',frame)if cv2.waitKey(1) & 0xFF == ord('q'):breakcap.release()cv2.destroyAllWindows()
http://admin:123456@192.168.3.16:8081
*
URL说明:
*http
:是传输协议
admin
:用户名,默认为admin
123456
:是密码,默认就是123456
@IP
:@符号后面跟摄像头的局域IP地址
:port
:冒号后面跟端口号
2.2 调用显示结果
你也可以直接把http://admin:123456@192.168.3.16:8081
这个URL粘贴到浏览器中,也是可以访问到的,结果如下:
3 注意事项
3.1 有效的URL格式
上面有效的URL为:
http://admin:123456@192.168.3.16:8081
rtsp://admin:123456@192.168.3.16:8554/live
写成如下形式的URL是无效的:
http://admin:admin@192.168.3.11:8081
rtsp://admin:admin@192.168.3.16:8554/live
rtsp://admin:admin@192.168.3.16:8554
有些人使用默认用户名和密码都是admin也是可以的,我测试不行,大家自行测试
3.2 网络连接
手机和电脑要在同一个局域网,即手机和电脑连接的是同一个WIFI
参考:/p/40649346 # 暴力测试打开其他摄像头
参考:/cs106100497/
参考:/article/qq_41358574/115475611