学习目的是在Python里调取网络摄像头实时显示视频流,方便日后处理。

我最开始的想法是用萤石开发平台下载的sdk自带的demo,在Python里调用C++的程序,但是在运行的过程中返回错误,NET-DVR-LOGIN-V30 failed error code=7,排查了很久未能解决,发现了一种新的方法,通过用Python直接调用网络摄像头的rtsp通信协议更为简单,便进行Python编程。

开发环境:Ubuntu 14.0 OpenCV3.2 TensorFlow1.4 Python3.5.2

IDE 用了pycharm

再此之前先初步熟悉了Linux操作系统的基本指令,然后进行编程:首先是摄像头连接,再此需要输入摄像头所分配到的IP地址,设备用户名和密码,然后代码运行后显示摄像头连接成功,然后就是视频流的调取,写了一个cam_read的代码,如下:

# coding=utf-8

import cv2

from Configuration.config import * # 引入配置文件包

from Network.cam_link import cam_link

link = cam_link()

while(True): # 等待摄像头连接

print("未检测到摄像头,请检查设备连接!")

link = cam_link()

if link == 0:

break

source = get_rtsp()

cam = cv2.VideoCapture(source)

while (True):

# get a frame

ret, frame = cam.read()

# show a frame

cv2.imshow("window", frame)

if cv2.waitKey(1) & 0xff == ord('q'):

break

# 释放摄像头对象和窗口

cam.release()

cv2.destroyAllWindows()

这个代码也没有问题,运行后出现:

cv2.error: OpenCV(4.0.0) /io/opencv/modules/highgui/src/window.cpp:350: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'imshow'

我查阅了大量的资料,最后发现代码是没有问题的,摄像头与计算机的通信也是没有问题的,为了解决这个问题,我试图在代码里添加sleep,因为我以为是摄像头延时太长导致的无法释放,所以添加了延时函数:

Import time

Cam=cv2.videCapture(0)

Time.sleep(1)

Ret,frame=cam.read()

但并没有解决,后来又以为OpenCV的版本不对,尝试用Python调取本地计算机的摄像头,成功了,所以并不是版本问题。最后解释为在释放视频流的时候摄像头的内容并没有通过window显示。经过了几天的查资料,记录,学习,我发现此摄像头并不支持rtsp通信协议,我做的所有都是基于支持rtsp协议的条件下进行的,然后我开始查这种摄像头所支持的协议,得出的结论是,只支持rtmp和其开放平台所研发的萤石私密协议,首先,rtmp是基于tcp的协议,服务端发送给客户端的数据需要flash解析,其他客户端解析不了,私密协议也是类似。

所以最后的结果只能是在web中进行预览和截图,把图片路径复制到Python里进行处理,或者用支持rtsp协议的设备进行。

python摄像头推流_海康视频实时推流学习笔记相关推荐

  1. 海康录像机能用别的摄像头吗_海康录像机怎么添加网络摄像头,你会了吗?

    原标题:海康录像机怎么添加网络摄像头,你会了吗? 1.录像机和摄像头通电连接好设备. 2.在显示器画面右击鼠标点击主菜单. 3.输入海康录像机密码登录设备. 4.进入主菜单选择系统设置. 5.在系统设 ...

  2. html 预览海康实时视频,海康视频实时预览插件

    更新记录 1.0.1(2020-06-17) 对于没有云台的设备,新增了直接全屏播放的调用函数 1.0.0(2020-06-12) 修改插件采集的数据.发送的服务器地址.以及数据用途说明 查看更多 平 ...

  3. 海康视频VTM流监控浏览器实时播放调试总结

    海康视频VTM流播放调试总结 VTM视频demo调用部分代码 配置好地址账号密码后即可进行浏览器实时调用demo实现 网域ip可在vtm服务配置中获取 设备编码需注意: 设备编码取此处编码设备编号,可 ...

  4. java 前台播放视频_「纯js项目」海康视频项目,java后台+前台web显示的,望提供思路!...

    纯js项目: 海康视频项目,java后台+前台web显示的,望提供思路! 如果只是实现BS架构,可以向海康要web开发包,直接使用浏览器通过ocx访问海康设备浏览视频,如果需要的功能不全,再使用JNI ...

  5. 【海康视频SDK】linux服务器端截图与下载视频

    任务描述: 给定海康摄像头的ip地址.端口.用户名.密码,要求能够在linux服务器端运行脚本,完成实时抓图,和下载近期1分钟视频的功能. 我尝试了但失败的方法: 在windows下跑通vs工程后, ...

  6. 调用海康视频接口获取预览取流的URL

    开始之前请参考海康官方SDK文档 鉴于前段时间刚接触视频这一块,整理了自己的一些经验,具体的你们还是参考文档来吧 附上文档地址 https://open.hikvision.com/docs/docI ...

  7. 海康视频监控接入心得

    由于业务需要接入海康视频监控,目前有几种办法: web接入,就是html+js+海康component.exe接入,可找海康邮箱索要开发包及文档: sdk接入,海康官网下载sdk,有demo可直接使用 ...

  8. web端对接海康视频3.2开发包以及遇到的坑

    须知: 3.0开发包功能比较全,但是只支持ie浏览器,所以使用的功能相对来说较少的3.2开发包,开发包官网上可以下载,可自行下载,并按照要求引入文件. 我的项目需求是左侧显示摄像头树状列表,中间部分显 ...

  9. ffmpge海康视频文件格式转换

    陈拓 2021/08/29-2020/08/29 1. 概述 在<海康威视SDK控制台程序consoleDemo将实时码流保存为视频文件> https://zhuanlan.zhihu.c ...

最新文章

  1. idea设置开发方式
  2. mysql中find_in_set_mysql中find_in_set()函数的使用详解
  3. 九、多表模型创建,一对一,一对多,基于对像的多表模型等
  4. 京东战当当,出版商“被”洗牌
  5. sql server规范
  6. 010. 使用.net框架提供的属性
  7. k-means均值向量
  8. 机器人炒饭小块头一一_一罐好饭,智能机器人炒饭出好味道,小块头坚守本心匠心制作!...
  9. 自适应谱线增强matlab,自适应谱线增强器.doc
  10. BlogEngine.NET 1.5的BlogProvider、DbBlogProvider
  11. C语言 完数C语言 完数C语言 完数
  12. 气球java游戏_50个室内趣味游戏活动
  13. VS2015 无法启动IIS Express Web服务器
  14. 最方便的办法下载bilibili视频
  15. 任正非的小女儿,出道了!以后会代言华为手机吗?
  16. 速解元宇宙 / Metaverse 迷雾下的行动指南
  17. Silver-Slides Chapter 1 - 强化学习入门:基本概念介绍
  18. eUSB是什么/可以干什么?
  19. 4.murmur连接超时
  20. adb wifi连接android设备

热门文章

  1. Silverlight游戏设计(Game Design):(二)场景编辑器让游戏开发更美好
  2. 这些pos机,千万别再用了,已经被银联禁止使用,再刷就封卡
  3. 高质蓝牙音乐方案解决蓝牙立体声耳机4个难题
  4. Docker04:docker镜像原理
  5. 走进Evasi0n,越狱黑客如何拿到iOS权限
  6. 一个简单易用的服务器性能监控工具-easynmon
  7. 开篇:到底什么是前端工程化?
  8. 企业分布式存储-EDS
  9. 了解 Boost Filesystem Library
  10. unturned显示在服务器列表,unturned局域服务器模式设置