目       录

1.      概述... 2

2.      将来集成到iNeuOS平台演示... 3

3.      iNeuVideo结构... 3

4.      iNeuVideo部署及应用... 3

5.      HTML5终端视频监测代码... 5

6.      基于数据库应用使用效果... 6


1.   概述

iNeuVideo是视频服务组件,主要负责把RTSP的视频流数据转码成WebSocket协议的视频流数据,为终端提供视频监测服务。iNeuVideo后期会集成到iNeuOS工业互联网平台的Web组态(iNeuView)上,拖动组件快速构建视频监测。结合物联网服务(iNeuKernel)采集设备或传感器的数据,形成视频数据+设备数据的整体监测服务。参见《iNeuKernel(物联网核心组件)远程控制标准化设计与实现》,可以实现远程控制。

iNeuVideo现在仅支持RTSP->WebSocket,现在主流摄像头厂家(海康威视等)基本支持RTSP协议,可以很方便的接入视频数据流。后期集成RTSP->RTMP和RTSP->HTTP的协议。基于iNeuVideo服务,其他公司也可以形成自己的产品,后面应用会具体介绍。

应用效果,如下图:

针对视频监测几个协议概念:RTSP、RTMP、HTTP和WebSocket等进行简单介绍:

(1)RSTP、RTMP、HTTP协议共同点,他们都是应用层协议。理论上这三种协议都可以做直播和点播,但直播一般用RTSP和RTMP点播用HTTP。
    (2)RSTP、RTMP、HTTP协议区别

HTTP将数据作为文件处理,所以HTTP不是流媒体协议,RTMP和RTSP是流媒体协议。

RTMP是Adobe的私有协议,未完全公开,RTSP和HTTP是共有协议。
             RTMP一般传输flv,f4v格式流,RTSP传输ts,MP4格式流,HTTP没有特定的流。

RTSP一般需要2-3个通道,数据和命令通道分开,RTMP和HTTP在一个通道上传输命令和数据。

WebSocket协议,基于HTML5提供的一种在单个 TCP 连接上进行全双工通讯的协议。针对终端与服务端交互应用较广泛。

2.  
将来集成到iNeuOS平台演示

在线演示:http://demo.ineuos.net  (注:服务器比较慢,请耐心等待。自已注册用户,体验系统功能)

视频演示:http://www.ineuos.net/video/iNeuOS%20and%20app.mp4

驱动开发:http://www.ineuos.net/index.php/products/ineukernel-15.html (v2.1版本)

手机APP:http://demo.ineuos.net/app/ineuos_app.apk

3.  
iNeuVideo结构

视频源一般为RTSP协议,由iNeuVideo转码服务拉取视频流数据,经过代码转发服务向WebSocket连接的终端广播数据,HTML5终端进行数据展示。结构示意,如下图:

4.  
iNeuVideo部署及应用

iNeuVideo基于.NETCore 3.1版本开发,.NETCore 3.1的安装部署参见:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install

      iNeuVideo下载:百度网盘下载,包括服务、数据库脚本和HTML5脚本。这是绿化版本的软件,直接下载就可以应用,应用有两种模式:基于命令行和基于数据库。

(1)基于命令行的应用

首先使用管理员模式打开命令行,进入iNeuVideo目录,第一次运行的时候需要执行:dotnet iNeuVideoTool.dll,检测和配置当前系统。

其次输入参数执行:dotnet iNeuVideo.dll rtsp://192.168.101.1:18554/stream1,进行视频转换,视频转换后的WebSocket地址对应:ws:// 192.168.101.1:9091/ineuos/live1,live后边的编号自动增加。如下图:

(2)基于数据库的应用

其他公司可以使用iNeuVideo服务组件,基于数据库的应用形成自己的产品,前台业务系统操作数据库可以完成对视频流拉取、转码、推送等全流程操作。

mysql数据库只有一个表:Video,只需要对这个表进行操作,表结构如下:

DROP TABLE IF EXISTS `video`;
CREATE TABLE `video` (
`Id` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '主键',
`Key` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'http://*.*/ineuos/live1,live1就是key.',
`VideoSource` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '视频流源地址,一般为rtsp协议。',
`VideoSourceProtocol` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '现在支持,包括:rtsp。',
`VideoDest` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '视频流目标地址,从VideoSource转码到VideoDest,不需要设置,系统自动生成。',
`VideoDestProtocol` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '现在支持,包括:websocket。',
PRIMARY KEY (`Id`) USING BTREE,
UNIQUE INDEX `Key`(`Key`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;

在iNeuVideo\iNeuKernel\ SourceConfig.cfg文件下配置数据库连接信息

以管理员的模式运行【start-win.bat】批处理文件,直接读取数据库的信息进行视频流的操作,不需要其他的操作。

5.   HTML5终端视频监测代码

基于MPEG标准的视频编码进行解码,底层使用canvas进行显示,也有其他的JS组件可以使用。代码如下:

<!DOCTYPE html>
<html>
<head>
<title>JSMpeg Stream Client</title>
<style type="text/css">
html, body {text-align: center;}
</style>
</head>
<body>
<canvas id="video-canvas"></canvas>
<canvas id="video-canvas1"></canvas>
<script type="text/javascript" src="jsmpeg.min.js"></script>
<script type="text/javascript">
var canvas = document.getElementById('video-canvas');
var url = 'ws://127.0.0.1:9091/ineuos/live1';
var player = new JSMpeg.Player(url, {canvas: canvas}); var canvas1 = document.getElementById('video-canvas1');
var url1 = 'ws://127.0.0.1:9091/ineuos/live2';
var player1 = new JSMpeg.Player(url1, {canvas: canvas1});
</script>
</body>
</html>

6.   基于数据库应用使用效果


文章:

.NET Core开发的iNeuOS工业互联网平台,发布 iNeuDA 数据分析展示组件,快捷开发图形报表和数据大屏

[视频演示].NET Core开发的iNeuOS物联网平台,实现从设备&PLC、云平台、移动APP数据链路闭环

.NET Core开发的iNeuOS物联网平台部署树霉派(raspbian),从网关到云端整体解决方案

.NET Core开发的iNeuOS物联网平台部署在Ubuntu操作系统,无缝跨平台

iNeuOS 物联网云操作系统2.0发布,集成设备容器、视图建模、机器学习三大模块

iNeuOS云操作系统,.NET Core全系打造


物联网&大数据技术 QQ群:54256083

物联网&大数据合作 QQ群:727664080

网站:http://www.ineuos.net

联系QQ:504547114

合作微信:wxzz0151

iNeuOS工业互联平台,.NETCore开发的视频服务组件iNeuVideo,RTSP转WebSocket的更多相关文章

  1. iNeuOS工业互联平台,WEB组态(iNeuView)集成rtmp和websocket视频元件,支持海康、大华等摄像头实时显示视频

    目       录 1.      概述... 1 2.      平台演示... 2 3.      硬件摄像头... 2 4.      视频流协议转换管理... 2 5.      组态视频元件 ...

  2. .NET Core开发的iNeuOS工业互联平台,iNeuKernel物联网核心组件在Docker容器中部署。

    目       录 1.      概述... 2 2.      演示信息... 2 3.      安装Docker容器... 2 4.      安装dotnet镜像... 3 5.      ...

  3. .NET Core开发的iNeuOS工业互联平台,升级四大特性:配置数据接口、图元绑定数据、预警配置和自定义菜单

    目       录 1.      概述... 2 2.      演示信息... 2 3.      iNeuView(Web组态)配置数据接口... 2 4.      iNeuView(Web组 ...

  4. iNeuOS工业互联平台,部署在智能硬件网关,实现了从边缘端到云端的一体化部署

    目       录 1.      概述... 2 2.      平台演示... 3 3.      智能硬件网关配置(参考)... 3 4.      iNeuOS在网关中的部署步骤... 5 4 ...

  5. iNeuOS工业互联平台,iNeuKernel(物联网核心组件)远程控制标准化设计与实现。发布v2.3版本。

    目       录 1.      概述... 2 2.      平台演示... 2 3.      控制端与iNeuKernel的交互协议... 3 4.      设备驱动实现控制业务... 4 ...

  6. iNeuOS工业互联平台,开放设备驱动管理、服务驱动管理、云组态自定义画布等,促进平台开放、赋能和落地。发布:v2.3版本。

    目       录 1.      概述... 2 2.      iNeuOS平台演示... 2 3.      设备驱动管理... 2 4.      服务驱动管理... 3 5.      云组 ...

  7. iNeuOS工业互联平台,实现动态图元、计算平台、远程控制、数据转发等,和大厂相比如何

    目       录 1.      概述... 2 2.      平台演示... 2 3.      增加按钮组态元件... 2 4.      组态图元旋转及动画... 3 5.      后台容 ...

  8. iNeuOS工业互联平台,WEB组态(iNeuView)集成图报组件,满足实时数据图形化展示的需求

    目       录 1.      概述... 1 2.      平台演示... 2 3.      应用过程... 3 4.      实时数据展示效果... 5 1.   概述 市场和开源社区有 ...

  9. iNeuOS工业互联平台,WEB组态(iNeuView)集成实时预警和报警柱状图

    目       录 1.      概述... 2 2.      平台演示... 2 3.      应用过程... 2 4.      实时数据展示效果... 3  1.      概述 对于我们 ...

随机推荐

  1. Ubuntu更改源地址列表

    1. 备份源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup 2.打开源列表 sudo gedit /etc/apt/sour ...

  2. [一般图最大匹配]Bimatching

    10566 Bimatching 题意:一个男生必须跟两个女生匹配,求最大匹配 思路:一般的二分图匹配做不了,网络流也不会建图,这题采用的是一般图匹配 首先在原来二分图的基础上,将一个男生拆成两个点 ...

  3. 吴裕雄--天生自然python学习笔记:python 用firebase实现英文电子词典

    Firebase 版电子词典 学英语是许多 人一辈子的麻烦 . 所以本例中,我们开发一个英汉词典,用户执 行程序后,单击“翻译”按钮即可显示该单词的中文翻译 . 英汉词典标准版 因为这个案例的数据必须 ...

  4. G - Radar Scanner Gym - 102220G(中位数~~)

    zThere are n rectangle radar scanners on the ground. The sides of them are all paralleled to the axe ...

  5. logstash nested内嵌字段 field protobuf解码 codec 的解决办法

    logstash nested内嵌字段 field protobuf解码 codec 的解决办法 主要需求 logstash-codec 下https://www.elastic.co/guide/e ...

  6. Block to|wreck|Range|Reach|span|chase around|amuse|exploit |instructed

    English note: Block to 纷涌而至 destroy多指彻底地.毁灭性地破坏,含导致无用,不能或很难再修复的意味. wreck侧重指船只.车辆.房屋等受到严重破坏或完全毁坏,也可指计 ...

  7. linux一些基本操作-防火墙操作

    防火墙操作 一.service方式 查看防火墙状态: [root@centos6 ~]# service iptables status iptables:未运行防火墙. 开启防火墙: [root@c ...

  8. jQuery选择器的效率问题

    jQuery提供了功能强大,并兼容多种css版本的选择器,不过发现很多同学在使用选择器时并未注重效率的问题. a) 尽量使用Id选择器,jQuery选择器使用的API都是基于getElementByI ...

  9. linux kill进程没有立刻停止

    前些天在执行restart脚本的时候遇到了一个奇怪的问题:1.第一次执行进程不见了,启动失败2.第二次重启进程成功,但是在kill的时候提示进程不存在需要重启两次进程才能成功 查看日志文件:第一次重启 ...

  10. 利用.swp文件恢复源文件

    使用命令 vim -r filename.swp 保存即可