专栏首页readmeIP camera access 网络摄像头调用
原创

IP camera access 网络摄像头调用

GoPro
# pip install goprocam
# https://python.freelycode.com/contribution/detail/1204
# brew install ffmpeg
from goprocam import GoProCamera, constants
from time import time
import socket, cv2
gopro = GoProCamera.GoPro()
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
t=time()
gopro.livestream("start")
gopro.video_settings(res='1080p', fps='30')
gopro.gpControlSet(constants.Stream.WINDOW_SIZE, constants.Stream.WindowSize.R720)
cap = cv2.VideoCapture("udp://10.5.5.9:8554", cv2.CAP_FFMPEG)
counter = 0
while True:
    nmat, frame = cap.read()
    cv2.imshow("GoPro OpenCV", frame)
    if cv2.waitKey(1) & 0xFF == ord('q'): break
    if time() - t >= 2.5:
        sock.sendto("_GPHD_:0:0:2:0.000000\n".encode(), ("10.5.5.9", 8554))
        t=time()
cap.release(); cv2.destroyAllWindows()
# http://10.5.5.9/gp/gpControl
# http://10.5.5.9/gp/gpControl/execute?p1=gpStream\u0026c1=stop
# print(gopro.overview())
# gopro.shoot_video(10)
# gopro.take_photo()

GoPro访问基于无线网络连接和socket直接访问udp资源,实测视频延迟有点厉害,应该还是码流/压缩的原因,访问有些应用层的rtsp协议相对更快,同时OpenCV对rtsp资源访问更简单,不需要手动起sokcet服务。

Axis(安讯士)
# rtsp://[username]:[password]@[ip]/axis-media/media.amp?[videocodec]&[resolution]
# 例如,请求某设备h264编码的1280x720的码流,URL如下:
rtsp:// 192.168.200.202/axis-media/media.amp?videocodec=h264&resolution=1280x720
rtsp://root:Pass1234@169.254.53.145/axis-media/media.amp?videocodec=H264&resolution=1280x72

username:用户名,例如admin。 password:密码,例如12345,如果没有网络验证可省略用户名密码部分以及@字符。

ip:为设备IP,例如192.168.0.108。videocodec:支持MPEG、h.264等,可缺省。

resolution:分辨率,如resolution=1920x1080,若采用默认分辨率,可缺省此参数。

海康威视
# rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream
# 主码流:
rtsp://admin:12345@192.0.0.64:554/h264/ch1/main/av_stream
rtsp://admin:12345@192.0.0.64:554/MPEG-4/ch1/main/av_stream
# 子码流:
rtsp://admin:12345@192.0.0.64/mpeg4/ch1/sub/av_stream
rtsp://admin:12345@192.0.0.64/h264/ch1/sub/av_stream

username: 用户名,例如admin。 password: 密码,例如12345。

ip: 为设备IP,例如 192.0.0.64。 port: 端口号默认为554,若为默认可不填写。

codec:有h264、MPEG-4、mpeg4这几种。 channel: 通道号,起始为1。例如通道1,则为ch1。

subtype: 码流类型,主码流为main,辅码流为sub。

大华
# rtsp://[username]:[password]@[ip]:[port]/cam/realmonitor?[channel]&[subtype]
rtsp://admin:admin@10.12.4.84:554/cam/realmonitor?channel=2&subtype=1

username: 用户名,例如admin。 password: 密码,例如admin。

ip: 为设备IP,例如 10.7.8.122。 port: 端口号默认为554,若为默认可不填写。

channel: 通道号,起始为1,例如通道2,则为channel=2。

subtype: 码流类型,主码流为0(即subtype=0),辅码流为1(即subtype=1)。

D-Link
# rtsp://[username]:[password]@[ip]:[port]/[channel].sdp
# 如果没有网络验证可直接写成rtsp:// [ip]:[port]/[channel].sdp
rtsp://admin:12345@192.168.200.201:554/live2.sdp 

username:用户名,例如admin。password:密码,例如12345,

ip:为设备IP,例如192.168.0.108。port:端口号默认为554,若为默认可不填写。

channel:通道号,起始为1。例如通道2,则为live2。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • AES 高级加密标准

    The Advanced Encryption Standard (AES), also known by its original name Rijndael...

    readme
  • JavaScript array merge 数组合并

    Dilemma of speed/time and space/memory. a javascript speed & space case.

    readme
  • Django Dev. 后台开发总结

    readme
  • 进程、线程、纤程的区别,有几个人知道?

    在Java 中,这些短小的代码段一般会被放入一个class,然后保存到一个扩展名为 .java 的文件中;之后通过命令行或集成开发环境工具的编译,生成 .cla...

    Java技术栈
  • 亚马逊Web服务超级用户论战DBaaS

    高级亚马逊Web服务用户更喜欢自我管理运行在亚马逊弹性计算云上的数据库,而不是数据库即服务产品,至少现在看是这样的。 上周,AWS超级用户在线活动群组...

    静一
  • HTML5 视音频发展史

    HTML5 视音频发展史 HTML5学堂:在Flash与HTML5的争霸当中,最终Flash败北,而能够替代Flash播放器功能的就是HTML5中的视音频功能...

    HTML5学堂
  • MySQL配置TokuDB的简单总结

    MySQL中的存储引擎是插件式的,当然主流默认的是InnoDB,而且InnoDB存储引擎会随着MySQL官方的搭理投入会越来越火。有了MGR,还有InnoDB ...

    jeanron100
  • 10个有用的”ls”命令面试问题(2)

    张尧博客
  • 盘点那些奇形怪状的编程语言

    有的语言是多面手,在很多不同的领域都能派上用场。这类编程语言叫 general-purpose language,简称 GPL。大家学过的编程语言很多都属于这一...

    Jean
  • 飞桨轻量化推理引擎再升級,新增适配国产AI芯片寒武纪思元

    近日,百度飞桨旗下高性能的轻量化推理引擎Paddle Lite,与国内AI芯片独角兽寒武纪旗下云端人工智能处理器芯片思元270正式完成兼容性适配,而思元220边...

    用户1386409

扫码关注云+社区

领取腾讯云代金券