相关文章推荐
任性的烤面包  ·  linux ...·  1 年前    · 

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

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

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

< 在视频应用中,我们一般都需要基于摄像头或录像机的视频流进行二次开发,那么就涉及到如何将视频流取出来。在摄像机安装好之后,一般是通过局域网与本地的服务器进行连接,要取录像机的视频流就要在局域网范围内进行操作。步骤:1)获取摄像机的IP地址、配置的用户名和密码,按照格式写出RTSP协议地址码2)用VLC工具连接,测试是否可以取出视频流3)python中通过opencv读取视频流详细说明:1)摄像机的I... 1.获取海康摄像头rstp流地址。这个地址是个固定格式。 老版本的格式 rtsp ://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream username: 用户名。例如admin。 password: 密码。例如12345。 ip: 为设备IP。例如 192.0.0.64。 port: 端口号默认为554,若为默认可不填写。 codec:有h264、MPEG-4、mpeg4这几种。
★目前海康录像机、网络摄像机,网络球机的 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
转载来源:如有侵权,联系立马删除 ★目前海康录像机、网络摄像机,网络球机的 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/Chan
URL规定: rtsp ://username:password@&lt;ipaddress&gt;/&lt;videotype&gt;/ch&lt;number&gt;/&lt;streamtype&gt; 路径后面不能有空格、回车等符号,否则会连接失败。 举例说明: 主码流 取流 : rtsp ://admin:12345@192.0....
海康威视摄像头 rtsp 地址格式 单播 取流 格式 ` rtsp ://{username:password}@{ip:port}/Steaming/Channels/{number}` 多播 取流 格式 ` rtsp ://{username:password}@{ip:port}/Streaming/Channels/{number}?transportmode=unicast` 流格式主要由三部分组成: * 用户名和用户密码 * 目标地址和端口号 * 通道号和主次码流 number = 由通道号 +...
2. 代码 实现 最开始为了想快速验证 rtsp 的可行性,就用 python 写了连接、读取和显示,后来验证成功,为了项目使用,就转成qt c++了。整个过程非常简单,首先找到摄像头对应的 rtsp 地址,在这里可以查到大多数品牌的摄像头: 2.1 python 2.2 c++ frame = buffer.tobytes() yield (b'--frame\r\n' b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n') @app.route('/') def index(): return render_template('index.html') @app.route('/video_feed') def video_feed(): return Response(gen_frames(), mimetype='multipart/x-mixed-replace; boundary=frame') if __name__ == '__main__': app.run(debug=True) 请 注意 ,此代码需要使用Flask框架和Jinja2模板引擎。在运行代码之前,请确保您已经安装了这些依赖项。另外,您需要将“your_ rtsp _stream_address”替换为您自己的 RTSP 流地址。 希望这可以帮助您展示OpenCV读取的 RTSP 协议 视频流 到前端HTML页面!