在视频应用中,我们一般都需要基于摄像头或录像机的视频流进行二次开发,那么就涉及到如何将视频流取出来。

在摄像机安装好之后,一般是通过局域网与本地的服务器进行连接,要取录像机的视频流就要在局域网范围内进行操作。

步骤:

1)获取摄像机的IP地址、配置的用户名和密码,按照格式写出RTSP协议地址码

2)用VLC工具连接,测试是否可以取出视频流

3)python中通过opencv读取视频流

详细说明:

1)摄像机的IP地址、配置的用户名和密码是已知的参数,在安装的时候即已配置好。RTSP协议地址码根据所用摄像机的型号来定,以海康摄像头为例(来自于海康的客服):

★目前海康录像机、网络摄像机,网络球机的RTSP单播取流格式如下(车载录像机不支持RTSP取流):

rtsp://用户名:密码@IP:554/Streaming/Channels/101

→录像机示例:

取第1个通道的主码流预览

rtsp://admin:hik12345@10.16.4.25:554/Streaming/Channels/101

取第1个通道的子码流预览

rtsp://admin:hik12345@10.16.4.25:554/Streaming/Channels/102

取第1个通道的第三码流预览

rtsp://admin:hik12345@10.16.4.25:554/Streaming/Channels/103

取第12个通道的主码流预览

rtsp://admin:hik12345@10.16.4.25:554/Streaming/Channels/1201

→网络摄像机/网络球机示例:

取主码流的URL:

rtsp://admin:hik123456@192.168.1.64:554/Streaming/Channels/101

★如果是多播取流的话,则使用以下路径

rtsp://用户名:密码@IP:554/Streaming/Channels/101?transportmode=unicast

→录像机示例:

取第1个通道的主码流预览

rtsp://admin:hik12345@10.16.4.25:554/Streaming/Channels/101?transportmode=unicast

2)我一般先用VLC工具测试是否可以取出视频流,当然这一步不是必须的。

点击 媒体-->打开网络串流-->输入RTSP地址码

如果能将实时的视频画面取出来,就表明RTSP协议地址码是正确的。

3)用python代码进行取流

代码如下:

import cv2

cap = cv2.VideoCapture('你的RTSP协议地址码')

