海康私有化视频平台EasyCVR视频分析设备平台流媒体协议RTMP、HTTP-FLV、HLS的简单对比

在当今的数字化世界中,视频流协议的选择对于确保流畅、高效的视频传输至关重要。随着互联网技术的快速发展,直播和视频点播服务已经成为人们日常生活中不可或缺的一部分。无论是安防监控、在线教育、远程会议还是娱乐直播,用户对于视频流的实时性、稳定性和兼容性都有着极高的要求。

需求比视频流协议更重要,你想要什么,什么可以满足你的需求,这个很大程度上是需求在前,选择使用什么视频流是比较靠后的。

TSINGSEE青犀视频Easy系列互联网直播服务针对这一需求,全面支持RTMP、RTSP、HTTP-FLV、WebSocket-FLV、HLS、WebRTC等多种视频流格式,以满足不同场景下的应用需求。本文将深入分析RTMP、HTTP-FLV和HLS三种主流流媒体协议的特点和适用场景,帮助用户根据自身业务需求,选择最合适的视频流协议。

一图简单看出差别:

1、流媒体协议RTMP、HTTP-FLV、HLS的简单对比

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

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

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

2、具体分析

1)RTMP

RTMP主要有以下几个优点:

RTMP是专为流媒体开发的协议,对底层的优化比其他协议更加优秀,同时它AdobeFlash支持好,基本上所有的编码器(摄像头之类)都支持RTMP输出。

现在PC市场巨大,PC主要是Windows,Windows的浏览器基本上都支持Flash。另外RTMP适合长时间播放,曾经有过测试,连续100万秒,即10天多连续播放没有出现问题。最后RTMP的延迟相对较低,一般延时在1-3s之间,一般的视频会议,互动式直播,完全是够用的。

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

2)HTTP-FLV

HTTP-FLV将音视频数据封装成FLV格式,然后通过HTTP协议传输给客户端。

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

说了这么多优点,也来顺便说下HTTP-FLV的缺点:

  • 由于它的传输特性,会让流媒体资源缓存在本地客户端,在保密性方面不够好。

  • 因为网络流量较大,它也不适合做拉流协议。

3)HLS

HLS就是“HTTP Live Streaming”的缩写,它的工作原理简单来说就是把一段视频流,分成一个个小的基于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切片较小,会造成海量小文件,对存储和缓存都有一定的挑战。

4)RTSP

  • RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。

  • RTSP拥有和RTMP相仿的视频实时性。遗憾的是目前RTSP不可以在Web端直接播放,必须用插件才可以实现web端播放。

随着技术的进步和市场需求的变化,未来可能会出现更多创新的视频流协议,以满足更高清、更实时、更安全的视频传输需求。视频分析设备平台EasyCVR将继续跟进最新技术发展,不断优化和扩展支持的视频流格式,为用户提供更加全面、高效、稳定的视频直播服务。同时,我们也期待与用户紧密合作,深入了解用户需求,共同探索视频流技术的无限可能,推动视频直播行业向更广阔的未来迈进。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/885482.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java多线程详解⑥(全程干货!!!)死锁 || 构成死锁的条件 || 死锁总结 || Java标准库的线程安全类

这里是Themberfue 在上一节中,我们介绍了线程安全问题,对锁的概念以及使用 在本节中,进入 "死锁" 的概念以及如何产生 "死锁" 死锁 一个线程,一把锁,同时加两把锁 要想进入死锁的介绍和概念&a…

适用于 Windows 11/10 电脑 的 13 个最佳文件恢复软件

如果您由于系统故障、硬件损坏、人为错误或病毒攻击而丢失了重要文件或文件夹。不用担心,因为我们随时为您提供帮助!借助正确的文件恢复工具,您可以立即检索计算机上不同类型的文件。如果你有为您的文件创建备份,你不用担心&#…

> 甘晴void:课程资源免费下载

为进一步减少信息差,便利同学,我把部分重要课程的轨迹(期中期末考卷、机考题、作业答案、代码、工程项目等)上传至Github。网址链接如下: https://github.com/wolfvoid/HNU-resourses Github平台的优势是下载免费&am…

