如何或者无插件Web页面监控播放软件LiveNVR的固定视频流地址,实现大屏上墙、播放、视频分析等目的

news/2024/4/26 18:15:42/文章来源:https://blog.csdn.net/jinlong0603/article/details/129280635

1、LiveNVR介绍

LiveNVR的安防监控的视频直播,可以按标准的Onvif/RTSP协议接入监控设备,也可以通过海康、大华、天地伟业等厂家私有SDK接入监控,实现web页面的播放和录像回放。 可以分发HTTP-FLV、WS-FLV、WebRTC、RTMP、HLS(M3U8)、RTSP等多中视频流

2、三种方法获取LiveNVR直播流地址获取

2.1、方法一、HTTP接口获取

2.1.1、接口说明

http://192.168.2.135:10800 是示例的ip及端口,更换成自己部署的LiveNVR的ip及端口

通道相关 - 获取通道直播链接

2.1.2、获取HTTP-FLV流地址

2.1.2.1、接口调用示例

http://192.168.2.135:10800/api/v1/getchannelstream?channel=1&protocol=flv

2.1.2.2、接口返回示例

获取接口返回的,URL字段,前面拼接上服务的ip和端口

{"LiveQing": {"Header": {"CSeq": "1","Version": "v1","MessageType": "MSG_SC_SERVER_GET_CHANNEL_STREAM_ACK","ErrorNum": "200","ErrorString": "Success OK"},"Body": {"AudioEnable": false,"ChannelName": "拉取 FLV","DeviceType": "FLV","NumOutputs": 0,"OSD": "拉取 FLV","Ondemand": true,"Recording": false,"SnapURL": "/snap/channel_1.jpg?t=1615518655678277862","SourceAudioCodecName": "aac","SourceAudioSampleRate": 8000,"SourceVideoCodecName": "h264","SourceVideoFrameRate": 25,"SourceVideoHeight": 576,"SourceVideoWidth": 704,"URL": "/flv/hls/stream_1.flv"}}
}

2.1.3、获取WS-FLV流地址

2.1.3.1、接口调用示例

http://192.168.2.135:10800/api/v1/getchannelstream?channel=1&protocol=ws-flv

2.1.3.2、接口返回示例

获取接口返回的,URL字段

{"LiveQing": {"Header": {"CSeq": "1","Version": "v1","MessageType": "MSG_SC_SERVER_GET_CHANNEL_STREAM_ACK","ErrorNum": "200","ErrorString": "Success OK"},"Body": {"AudioEnable": false,"ChannelName": "拉取 FLV","DeviceType": "FLV","NumOutputs": 1,"OSD": "拉取 FLV","Ondemand": true,"Recording": false,"SnapURL": "/snap/channel_1.jpg?t=1615519865764505509","SourceAudioCodecName": "aac","SourceAudioSampleRate": 8000,"SourceVideoCodecName": "h264","SourceVideoFrameRate": 25,"SourceVideoHeight": 576,"SourceVideoWidth": 704,"URL": "ws://192.168.2.135:10800/ws-flv/hls/stream_1.flv"}}
}

2.1.4、获取WebRTC流地址

2.1.4.1、接口调用示例

http://192.168.2.135:10800/api/v1/getchannelstream?channel=1&protocol=webrtc

2.1.4.2、接口返回示例

获取接口返回的,URL字段

{"LiveQing": {"Header": {"CSeq": "1","Version": "v1","MessageType": "MSG_SC_SERVER_GET_CHANNEL_STREAM_ACK","ErrorNum": "200","ErrorString": "Success OK"},"Body": {"AudioEnable": false,"ChannelName": "拉取 FLV","DeviceType": "FLV","NumOutputs": 1,"OSD": "拉取 FLV","Ondemand": true,"Recording": false,"SnapURL": "/snap/channel_1.jpg?t=1615519865764505509","SourceAudioCodecName": "aac","SourceAudioSampleRate": 8000,"SourceVideoCodecName": "h264","SourceVideoFrameRate": 25,"SourceVideoHeight": 576,"SourceVideoWidth": 704,"URL": "webrtc://192.168.2.135:10800/rtc/stream_1"}}
}

2.1.5、获取RTMP流地址

2.1.5.1、接口调用示例

http://192.168.2.135:10800/api/v1/getchannelstream?channel=1&protocol=rtmp

2.1.5.2、接口返回示例

获取接口返回的,URL字段,服务需要开启对应的rtmp端口 TCP

{"LiveQing": {"Header": {"CSeq": "1","Version": "v1","MessageType": "MSG_SC_SERVER_GET_CHANNEL_STREAM_ACK","ErrorNum": "200","ErrorString": "Success OK"},"Body": {"AudioEnable": false,"ChannelName": "拉取 FLV","DeviceType": "FLV","NumOutputs": 1,"OSD": "拉取 FLV","Ondemand": true,"Recording": false,"SnapURL": "/snap/channel_1.jpg?t=1615519865764505509","SourceAudioCodecName": "aac","SourceAudioSampleRate": 8000,"SourceVideoCodecName": "h264","SourceVideoFrameRate": 25,"SourceVideoHeight": 576,"SourceVideoWidth": 704,"URL": "rtmp://192.168.2.135:10935/hls/stream_1"}}
}

2.1.6、获取HLS流地址

2.1.6.1、接口调用示例

http://192.168.2.135:10800/api/v1/getchannelstream?channel=1&protocol=hls

2.1.6.2、接口返回示例

获取接口返回的,URL字段,前面拼接上服务的ip和端口

{"LiveQing": {"Header": {"CSeq": "1","Version": "v1","MessageType": "MSG_SC_SERVER_GET_CHANNEL_STREAM_ACK","ErrorNum": "200","ErrorString": "Success OK"},"Body": {"AudioEnable": false,"ChannelName": "拉取 FLV","DeviceType": "FLV","NumOutputs": 1,"OSD": "拉取 FLV","Ondemand": true,"Recording": false,"SnapURL": "/snap/channel_1.jpg?t=1615519865764505509","SourceAudioCodecName": "aac","SourceAudioSampleRate": 8000,"SourceVideoCodecName": "h264","SourceVideoFrameRate": 25,"SourceVideoHeight": 576,"SourceVideoWidth": 704,"URL": "/hls/stream_1/stream_1_live.m3u8"}}
}

2.1.7、RTSP

2.1.7.1、开启RTSP

RTSP输出,默认是关闭的,开启需要在基础配置界面配置 RTSP端口(默认554),需要在服务器上开放此端口 TCP

在这里插入图片描述

2.1.7.2、获取RTSP流地址

2.1.7.2.1、接口调用示例

http://192.168.2.135:10800/api/v1/getchannelstream?channel=1&protocol=rtsp

2.1.7.2、接口返回示例

获取接口返回的,URL字段

{"LiveQing": {"Header": {"CSeq": "1","Version": "v1","MessageType": "MSG_SC_SERVER_GET_CHANNEL_STREAM_ACK","ErrorNum": "200","ErrorString": "Success OK"},"Body": {"AudioEnable": false,"ChannelName": "拉取 FLV","DeviceType": "FLV","NumOutputs": 1,"OSD": "拉取 FLV","Ondemand": true,"Recording": false,"SnapURL": "/snap/channel_1.jpg?t=1615519865764505509","SourceAudioCodecName": "aac","SourceAudioSampleRate": 8000,"SourceVideoCodecName": "h264","SourceVideoFrameRate": 25,"SourceVideoHeight": 576,"SourceVideoWidth": 704,"URL": "rtsp://192.168.2.135:554/stream_3"}}
}

2.2、方法二浏览器F12查看播放地址

在这里插入图片描述

2.3、方法三安固定格式拼接

不调用开始直播可以获取播放地址吗?可以的,LiveNVR支持流地址播放直接启动通道拉流,配置规则如下:

