前言

再小的技术点也会有他的市场!

一直以来,都有一些不被看好,认为是成本太高,无法大规模展开的软件和产品形态,就好比每一座城市都会有他的著名小吃一样,即使是慕名而来的人源源不断,受众群体也总是有限,但这并不妨碍这些小而美的美食服务于一方用户;

在萤石/乐橙/微吼/趣看类型直播应用大规模开展的今天,高大上的直播形态视乎占据了主流,然而这些对于普通型的公司似乎成本有点高,而且不能够长线、无忧地进行,我所谓的无忧地进行,指的不是直播系统的稳定性,而是成本的稳定性,试着对比一种一直在被流量消耗扣钱的心态和每天乐此不疲地用花生壳动态域名解析进行直播的心态,完全是不一样的赶脚;

通过开源、开源社区,我们接触了大大小小各行各业的直播需求形态,大多数用户选择了最省钱的一种方式:用自有的IPC摄像机做为视频源,用企业自己的固定线路进行长时间不间断的常态直播,省钱啊!

上面说到何种需求形态,尤其是在较大企业需要,如:石油、航天、安监、农业,他们有一个共同点,前期投入了大量的经费构建自己的专用网络,有固定IP,带宽上下行足够大,流量不用也是浪费,基于自身安全保密考虑,需要在自建的网络中建设直播方案;

要义:我有带宽,我有服务器,我有固定IP,我有摄像头,我就想做自己的直播,不想用CDN!

技术实现方法

剥离业务需求,流媒体方面的业务需求基本就是:

  1. RTSP流转RTMP流进行RTMP/HLS直播;

    此部分是功能的核心,如何能够稳定、支持重连、低延时、时间戳均匀地进行RTMP、HLS直播,ffmpeg是开发者的首选,能够兼容绝大部分的RTSP流和高效的RTMP推流,而且能够保持低延时,如果仅仅是用来做一个demo,那么用ffmpeg的命令就能搞定,通过:ffmpeg -re -i rtsp://xxx -f flv rtmp://xxx,这种命令形式,推送效果很好,但是有一个缺点,就是ffmpeg.exe目前不带自动断线重连的功能,所以,ffmpeg.exe只能做为demo来用;

    另一种方式就是基于ffmpeg或者EasyRTSPClient+EasyRTMP的二次开发功能,自己开发出支持重连的RTSP拉转RTMP推的功能,这个方案我们在博客《EasyRTMP实现将RTSP流转换成RTMP流实现RTSP直播转RTMP直播的功能》和《EasyRTMP+EasyRTSPClient实现的多路(支持断线重连)RTSP转RTMP直播推流工具》中已经详细描述,ffmpeg来做的话,也将会是同样的方法,对每一路的“RTSP转RTMP”维护一个Session,每一个Session有一个ffmpeg拉流的RTSPSource和一个RTMP推流的RTMPSink,ffmpeg再维护RTSPSource的重连和RTMPSink的重连;

  2. 外围对这些RTSP输入源与RTMP输出源进行通道化的管理;

    按照1中的描述,我们不但要做“RTSP转RTMP”的功能,还要做一个外围的有效的Source和Sink从配置、到修改、启用/禁用、列表查询等一系列的功能,这个功能其实就是类似NVR的通道管理的概念,而且通道管理还需要增加一些增值化的服务就更好了,比如:在线状态、通道快照、是否启用音频、是否长时间拉流推流/还是有人看的时候再拉转推,等等一系列的功能;

方案推荐

上面描述了这种业务需求的要义和解决方案,为自家开源团队开发的产品打个广告:EasyNVR,这个在之前的博客中也已经详细描述过一些应用的场景了《基于EasyNVR实现RTSP/Onvif监控摄像头Web无插件化直播监控》,EasyNVR在这一块已经经过了很多用户和应用场景的论证,对一般的企业级直播需求是完全能够满足的,而且还能对接到CDN,可以说是一款足够“小而美”的应用产品!

EasyNVR 下载

EasyNVR项目下载地址:https://github.com/EasyDarwin/EasyNVR(内含使用文档和接口文档)

EasyNVR适用于各种网络场景中

EasyNVR适用的案例

基于EasyNVR实现了很多行业场景的直播需求,目前已经广泛应用于石油油田、水利大坝、园区监控、幼儿园直播、景区直播:

上为一水利监控项目应用,EasyNVR服务器一边拥有内网访问权限,一边拥有公网固定IP,采用的是方案1x

上为一施工工地网页监控项目,采用的EasyNVR方案为1x

上为一幼儿园直播监控项目,面向家长进行幼儿园微信直播,采用的EasyNVR方案为1x

上为一园区监控网页监控项目,采用的EasyNVR方案为1x

上为一施工工地网页监控项目,采用的EasyNVR方案为1x

上为中石油地点网页监控项目,采用的EasyNVR方案为2x

获取更多信息

邮件:support@easydarwin.org

WEB:www.EasyDarwin.org

QQ交流群:587254841

Copyright © EasyDarwin.org 2012-2017

