Rtsp服务搭建(Ffmpeg+Node.js+jsmpeg网络视频服务器)
当前有几个海康监控,想接入MES系统,去他们官方网站下载了两个web的sdk包,分别为控件开发包和无插件开发包,结果很坑,控件,要求为ie浏览器才能用,太局限了。而无插件,则要求浏览器版本,我看chrome那版本,牙都掉了,版本旧得在网上找不到。不知道其它人是怎么实现在,反正折腾了一天都没发现在web他们给的开发包能接在MES里。后面在监控管理端看到有RTSP服务,我们可以使用Ffmpeg+jsmpeg把RTSP转成Web前面可播放的hls。
具体操作流程
一、下载需要的软件(注意按对应版本下载)
ffmpeg4.0 下载地址
jsmpeg 下载地址
nodejs v8 下载地址
二、安装软件和配置
1. ffmpeg
安装完成后,给ffmpeg配置环境变量:在path最后追加ffmpeg的bin目录路径:[你的安装路径]\ffmpeg4\bin
2. jsmpeg
绿色,下载解压就行
3. nodejs
安装nodejs后,(如果安装有2053错误,使用cmd[管理员运行]安装:msiexec /package node-v8.exe)以管理员运行cmd,使用命令:
npm init(初始化node),注意,此步骤会生成package.json文件,默认放在cmd当前执行路径,比如cmd是这样的:则文件是存放在C:\Users\Administrator,后面的操作要一直保持在此路径。
如果你不想更改存放路径,最好别乱cd。
npm install ws(安装websocket,如果提示:No repository field,则在用户目录(C:\Users\Administrator)的package.json下添加配置: "private": true)
如有提示,先安装:npm install utf-8-validate@^5.0.2 和 npm install bufferutil@^4.0.1
配置环境变量,在path后追加C:\Users\Administrator\node_modules
三、以上配置完成后,我们就可以运行软件了
1. 找到你监控的rtsp地址格式如下
rtsp://admin:[你的监控密码]@[监控ip]:554/Streaming/Channels/01?transportmode=unicast
要验证地址对不对,可以下载个视频播放器 PotPlayer,安装后点击左上的 PotPlayer->打开->打开链接,然后把上面的rtsp地址填进去,确定后,如果地址没有问题,这里我可就可以看到监控画面,如果没有,那说明rtsp地址有问题,需要再确认。
2. 运行jsmpeg
以管理员身份运行cmd,分别输入下列命令
cd /d [你的jsmpeg路径]
node websocket-relay.js supersecret 7081 7082
运行两个命令后,此cmd不能关闭。
3. 运行ffmpeg
以管理员身份运行cmd,输入下列命令
ffmpeg -rtsp_transport tcp -i “rtsp://admin:[你的监控密码]@[你的监控ip]:554/Streaming/Channels/01?transportmode=unicast” -q 0 -f mpegts -codec:v mpeg1video -s 655x460 http://127.0.0.1:7081/supersecret
回车后,此时会看到数据变化,同时jsmpeg的cmd窗体里面提示连接,则表示成功。
四、Web播放实时监控
建个html,在body里写上代码
<div style=" height: 500px; line-height: 500px; text-align: center; border: 1px solid gray; color: white; overflow: hidden;background-color:black;"><canvas id="video-canvas" style="width: 80%; vertical-align: middle;"></canvas>
</div>
<script src="~/Content/jsmpeg/jsmpeg.min.js"></script>
<script type="text/javascript">var canvas = document.getElementById('video-canvas');var url = 'ws://192.168.0.51:7082/';var player = new JSMpeg.Player(url, { canvas: canvas });
</script>
保存后打开,可以看到监控画面。
Rtsp服务搭建(Ffmpeg+Node.js+jsmpeg网络视频服务器)相关推荐
- Ffmpeg+Node.js+jsmpeg.js实现html5播放rtsp
https://blog.csdn.net/l15738519366/article/details/105844281
- Node.js与网络:Node.js对TCP、UDP、Socket、HTTP等协议的实现和支持
转自:https://itbilu.com/nodejs/core/VkcdcFq9.html OSI七层模型是不同计算机或通信系统间互联的标准体系和框架,在OSI中包括一系列标准和协议,如:TCP/ ...
- 从零开始搭建Node.js, Express, Ejs, Mongodb服务器
http://www.toolmao.com/nodejs-express-ejs-mongodb-server 本文改自非鱼的<[翻译]前端开发人员入门指南,从零开始搭建Node.js, Ex ...
- Node.js实现网络爬虫
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.必要工具安装 二.爬取前操作 三.爬取新闻数据 四.建立个人网页展示爬取内容 总结 前言 网络爬虫是按照一定规则自 ...
- 视频教程-征服Node.js 7.x视频课程(6):文件系统与Stream视频课程-Node.js
征服Node.js 7.x视频课程(6):文件系统与Stream视频课程 东北大学计算机专业硕士研究生,欧瑞科技创始人&CEO,曾任国内著名软件公司项目经理,畅销书作者,企业IT内训讲师,CS ...
- 视频教程-征服Node.js 7.x视频课程(5):使用Buffer处理二进制数据-Node.js
征服Node.js 7.x视频课程(5):使用Buffer处理二进制数据 东北大学计算机专业硕士研究生,欧瑞科技创始人&CEO,曾任国内著名软件公司项目经理,畅销书作者,企业IT内训讲师,CS ...
- 用Node.js实现一个HTTP服务器程序(文件服务器)
http Node.js开发的目的就是为了用JavaScript编写Web服务器程序.因为JavaScript实际上已经统治了浏览器端的脚本,其优势就是有世界上数量最多的前端开发人员.如果已经掌握了J ...
- 征服Node.js 7.x视频课程(1):Node.js入门-李宁-专题视频课程
征服Node.js 7.x视频课程(1):Node.js入门-1593人已学习 课程介绍 本课程主要介绍了Node.js的基本情况,以及如何安装Node.js.与Nginx集成,以及开 ...
- 网络视频服务器与数字硬盘录像机的区别
在目前的视频监控领域内,除了模拟摄像机.模拟监视器等传统CCTV监控设备之外,网络摄像机(NetworkCamera).视频服务器(VideoServer)以及DVR是近年出现的三个炙手可热的名词.对 ...
最新文章
- centos8 用u盘安装失败_玩转jenkins - 在自己的服务器上安装jenkins
- sublime text3 怎么配置、运行python_【IT专家】Sublime Text3配置在可交互环境下运行python快捷键...
- centos下svn安装,svn用户管理,svn用户目录管理(虚拟机下访问)
- 动态T-SQL语句常見問題與解決方案
- VC编程实现IE风格的界面
- minio 并发数_c#(asp.net)线程配置总结
- 如何评价一个产品经理工作做的好坏?
- ES7 设置磁盘使用率水位线 allocation.disk.watermark
- 七月算法机器学习5 回归分析与工程应用 小案例
- 云课堂在登陆时显示服务器错误,我的云课堂不能登陆怎么解决
- 安川机器人如何注释化指令_关于安川机器人I/O注释导入的报告
- 神州数码招聘软件测试,神州数码面试经验
- 基于lightgbm的金融风控算法实践(Python版)
- 2021ccpc广州站总结
- dell商务计算机主机闪烁黄灯,戴尔电脑开不了机 已经几天了 主机灯橙色 闪闪的...
- img 加载 svg占位符_SVG组件可创建占位符加载,例如Facebook卡加载
- Unity3D 编辑器功能之MonoBehaviour属性
- 未明学院数据分析报告:谁才是淘宝沙发界最受瞩目的明星店铺?大数据分析助你做“星探”!
- 【PC工具】压缩包密码破解工具,暴力破解压缩包密码,解压密码获取
- 消息称暴雪代理谈判进入第二阶段,与四家中国代理商谈判