2.3.1、HTTP端口直播流地址格式

  • WEBRTC: webrtc://{ip}:{port}/rtc/stream_{通道号}

  • FLV: http://{ip}:{port}/flv/hls/stream_{通道号}.flv

  • WS_FLV: ws://{ip}:{port}/ws-flv/hls/stream_{通道号}.flv

  • HLS: http://{ip}:{port}/hls/stream_{通道号}/stream_{通道号}_live.m3u8

  • RTMP: rtmp://{ip}:{port}/hls/stream_{通道号}

  • RTSP: rtsp://{ip}:{port}/stream_{通道号}

2.3.2、HTTPS端口直播流地址格式

  • WEBRTC: webrtc://{ip}:{port}/rtc/stream_{通道号}

  • FLV: http://{ip}:{port}/flv/hls/stream_{通道号}.flv

  • WS_FLV: ws://{ip}:{port}/ws-flv/hls/stream_{通道号}.flv

  • HLS: http://{ip}:{port}/hls/stream_{通道号}/stream_{通道号}_live.m3u8

  • RTMP: rtmp://{ip}:{port}/hls/stream_{通道号}

  • RTSP: rtsp://{ip}:{port}/stream_{通道号}

2.3.3、关闭静态流地址播放

livenvr.ini ->[base_config]->allow_stream_start_by_url=0 , 默认是开启此功能的,配置后重启LiveNVR服务

[base_config]
allow_stream_start_by_url=0 

3、RTSP/HLS/FLV/RTMP拉流Onvif流媒体服务

  • 支持 Windows Linux 及其它CPU架构(国产、嵌入式…)操作系统
  • 安装包下载 、 安装使用说明
  • 更多常见问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_75759.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全球化趋势下,如何建设稳定高效的技术能力?

如果将全球化比作一场航行,每个期望走出去的企业都是水手,那么是造一艘属于自己的船,还是搭乘已有的船呢?在不同的时间和场景下,相信每个水手都有自己的答案。 近几年,在国际政经环境复杂变幻的形势之下&am…

ImportError: Can not find the shared library: libhdfs3.so解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…

活动回顾|中文社区面对面·上海站

回顾来了! 「中文社区面对面」首次线下交流活动,于 2 月 26 日下午在上海德必世纪 WE 成功举办,迎来了 30 位上海小伙伴的热情参与!Jina AI 高级算法工程师王峰博士与大家分享 Jina AI 的“三驾马车”,百万粉丝B站效率…

4.文件管理

文章目录1、初识文件管理1.1、回顾1.2、文件的属性1.3、无结构文件/有结构文件1.4、文件之间应该怎样组织起来?1.5、操作系统应该向上提供哪些功能?1.6、从上往下看,文件应如何存放在外存?1.7、其他需要由操作系统实现的文件管理功…

【蓝桥杯嵌入式】点亮LED灯,流水灯的原理图解析与代码实现——STM32

🎊【蓝桥杯嵌入式】专题正在持续更新中,原理图解析✨,各模块分析✨以及历年真题讲解✨都在这儿哦,欢迎大家前往订阅本专题,获取更多详细信息哦🎏🎏🎏 🪔本系列专栏 - 蓝…

实践数据湖iceberg 第四十二课(业界视野)业界的流批一体架构

系列文章目录 实践数据湖iceberg 第一课 入门 实践数据湖iceberg 第二课 iceberg基于hadoop的底层数据格式 实践数据湖iceberg 第三课 在sqlclient中,以sql方式从kafka读数据到iceberg 实践数据湖iceberg 第四课 在sqlclient中,以sql方式从kafka读数据到…

React(三):脚手架、组件化、生命周期、父子组件通信、插槽、Context