华为OD机试 - 求小球落地5次后所经历的路程和第5次反弹的高度 (Java 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题 点这里。 实战项目访问:http://javapub.net.cn/ 专栏导读 本专栏收录于 《华为OD机试(JAVA)真题(E卷D卷A卷B卷C卷)》 。 刷的越多,抽中的概率越大&…

uniapp—android原生插件开发(2原生插件开发)

本篇文章从实战角度出发,将UniApp集成新大陆PDA设备RFID的全过程分为四部曲,涵盖环境搭建、插件开发、AAR打包、项目引入和功能调试。通过这份教程,轻松应对安卓原生插件开发与打包需求! ***环境问题移步至:uniapp—an…

【机器学习】强化学习(1)——强化学习原理浅析(区分强化学习、监督学习和启发式算法)

文章目录 强化学习介绍强化学习和监督学习比较监督学习强化学习 强化学习的数学和过程表达动作空间序列决策策略(policy)价值函数(value function)模型(model) 强化学习和启发式算法比较强化学习步骤代码走…

常见 HTTP 状态码分类和解释及服务端向前端返回响应时的最完整格式

目前开发的项目很大程度上是为明年的国产化做准备了,所以借这个机会把用了十年的自研系统全部重写,订立更严格的规范,本文记录一下返回格式及对应状态码。 常见 HTTP 状态码及解释 HTTP 状态码用于表示客户端请求的响应状态,它们…

深入理解JVM

文章目录 1. JVM内存区域划分2. JVM中类加载过程类加载(1)类加载的基本流程(2)双亲委派模型 《深入理解java虚拟机》 在这本书前,面试官对于JVM也不是很了解。 这本书主要还是写个一下开发 JVM 的人。 1. JVM内存区域…

启动软件是用例吗

沙亚雄 2020-8-13 14:06 潘老师,你好,最近读了您的软件方法,结合自己的项目发现始终有一个疑问?那就是启动软件算不算一个用例,因为软件在启动的时候一般都要实例化一些对象,读一些配置文件等等。那启动软…

Ubuntu22.04中使用CMake配置运行boost库示例程序

Ubuntu22.04中使用CMake配置运行boost库示例程序 boost是一个比较强大的C准标准库,里面有很多值得学习的东西,比较asio网络库可以用来编写C TCP客户端或者TCP服务端接收程序。本文主要讲解如何在Ubuntu22.04中使用Cmake配置boost库,以及运行…

指标+AI+BI:构建数据分析新范式丨2024袋鼠云秋季发布会回顾

10月30日,袋鼠云成功举办了以“AI驱动,数智未来”为主题的2024年秋季发布会。大会深度探讨了如何凭借 AI 实现新的飞跃,重塑企业的经营管理方式,加速数智化进程。 作为大会的重要环节之一,袋鼠云数栈产品经理潮汐带来了…

Windows配置NTP时间同步

Windows下实现NTP时间同步 1、Windows时间服务(W32Time)2、Windows 时间同步的工作原理3、配置和管理 Windows 时间同步3.1 命令行工具:w32tm3.2 控制面板中的设置 4. 高级设置(Windows Server 环境)5.调整时间同步的间隔5.1 通过组策略调整时…

系统安全第七次作业题目及答案

一、 1.RBAC0 RBAC1 RBAC2 RBAC3 2.属性 身份标识 3.接入访问控制 资源访问控制 网络端口和节点的访问控制 二、 1.B 2.A 3.ABE 4.BCD 5.ABC 三、 1. 答:基于属性的访问控制(ABAC)是通过对实体属性添加约束策略的方式实现主、客体之…

Golang进阶

1.面向对象 1.1.golang语言面向对象编程说明 Golang 也支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对象语言。所以我们说 Golang 支持面向对象编程特性是比较准确的。Golang 没有类(class),Go 语言的结构体(st…

Node(节点)、Menu(菜单) 和 Tab(标签页)之间的关系

在系统开发中,尤其是在涉及到前端界面设计和后台管理系统时,我们经常会看到 Node(节点)、Menu(菜单) 和 Tab(标签页) 这几个概念。这些概念有不同的用途和功能,理解它们之…

Python数据分析案例64——杭帮菜美食探索数据分析可视化

案例背景 杭州是真没啥美食呀.....但是 总是还是有好吃的店家,于是就发挥专业长处,进行一下分析,看看杭帮菜的一些特点。。例如看看品种分布啊,类型分布啊,行政区的分布啊,店铺评分的一些分布啊&#xff0…

基于SSD模型的路面坑洼检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】

更多目标检测和图像分类识别项目可看我主页其他文章 功能演示: 基于SSD模型的路面坑洼检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】_哔哩哔哩_bilibili (一)简介 基于SSD模型的路面坑洼检测系统是在 Py…

《Python编程实训快速上手》第四天--字符串操作

一、处理字符串 1、单引号和双引号 Python中单双引号均可以表示字符串,区别在于: 1、双引号中可以使用到单引号 2、单引号字符串中如果要使用单引号,要使用到转义字符 \ \ \t \n \\ 原始字符串 在开始的引号前加r&#xf…

泷羽sec学习打卡-Windows基础命令

声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 关于windows的那些事儿-Base 一、Windows-BaseWindows有哪些版本呢,有什么区别呢&#xff1f…

Node.js——fs模块-文件夹操作

1、借助Node.js的能力,我们可以对文件夹进行创建、读取、删除等操作 2、方法 方法 说明 mkdir/mkdirSync 创建文件夹 readdir/readdirSync 读取文件夹 rmdir/rmdirSync 删除文件夹 3、语法 其余的方法语法类似 本文的分享到此结束,欢迎大家评论区…