zoukankan      html  css  js  c++  java
  • 互联网监控直播EasyNVR分发出RTMP、HLS、FLV视频流说明介绍

    背景需求

    需求比视频流协议更重要,你想要什么,什么可以满足你的需求,这个很大程度上是需求在前,选择使用什么视频流是比较靠后的。
    目前Easy系列互联网直播服务将全线支持HLS、RTMP、HTPFLV视频流,因此本地篇博文将分别对三个协议的直播流进行分析,帮助有需要的你更好的结合自身选择对应的视频流来使用!

    正文分析

    一图简单看出差别
    在这里插入图片描述

    流媒体协议 RTMP, HTTP-FLV, HLS 简单对比

    RTMP 协议为流媒体而设计,在推流中用的比较多,同时大多 CDN 厂商支持RTMP 协议。

    HTTP-FLV 使用类似 RTMP流式的 HTTP 长连接,需由特定流媒体服务器分发的,兼顾两者的优点。以及可以复用现有 HTTP 分发资源的流式协议。它的实时性和 RTMP 相等,与 RTMP 相比又省去了部分协议交互时间,首屏时间更短,可拓展的功能也更多。

    HLS 作为苹果提出的直播协议,在 iOS 端占据了不可撼动的地位,Android 端也同时提供相应的支持。

    具体分析

    RTMP

    RTMP,全称 Real Time Messaging Protocol,即实时消息传送协议。Adobe 公司为 Flash 播放器和服务器之间音视频数据传输开发的私有协议。工作在 TCP 之上的明文协议,默认使用端口 1935。协议中的基本数据单元成为消息(Message),传输的过程中消息会被拆分为更小的消息块(Chunk)单元。最后将分割后的消息块通过 TCP 协议传输,接收端再反解接收的消息块恢复成流媒体数据

    优缺点
    RTMP 主要有以下几个优点:RTMP 是专为流媒体开发的协议,对底层的优化比其它协议更加优秀,同时它 Adobe Flash 支持好,基本上所有的编码器(摄像头之类)都支持 RTMP 输出。现在 PC 市场巨大,PC 主要是 Windows,Windows 的浏览器基本上都支持 Flash。另外RTMP适合长时间播放,曾经有过测试,联系 100 万秒,即 10 天多连续播放没有出现问题。最后 RTMP 的延迟相对较低,一般延时在 1-3s 之间,一般的视频会议,互动式直播,完全是够用的。

    当然 RTMP 并没有尽善尽美,它也有不足的地方。一方面是它是基于 TCP 传输,非公共端口,可能会被防火墙阻拦;另一方面,也是比较坑的一方面是 RTMP 为 Adobe 私有协议,很多设备无法播放,特别是在 iOS 端,需要使用第三方解码器才能播放。

    HTTPFLv

    HttpFlv 就是 http+flv ,将音视频数据封装成FLV格式,然后通过 HTTP 协议传输给客户端。理解HttpFlv协议,这就话就是关键

    优缺点
    HTTP-FLV 依靠 MIME 的特性,根据协议中的 Content-Type 来选择相应的程序去处理相应的内容,使得流媒体可以通过 HTTP 传输。相较于 RTMP 协议,HTTP-FLV 能够好的穿透防火墙,它是基于 HTTP/80 传输,有效避免被防火墙拦截。除此之外,它可以通过 HTTP 302 跳转灵活调度/负载均衡,支持使用 HTTPS 加密传输,也能够兼容支持 Android,iOS 的移动端。

    说了这么多优点,也来顺便说下 HTTP-FLV 的缺点,由于它的传输特性,会让流媒体资源缓存在本地客户端,在保密性方面不够好。因为网络流量较大,它也不适合做拉流协议。

    HLS

    HLS就是“HTTP Live Streaming”的缩写,它诞生自2009年,QuickTime和iPhone3GS黄金搭档下的一个标准,一个意在颠覆流媒体产业的新协议。
    它的工作原理简单来说就是把一段视频流,分成一个个小的基于HTTP的文件来下载。当媒体流正在播放时,客户端可以根据当前网络环境,方便地在不同的码率流中做切换,以实现更好的观影体验。
    HLS的出现是为了解决苹果原生环境中的流媒体播放,这个协议可以方便地让Mac和iPhone播放视频流,不依赖Adobe,更不用去管什么标准委员会。依赖自己,永远是最大力量的保障。

    优缺点
    HLS 的优势:

    Apple 的全系列产品支持:由于 HLS 是苹果提出的,所以在 Apple 的全系列产品包括 iPhone、 iPad、safari 都不需要安装任何插件就可以原生支持播放 HLS, 现在 Android 也加入了对 HLS 的支持。
    穿透防火墙。基于 HTTP/80 传输,有效避免防火墙拦截
    性能高。通过 HTTP 传输, 支持网络分发,CDN 支持良好,且自带多码率自适应,Apple 在提出 HLS 时,就已经考虑了码流自适应的问题。
    HLS 的劣势:

    实时性差,延迟高。HLS 的延迟基本在 10s+ 以上
    文件碎片。特性的双刃剑,ts 切片较小,会造成海量小文件,对存储和缓存都有一定的挑战

    结合EasyNVR

    EasyNVR都支持RTMP、HLS、FLV的视频流输出,这个就可以满足用户的更多的自主选择。

    EasyNVR输出FLV流

    在这里插入图片描述

    EasyNVR输出RTMP流
    在这里插入图片描述
    EasyNVR输出HLS流
    在这里插入图片描述


    关于EasyNVR

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

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

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

    Copyright © EasyDarwin Team 2012-2018

    EasyNVR公众号

  • 相关阅读:
    Axure案例:用中继器实现便捷好用的3级菜单--转载
    我说CMMI之七:需求管理过程域--转载
    我说CMMI之六:CMMI的评估--转载
    我说CMMI之五:CMMI 4个等级的区别--转载
    我说CMMI之四:CMMI的表示方法--转载
    我说CMMI之三:CMMI的构件--转载
    我说CMMI之二:CMMI里有什么?--转载
    我说CMMI之一:CMMI是什么--转载
    PMBOK :美国的项目管理知识体系
    有关 CMMI
  • 原文地址:https://www.cnblogs.com/EasyNVR/p/10833987.html
Copyright © 2011-2022 走看看