React(三)一、脚手架安装和创建1.安装脚手架2.创建脚手架3.看看脚手架目录4.运行脚手架二、脚手架下从0开始写代码三、组件化1.类组件2.函数组件四、React的生命周期1.认识生命周期2.图解生命周期(1)Constructor(2&…

【封装xib补充 Objective-C语言】

一、那么首先,咱们就从这个结果来分析 1.就不给大家一步一步分析了,直接分析我们这里怎么想的, 首先,我们看到这样的一个界面,我们想,这些应用数据是不是来源于一个plist文件吧, 所以说,我们首先要,第一步,要懒加载,把这个plist文件中的数据,加载起来, 那么,因…

「JVM 高效并发」锁优化

为了线程间更高效的共享数据及解决竞争问题,提高程序执行效率,JDK 6 做了大量锁优化,如适应性自旋(Adaptive Spinning)、锁消除(Lock Elimination)、锁膨胀(Lock Coarsening&#xf…

机器学习知识总结 —— 21. 什么是主成分分析

文章目录什么是PCA(Principal Component Analysis)协方差矩阵什么是协方差协方差矩阵特征值与特征向量PCA降维什么是PCA(Principal Component Analysis) 在机器学习中,PCA(Principal Component Analysis&a…

实践数据湖iceberg 第四十一课 iceberg的实时性-业界的checkpoint配置

系列文章目录 实践数据湖iceberg 第一课 入门 实践数据湖iceberg 第二课 iceberg基于hadoop的底层数据格式 实践数据湖iceberg 第三课 在sqlclient中,以sql方式从kafka读数据到iceberg 实践数据湖iceberg 第四课 在sqlclient中,以sql方式从kafka读数据到…

【python学习笔记】:中文编码

Python 中文编码 我们已经学会了如何用 Python 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符 "你好,世界" 就有可能会碰到中文编码问题。 Python 文件中如果未指定编码,在执行过程会出现报错…

9、STM32 SDIO FATFS(SD卡)

本篇文章使用STM32对SD卡通过SDIO配置,读写文件 在使用FATFS时值得注意得是若通信SDIO不启动DMA方式读写,容易导致其他任务中断打断读写时序,导致FATFS的执行出现异常,常见返回为FR_DISK_ERR, / (1) A hard error occurred in the…

Apache Airflow Provider Sqoop 模块远程代码执行漏洞

漏洞描述 Apache Airflow 是一个以编程方式管理 workflow 的平台,Sqoop 模块用于在 Hadoop 和结构化数据存储(例如关系数据库)之间高效传输大量数据。 apache-airflow-providers-apache-sqoop 3.1.1 之前版本中,由于 SqoopHook …

【LeetCode】剑指 Offer(12)

目录 题目:剑指 Offer 30. 包含min函数的栈 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:剑指 Offer 30. 包含m…

京东物流实时风控实践

摘要:本文整理自京东风控数据产品组架构师周文跃,在 FFA 2022 实时风控专场的分享。本篇内容主要分为六个部分:1. 京东物流业务介绍2. 物流风控场景概括3. 物流风控平台建设4. Flink 赋能5. 技术挑战6. 未来规划Tips:点击「阅读原…

Vulnhub靶场之SHENRON: 3(wordpress)

1.信息收集 输入arp-scan 192.168.239.0/24,探索存活主机,发现主机192.168.239.174存活 对存活主机进行端口扫描,发现只存在80(Web)端口。 访问http://192.168.239.174,查看源码,发现域名http://shenron。 在/etc…

使用Selenium IDE进行自动化测试

1. 综述 Selenium IDE是火狐浏览器的一个插件,它会记录你在网页中进行的操作,如登陆、点击等。更为强大的是它还能将记录导出,例如导出成junit测试用例,非常强大,接下里将会看见。 在火狐的插件管理里,搜…

使用 docker 部署 MySQL 会导致数据丢失吗

2023年2月28日,今天下午电话面试 java 岗位,经过一些提问后,面试官问了一个问题,“那么你最近在关注什么方面的技术点呢?”,可能是我之前的回答不太理想,且说辞都是“不好意思,可能最…

0224多态

目录 一、多态的引入 二、方法的多态 一、重载 二、重写 三、对象的多态(核心) 四、应用实例 五、向上转型 六、向下转型 七、属性没有重写 八、练习题 第一题 第二题 一、多态的引入 通过主人给宠物喂食这个例子,说明多态的必要性&…