目       录

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. maven tomcat 自动部署配置

    1:Tomacat 配置 /tomcat-users.xml 添加如下: <role rolename="manager-gui"/> <role rolenam ...

  2. grep -v|grep -F

    cat a cat b #取b中不含1的行 b #b先和a比较,两者交集与b再取交集 b: b: b: b: b: b:22 $ grep -F a -f a b#a先和a比较,两者交集与b再取交集 ...

  3. [转]Apache漏洞利用与安全加固实例分析

    1.2 Apache文件解析特性 Apache对于文件名的解析是从后往前解析的,直到遇见一个它认识的文件类型为止.因此,如果web目录下存在以类似webshell.php.test这样格式命名的文件, ...

  4. tesseract系列(4) -- tesseract训练问题总结

    1. 每次训练模型删除目录下,上述重复的名字 2. 生成inttemp.pffmtable文件的时候,如果下述命令(1)不行的话,或者报错,使用命令(2) (1)mftraining -F font_ ...

  5. js 实现时间递增,当前时间功能,javascript格式化当天日期

    直接上代码: function nowTimeStr() {                        var date = new Date();                        ...

  6. 迅为IMX6Q开发板提供原理图_底板PCB_驱动程序源码_芯片和LCD数据手册_开发板环境_使用手册

      迅为IMX6开发板: Android4.4/6.0系统  Linux + Qt5.7系统  Ubuntu12.04系统 部分案例:HMI:3D打印机:医疗设备:工控机:触控一体机:车载终端 核心板 ...

  7. Spring Boot 2.x 整合 Redis最佳实践

    一.前言 在前面的几篇文章中简单的总结了一下Redis相关的知识.本章主要讲解一下 Spring Boot 2.0 整合 Redis.Jedis 和 Lettuce 是 Java 操作 Redis 的 ...

  8. Java基础语法要点

    1.Java中byte.short.int.long的取值范围 byte:[-128,127] short:[-32768,32767] int:[-2147483648,2147483647] lo ...

  9. 《C Prime Plus》第八节笔记

    第八节 字符输入/输出和输入验证 8.1 单字符I/O:getchar()和putchar() getchar()和putchar()包含在stdio.h头文件中 8.2 缓冲区 无缓冲输入: 直接回 ...

  10. 84)PHP,SQL注入基础讲解

     怎么预防: 填写防止SQL注入的代码: