前端Web浏览器基于H5如何实时播放监控视频画面(前言)之流程介绍

先看上边这张图。由于离2020年12月各浏览器禁用Flash的日子越来越近,又正恰巧要做新录播项目,所以有了以下内容。
还记得去年也是这个时候,大约是四五六月份,甲方来了个需求想把车间的监控系统接入到我们自己的数字化管控平台。很荣幸,经理把这个任务交给我了。
当时采用的协议方案是RTSP —> RTMP,服务端用的是Nginx+nginx-rtmp-module,系统windows,前端使用videoJS配合Flash拉流。当然不是说这种方案不好,而是用户体验度确实有点差。虽然我们也做了Flash是否开启的检测(如果用户没允许Flash运行会有提示图让用户主动去点击允许运行),但对于普通用户或电脑盲的用户来说体验度还是差点。因为他不知道去哪找开启,或者说他不愿去找,甚至还会发一些牢骚 **#**@*。当然现在已经离开公司了,具体后来使用情况也就不清楚了。
那么如何抛弃Flash前端播放插件,直接让用户一进入页面就能轻松播放流媒体服务器传过来的流呢?方案还是有的,就是RTMP —> HTTP-FLV。关于HTTP-FLV不做过多描述,简单意思就是将RTMP 转为HTTP-FLV,浏览器拉的是HTTP类型的流,不再是RTMP。转的这个过程不需要你做,流媒体服务器端会直接帮你做好。
RTMP流长这样: rtmp://127.0.0.1:1935/live/livestream
HTTP-FLV流长这样:http://127.0.0.1:8080/live/livestream.flv
先说前端拉流,RTMP流之前播放时使用的是videoJS+Flash,现在HTTP-FLV流播放使用Flv.js(当然如果你有更好播放HTTP-FLV流的JS也可不用这个)
再说后端推流,目前来说支持转封装HTTP-FLV流的'常用'服务器有两款,一款是nginx-http-flv-module,一款是SRS。关于各自介绍度娘很多。那么总结一下就是 OBS/FFmpeg(RTMP) —> nginx-http-flv-module/SRS(HTTP-FLV) —> Flv.js,如下图:

可以看出,对于推流端来说基本没有什么变化,推上来的仍是RTMP,但对于用户端来说选择性就很多了,可直接采用H5观看。
前端Web浏览器基于H5如何实时播放监控视频画面(前言)之流程介绍的更多相关文章
- 前端Web浏览器基于Flash如何实时播放监控视频画面(四)之使用videoJs‘拉流’
本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 0x001: 下载videoJs 对于Video.js 5.x及更低版本,Flash技术(v ...
- 前端Web浏览器基于Flash如何实时播放监控视频画面(前言)之流程介绍
[关键字:前端浏览器如何播放RTSP流画面.前端浏览器如何播放RTMP流画面] 本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 考虑到视频延 ...
- 前端Web浏览器基于Flash如何实时播放监控视频画面(三)之使用ffmpeg‘推流’
本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 0x001: 下载ffmpeg 开源免费的推流软件有很多,这里以 ffmpeg 为例.ffm ...
- 前端Web浏览器基于Flash如何实时播放监控视频画面(一)之获取监控摄像头的RTSP流
本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 0x001: 获取 现在市场上普见的摄像头都支持RTSP协议,如果你不懂什么是RTSP协议, ...
- 前端Web浏览器基于Flash如何实时播放监控视频画面(二)之Windows搭建(RTMP)流媒体服务器
本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 0x001: 获取 流媒体服务器有很多,这里以nginx为例. nginx for Wind ...
- EasyNVR网页H5无插件播放摄像机视频功能二次开发之直播通道接口保活示例代码
背景需求 随着雪亮工程.明厨亮灶.手机看店.智慧幼儿园监控等行业开始将传统的安防摄像头进行互联网.微信直播,我们知道摄像头直播的春天了.将安防摄像头或NVR上的视频流转成互联网直播常用的RTMP.HT ...
- 使用canvas来实时播放RTSP视频
HTML5的标签可以用使用下来面的方式来播放静态视频 <video width="320" height="240" controls="con ...
- K8S Canal基于Prometheus进行实时指标监控
文章来源于本人的印象笔记,如出现格式问题可访问该链接查看原文 部署canal的prometheus监控到k8s中 1.grafana的docker部署方式:https://grafana.com/gr ...
- QT 创建一个线程播放监控视频
1.创建一个线程类(PlayVideoThread): PlayVideoThread.h头文件 #pragma once #include <QObject> #include &quo ...
随机推荐
- python学习笔记-零碎知识点
1. 绝对值 abs(-4) 结果: 4 2.
- Spring杂谈 | 什么是ObjectFactory?什么是ObjectProvider?
在Spring的学习过程中,总是学的越多,不懂的越多.本来只是想将ApplicationContext的相关内容全部梳理一遍,结果发现涉及的东西越来越多,比如上篇文章中的ResolvableType, ...
- 10_CSS入门和高级技巧(8)
图片透明 先来复习一下盒子的透明问题: opacity:0.6; 介于0~1之间,为了让IE兼容,我们要使用IE自己的滤镜: filter:alpha(opacity=60); 盒子的透明,会让里面的 ...
- [hdu5195]线段树
题意:给一个DAG,最多可以删去k条边,求字典序最大的拓扑序列.思路:贪心选取当前可选的最大编号即可,同时用线段树维护下.一个节点可以被选,当且仅当没有指向它的边. #include <iost ...
- python100例 1-10
001 数字重组 题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? for i in range(1,5): for j in range(1,5): for k ...
- struts2 redirectaction
<result type="redirectAction"> <param name="actionName">dashboard< ...
- python之PyCharm下载和安装教程
PyCharm 是 JetBrains 公司(www.jetbrains.com)研发,用于开发 Python 的 IDE 开发工具.图 1 所示为 JetBrains 公司开发的多款开发工具,其中很 ...
- Codeforces1183C(C题)Computer Game
Vova is playing a computer game. There are in total nn turns in the game and Vova really wants to pl ...
- 索引 'GXHRCS.PK_A253' 或这类索引的分区处于不可用状态
ORA-01502: 索引 'GXHRCS.PK_A253' 或这类索引的分区处于不可用状态 http://blog.sina.com.cn/s/blog_7ab8d2720101ozw6.html ...
- iOS私有api检测工具使用
背景:这两天提审了一款新的APP,由于项目中使用了老版本的TZImagePicker中访问了私有API,导致提审失败. 预审经验分享: https://baijiahao.baidu.com/s?id ...