将海康大华等网络摄像机RTSP流进行网页Flash rtmp和H5 hls直播的技术方案的更多相关文章

  1. RTSP安防摄像机(海康大华宇视等)如何推送到RTMP流媒体服务器进行直播

    方案介绍 目前互联网直播的CDN和标准RTMP流媒体服务器通常只能接收RTMP格式的音视频推流.目前市场上有一些自带RTMP推流的摄像机和编码器,可以直接在其rtmp推流配置里面配置推送到RTMP流媒 ...

  2. 海康&大华&DSS视频拉流-RTSP转RTMP多媒体播放技术

    海康&大华&DSS获取RTSP 实时流 海康:rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/ ...

  3. 海康/大华 IpCamera RTSP地址和格式

    海康:rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream说明:username: 用户名.例如 ...

  4. EasyPlayer播放海康大华RTSP流时RTSPClient客户端连接兼容问题的解决

    在之前的博客<EasyPlayer RTSP播放器对RTSP播放地址url的通用兼容修改意见>中,我描述了遇到的一个客户在播放大华某款摄像机时地址不兼容的问题,这不,团队刚刚参考我的这个意 ...

  5. 海康大华RTSP格式

    海康实时流:rtsp://admin:12345@192.2.82.50:554/h264/ch4/main/av_stream海康回放流(模拟通道):rtsp://admin:12345@192.2 ...

  6. 浏览器低延时播放监控摄像头RTSP海康大华硬盘录像机NVR视频(EasyNVR播放FLV视频流)

    背景描述 EasyNVR的使用者应该都是清楚的知道,EasyNVR一个强大的功能就是可以进行全平台的无插件直播.主要原因在于rtsp协议的视频流(默认是需要插件才可以播放的)经由EasyNVR处理后可 ...

  7. 来自iSpy整理的最全海康大华IPC的RTSP连接地址

    来自iSpy整理的最全海康大华IPC的RTSP连接地址 先贴出处: 海康:http://www.ispyconnect.com/man.aspx?n=Hikvision 大华:http://www.i ...

  8. [工具]利用EasyRTSPClient工具检查摄像机RTSP流不能播放原因以及排查音视频数据无法播放问题

    出现问题 我们在做流媒体开发的过程中,进程会出现摄像机RTSP流莫名其妙无法播放的问题,而我们常用的vlc经常是直接弹出一个无法播放的提示框就完事了,没有说明出错的原因,或者在vlc的消息里面能看到日 ...

  9. 海康、大华NVR网络硬盘录像机录像无插件全平台访问实现—录像回放时间轴功能实现方法

    在之前的博文中我们有介绍方案*NVR硬件录像机web无插件播放方案(支持取特定时间段视频流)*:该片博文旨在介绍时间轴功能的实现和相关接口的调用: 时间轴样式展示: 问题分析 对于 时间轴的展示实现需 ...

随机推荐

  1. 探讨"点"语法的奥秘

    点语法 一直以来,都不理解什么是点语法,都说是相当于链接或是路径.也许我浏览的信息量少吧,看过好几篇有关的博文,没什么记载,本篇只是初步见解分析. 在javascript里,属性和方法都使用“点”语法 ...

  2. zabbix分布式监控系统安装配置

    zabbix简介: zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵 ...

  3. [BZOJ4137]火星商店问题

    Description 火星上的一条商业街里按照商店的编号1,2 ,…,n ,依次排列着n个商店.商店里出售的琳琅满目的商品中,每种商品都用一个非负整数val来标价.每个商店每天都有可能进一些新商品, ...

  4. spring junit4 测试

    @Service @ContextConfiguration(locations = { "classpath:config/applicationContext.xml" }) ...

  5. Dijkstra FORMCM

    Dijkstra 算法 date: 2018/2/2 author:pprp theme:Dijstra 简述 辅助空间 vis数组:记录是否已经判断过 dis数组:记录指定原点到其他点的距离 mp二 ...

  6. HDFS读写流程learning

    有许多对流程进行描述的博客,但是感觉还是应当学习一遍代码,不然总感觉怪怪的,https://blog.csdn.net/popsuper1982/article/details/51615285,首先 ...

  7. Java输出double类型中的最小正数和最大正数

    这是<写给大忙人看的java核心技术>中的一道练习题. 1. 输出最大正数值 System.out.println(Double.MAX_VALUE); 直接输出包装类Double的MAX ...

  8. Ansible 小手册系列 二十(经常遇到的问题)

    (1). 怎么为任务设置环境变量? - name: set environment shell: echo $PATH $SOME >> /tmp/a.txt environment: P ...

  9. 安装使用babel-polyfill。让IE支持es6

    安装 npm install --save-dev babel-polyfill 使用 在你的代码头部加载babel-polyfill,注意一定要在你的代码开始前,第一个js文件的顶部.如果是vue在 ...

  10. 更改gitlab默认端口

    若linux服务器的80和8080端口都已经被使用,则需修改gitlab监听的端口 修改路径文件:vim /etc/gitlab/gitlab.rb 1.修改external_url 'http:// ...