zoukankan      html  css  js  c++  java
  • 关于公网摄像机直播公网视频直播的基本思考方法

    前言

    目前可以说EasyDarwin接收到的用户需求应该是国内最前沿的,当前视频风口是什么,我们收到的需求就会很多,作为第一手需求接入的我们,很明显感觉到对原理的熟悉、对流程的把握以及对需求拆分的重要性,我们今天要举例的一种需求就是内网视频公网直播的诉求,我们在了解到客户有这个意图的时候,如何通过1、2、3的沟通,帮客户架构起整个流程,找到最合适的方案,然后进行对应的对接支持;

    诉求:内网的视频摄像机设备需要进行公网直播,用户通过公网观看视频;

    需求拆分过程

    • 一、公网客户端有哪些类型?

      这个涉及到协议的选择,如果用户对终端选择为H5类型的以WEB为主的诉求,那么我们首选用到RTMP/HLS协议,因为目前大部分的RTMP流媒体服务器都是接收RTMP推流,再同步输出RTMP和HLS的;如果对终端客户端的选择以C/S架构和原生App为主,那么就可以考虑的协议类型就多了:私有协议/RTSP协议/RTMP协议,这些协议延时都是比较低的;

      现在基本上不论什么情况下,互联网直播建议都是采用RTMP协议进行传输,具体的协议选择讨论可以在《网络直播流媒体协议的选择讨论,RTSP,RTMP,HTTP,私有协议?》中权衡;

    • 二、摄像机类型?

      摄像机类型我们通常分成两种,一种是通用的安防IPCamera摄像机,还有一种是RTMPCamera推流型的RTMP直播摄像机或者编码器设备,

      如果是IPCamera,那么就需要用到中间服务,将内网的IPCamera通过RTSP(例如EasyRTSPClient)或者SDK的取流方式获取到原始的音视频数据,再将非标准的音视频格式转换成标准的音视频格式(例如,大部分的安防摄像机输出的是G711/G726等音频类型,我们就需要转码成AAC格式,比如使用EasyAACEncoder项目),转码获得标准的H.264/H.265 + AAC音频数据后,再调用RTMP推流功能(例如:EasyRTMP)将RTMP流推送到公网的流媒体服务(例如EasyDSS、CDN等)进行公网直播分发;

      如果RTMPCamera,那么就直接在RTMPCamera中配置推流地址即可将本地的音视频数据推流到公网的流媒体服务器或者CDN进行直播,省去了各种中间环节,当然,这种推流摄像机或者编码器是比IPC要贵很多的;

    • 三、公网分发的类型:动态域名解析?专线?云主机?CDN?

      无论哪种类型的公网直播,都脱离不了公网,是肯定需要一个公网地址作为中继,连接摄像机与客户端,转发摄像机传输来的音视频流!

      1. 首先要否定的就是动态域名解析,玩玩还可以,如果是要做成一个产品,就不要用动态域名解析!

      2. 专线太贵了,但是不乏政府型单位早早花大量投入建立了云机房,或者运营商用户,都不用担心带宽和线路的问题,专线即是云,云也是专线,各种网络条件比较好协调配置,但是专线会有一个问题,就是跨网不一定做的有云主机那么好,比如阿里云,花了大量精力做跨运营商,做BGP,一般的专线,要么电信,要么联通移动,跨网都是问题,尤其是视频流媒体,效果差别大了!

      3. 云主机的好处就是软件以外的工作都有了保障,成本就出在软件上,要自己开发和运维对应的流媒体软件,还有一个最大的问题就是单台主机能支持的流量带宽是有限的,如果有更多的设备或者客户端接入进来的话,就要自己做负载,自己做均衡了,这个开发和运维的成本就更高了;

      4. CDN是一个在流量成本和维护成本,还有并发成本上可能是相对比较划算的一种方案了,省去的云主机的硬件费用,带宽费用可能比云主机还要便宜,唯一不便的就是灵活性上面没有自己做服务的强;

    方案的选择

    在之前我有一篇博客《如何快速、低成本构建一套稳定、高效、可靠的互联网主播直播/商业直播(推流/分发/播放)方案》就说到,其实大部分的流媒体类的需求,都不需要自己做开发,完全可以直接采购第三方的服务,除非您的流量特别大,大到分分钟的流量费用差都够养活一堆开发,或者战略意图,做企业布局,亦或者涉密,必须私有化部署,这种情况下,才可能选择自己创建平台:

    1. 能用CDN就用CDN,流量便宜,即插即用,快速应用,快速撤退;
    2. 用不了CDN就用云主机,按流量付费,弹性扩展,用多少付多少,前期以及很长一段时间您都没那么大流量;
    3. 专线服务,局部用户使用还是可以的,如果做全国市场,建议还是不要选择;
    4. 动态域名解析?花生壳?别搞了;

    关于EasyDSS流媒体服务器

    EasyDSS商用流媒体服务器解决方案是一套集流媒体点播、转码与管理、直播、录像、检索、时移回看于一体的一套完整的商用流媒体服务器解决方案,EasyDSS高性能RTMP流媒体服务器支持RTMP推流,同步输出HTTP、RTMP、HLS、HTTP-FLV,支持推流分发/拉流分发,支持秒开、GOP缓冲、录像、检索、回放、录像下载、网页管理等多种功能,是目前市面上最合理的一款商用流媒体服务器!

    详细说明:http://www.easydss.com/

    点击链接加入群【EasyDSS流媒体服务器】:560148162

    关于EasyNVR

    EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发;

    详细说明:http://www.easynvr.com

    点击链接加入群【EasyNVR解决方案】:383501345

    获取更多信息

    邮件:support@easydarwin.org

    EasyDarwin开源流媒体服务器:www.EasyDarwin.org

    EasyDSS商用流媒体解决方案:www.EasyDSS.com

    EasyNVR无插件直播方案:www.EasyNVR.com

    Copyright © EasyDarwin Team 2012-2017

    EasyDarwin

  • 相关阅读:
    JAVA类与对象(十)-----抽象类
    JAVA类与对象(九)------多态
    JAVA类与对象(八)-----重写
    JAVA类与对象(七)------继承
    Mysql与Oracle区别
    redis缓存技术学习
    关于java中B/S架构
    关于java中C/S架构,创建服务器和客户端
    JQuery 轮播图片
    Kendo中ListView 无分页控件显示和有分页控件显示
  • 原文地址:https://www.cnblogs.com/babosa/p/8993595.html
Copyright © 2011-2022 走看看