print(cap)
ret,frame = cap.read()
while ret:
ret,frame = cap.read()
cv2.imshow("current frame",frame)
cv2.imwrite('frame.jpg', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cv2.destroyAllWindows()
cap.release()

最后在此基础上进行python的二次开发。

RTSP协议进行视频取流的方法、注意点及python实现的更多相关文章

  1. 目前使用过的各大厂商rtsp取流的url

    目前使用过的各大厂商取流规则是在实际的工作中遇到的相关视频接入问题,通过rtsp协议接入视频数据的一些记录,其中的图片可能来源于网络,内容部分来源于网络,本人仅仅是对相关内容作了汇总. 海康RTSP取 ...

  2. 各大厂RTSP取流的URI

    目前使用过的各大厂商取流规则是在实际的工作中遇到的相关视频接入问题,通过rtsp协议接入视频数据的一些记录,其中的图片可能来源于网络,内容部分来源于网络,本人仅仅是对相关内容作了汇总. 海康RTSP取 ...

  3. Html5 <video>实现摄像头监控问题:html5并不支持rtsp协议,所以使用vlc进行转码,将rtsp转http流,这样<video>才可以直接播放

    今天在写html5中播放旷视C2摄像头视频监控的功能,查了很多资料,才发现Html5 <video>并不支持rtsp协议.后来查到使用第三方转码才得以实现. 这里把方法写下来分享给大家. ...

  4. 【视频开发】EasyIPCamera通过RTSP协议接入海康、大华等摄像机,摒弃私有SDK接入弊端

    近期工作中需要开发一套视频监控系统,实现WEB端.手机APP端预览局域网内的道路监控摄像机,我负责一些后台服务的开发工作. 由于之前项目中的程序都是采用私有协议.各摄像机厂商的SDK进行视频监控系统开 ...

  5. RTMP、RTSP、HTTP视频协议详解(转)

    一.RTMP.RTSP.HTTP协议 这三个协议都属于互联网 TCP/IP 五层体系结构中应用层的协议.理论上这三种都可以用来做视频直播或点播.但通常来说,直播一般用 RTMP.RTSP.而点播用 H ...

  6. 最新海康摄像机、NVR、流媒体服务器、回放取流RTSP地址规则说明

    本文档主要介绍海康威视设备预览.回放.流媒体取流的RTSP URL和IE直接预览.回放的HTTP URL. RTSP为取流协议,取到码流后需要解码显示,可以通过VLC播放器进行测试,IE等浏览器网页不 ...

  7. Java 监控直播流rtsp协议转rtmp、hls、httpflv协议返回浏览器

    Java 监控直播流rtsp协议转rtmp.hls.httpflv协议返回浏览器 目录 需求背景: 一:了解音视频流协议: 二:方案一 rtsp 转rtmp 1.下载nginx + nginx-rtm ...

  8. 海康RTSP取流URL格式

    预览取流url [海康威视]举例说明: 主码流取流: rtsp://admin:12345@192.0.0.64:554/h264/ch1/main/av_stream 子码流取流: rtsp://a ...

  9. RTSP取流设备密码含@

    一.rtsp取流格式简介 RTSP的基本取流格式为:rtsp://username:password@ip_addr/... 如海康的ip地址为:rtsp://admin:admin123@10.1. ...

随机推荐

  1. Spring Boot 鉴权之—— JWT 鉴权

    第一:什么是JWT鉴权 1. JWT即JSON Web Tokens,是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519),他可以用来安全的传递信息,因为传递的信息是 ...

  2. Redis: userd_memory使用超出maxmemory

    Redis:userd_memory使用超出maxmemory 一.问题现象 2018.12.30 19:26分,收到Redis实例内存使用告警“内存使用率299%>=80%”,检查实例info ...

  3. 机器学习技法笔记(2)-Linear SVM

    从这一节开始学习机器学习技法课程中的SVM, 这一节主要介绍标准形式的SVM: Linear SVM 引入SVM 首先回顾Percentron Learning Algrithm(感知器算法PLA)是 ...

  4. android activity 启动过程分析(source code 4.4)

    说实话,android source code从2.3到4.4变化是蛮多的,尤其是media部分,虽然总的框架是没有多大变化,但是找起代码来看还是挺麻烦的.在android里面最受伤的是使用了java ...

  5. 量化投资学习笔记30——《Python机器学习应用》课程笔记04

    有监督学习 常用分类算法 KNN:K近邻分类器.通过计算待分类数据点,与已知数据中所有点的距离,取距离最小的前K个点,根据"少数服从多数"的原则,将这个数据点划分为出现次数最多的那 ...

  6. docker RPM包安装

    1. 下载 docker RPM包 docker 使用的系统是  Centos 7.6 基础设施服务器 # wget https://download.docker.com/linux/centos/ ...

  7. Murata村田研发向左,制造向右

    前言:Murata村田自1944 年在日本京都创立,是陶瓷无源电子元件.无线连接模块和电源转换技术产品设计和制造领域的全球领导者. Murata 一直在为社会的进步和电子行业的革命贡献自己的力量. 在 ...

  8. VUE实现Studio管理后台(三):支持多语言国际化(vue-i18n)

    RXEditor的第一版本是英文版,有些朋友看起来觉得不习惯,后来因为惰性,不愿意再修改旧代码加入中文版,这次提前就把这个问题解决了,克服惰性最好的方式,就是想到就尽快去做,避免拖延. 本来计划在界面 ...

  9. Spring 事务传播机制和数据库的事务隔离级别

    Propagation(事务传播属性) 类别 传播类型 说明 支持当前事务 REQUIRED 如果当前没有事务,就新建一个事务.@Transaction的默认选择 支持当前事务 SUPPORTS 就以 ...

  10. xcode制作越狱包

    1.将运行目标选为iOS Device 2.Edit Scheme -> 选择 Run [App Name] -> Build Configuration下拉框中选择Release 3.生 ...