五种常见流媒体协议

五种常见流媒体协议

流媒体(streaming media)是指将一连串数据压缩后,经过网络分段发送,即时传输以供观看音视频的一种技术。

通过使用 streaming media 技术,用户无需将文件下载到本地即可播放。由于媒体是以连续的数据流发送的,因此在媒体到达时即可播放。可以像下载的文件一样进行暂停、快进或后退操作。

在这篇文章中,首先将说明什么是 video streaming protocol;其次会讨论流协议(streaming protocl)和编解码器之间的区别;最后,将介绍五种常见的流协议。

1. 什么是 video streaming protocol

先看一下什么是流视频协议,大多数数字视频是为了两件事情:存储和播放。要满足这样的需求,视频需要满足小文件和通用播放这两点。

大多数视频文件都不适合流式传输。流式传输需要将音视频分割成小块(chunk),将这些小块按顺序发送,并在接收时播放。如果正在直播,则视频源来自于摄像机;否则,来自于文件。

流媒体协议是一种标准化的传递方法,用于将视频分解为多个块,将其发送给视频播放器,播放器重新组合播放。

这是对 streaming protocol 简单的总结,streaming protocl 协议涉及多方面,可以变得非常复杂。大部分流协议是码率自适应(adaptive bitrate)的,这项技术可以在任一时间为用户提供最佳质量视频。不同协议有不同优势,例如,延迟、数字版权管理(Digital rights management,简称DRB),支持平台数量。

2. 流协议和编、解码器区别

编、解码器(codec)指视频压缩技术。不同的编、解码器用于不同的目的。例如,Apple ProRes 一般用于编辑视频。H.264一般用于在线播放视频。即使不需要使用流式协议,视频也需要使用解编码器进行编码、解码。

视频格式(format)也容易引起疑惑。通常,视频格式指视频文件格式(container format)。常见 container format 包括 .mp4、.m4v、.avi、.mov等,container format 只是一个框(box),框中通常包含视频文件、音频文件和元数据。视频文件格式并不是流式的核心概念。

下面的例子有助于理解这些概念。假设你是商人,需要批量运输衣服(衣服就是视频)。编解码器就是将衣服压缩成捆以节省空间的机器。容器格式就是装压缩后衣服的集装箱。流协议就是将其运输到目的地的铁轨、信号灯和驾驶员。

很多 streaming protocol 只支持几种解编码器。

3. 五种常见流协议

现在,比较一下常见的视频流协议以及每种协议的适用情景。

3.1 Real-Time Messaging Protocol (RTMP)

RTMP 是一个古老的协议。RMTP 最初由 Macromedia 开发,后被 Adobe 收购,至今仍被使用。

由于 RTMP 播放视频需要依赖 Flash 插件。而 Flash 插件多年来一直受安全问题困扰,正在被迅速淘汰。因此,目前 RTMP 主要用于提取 stream。也就是,当设置解编码器将视频发送到托管平台时,视频将使用 RTMP 协议发送到 CDN,随后使用另一种协议(通常是HLS)传递给播放器。

何时使用 RTMP

RTMP 协议延迟非常低,但由于需要 Flash 插件,不建议使用该协议,但流提取是例外。在流提取方便,RTMP 非常强大,且几乎得到了普遍支持。

3.2 Dynamic Adaptive Streaming over HTTP (MPEG-DASH)

MPEG-DASH 是最新的协议之一。尽管未被广泛使用,但该协议有一些很大的优势。

首先,MPEG-DASH 支持码率自适应。这意味着将始终为观众提供他们当前互联网连接速度可以支持的最佳视频质量。网络速度波动时 DASH 可以保持不间断播放。

其次,MPEG-DASH 几乎支持所有编解码器,还支持加密媒体扩展(Encrpted Media Extensions,简写EME)和媒体扩展源(Media Source Extension,简写MSE),这些扩展用于浏览器的数字版权管理标准API。

何时使用 MPEG-DASH

如今只有一些广播公司在使用,将来或许会成为标准技术。但由于兼容性问题,这样的时刻还没有到来。

3.3 Microsoft Smooth Streaming (MSS)

Microsoft smooth streaming 技术于2008年推出。如今,以 Microsoft 为重点的开发人员和在 Xbox 生态系统的开发人员仍在使用,除此之外已逐渐失去用户。

Smooth streaming 支持码率自适应,并且拥有强大的数字版权管理工具。

何时使用 Smooth Streaming

除非目标用户是 Xbox 用户,或计划只开发 Windows 平台的 app,否则,不推荐使用该协议。

3.4 HTTP Dynamic Streaming (HDS)

Adobe 携带 HDS 再次进入了流协议世界。HDS 是 RTMP 的后继产品,也是依赖 Flash 的协议,但增加了码率自适应,并以高质量著称。

HDS 是延迟最低的流协议之一。但由于分段和加密操作,HDS 延迟并不如 RTMP 那样低。在流媒体体育比赛和其他重要事件中广受欢迎。

何时使用 HDS

通常,不建议使用 HDS。对于任何公司而言,采用基于 flash 的技术无法吸引用户,围绕 flash 搭建播放器不是一个好主意。

3.5 HTTP Live Streaming (HLS)

HTTP Live Streaming 由 Apple 开发,旨在能够从 iPhone 中删除 flash,如今已成为使用最广泛的协议。

桌面浏览器、智能电视、Android、iOS 均支持 HLS。HTML5 视频播放器也原生的支持HLS,但不支持 HDS 和 RTMP。这样就可以触达更多的用户。

HLS 支持码率自适应,并且支持最新的 H.265 解编码器,同样大小的文件,H.265 编码的视频质量是 H.264 的二倍。

此前,HLS 缺点一直是高延迟。但 Apple 在 WWDC 2019 发布了新的解决方案,可以将延迟从8秒降低到1至2秒。具体可以查看Introducing Low-Latency HLS。

何时使用 HLS

HLS 是目前使用最广泛的协议,且功能强大。数据显示,如果视频播放过程中遇到故障,只有8%的用户会继续在当前网站观看视频。使用广泛兼容的自适应协议(例如HLS),可以提供最佳的受众体验。

关于 HTTP Live Streaming 更详细的介绍,可以查看我的另一篇文章:HTTP Live Streaming 详解。

参考资料:

  1. Which Video Streaming Protocol Should You Use?
  2. Streaming Protocols: Everything You Need to Know
  3. streaming media

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

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

相关文章

git checkout 会把改动带过去吗_原创 | 操作失误不要慌,这个命令给你的Git一次反悔的机会...

点击上方蓝字,关注并星标,和我一起学技术。今天我们来介绍git当中两个非常非常好用的工具,git show和reflog。这两个命令虽然不是必知必会,但是如果熟练使用可以极大地帮助我们查看代码仓库的问题,以及在我们操作失误的…

计算机指令执行与时序逻辑,时序逻辑系统

时序逻辑电路其任一时刻的输出不仅取决于该时刻的输入,而且还与过去各时刻的输入有关。常见的时序逻辑电路有触发器、计数器、寄存器等。时序逻辑电路在逻辑功能上的特点是任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态&#xff0…

三种主流流媒体协议比较

一、介绍 在流媒体协议中,常用的流媒体协议主要有 HTTP协议,RTSP协议和RTMP协议。 在国内视频网站多采用HTTPMP4或者HTTPFLV协议传输视频,而国外使用RTMP,RTSP等专门的流媒体格式。 二、协议介绍 1、HTTP协议: HTTP的视频协议…

flume连接kafka_日志收集系统架构设计:(flume+zookeeper+kafka+php+mysql )

正文内容一、安装jdk二、安装flume三、安装kafka1、zookeeper2、kafka四、启动测试步骤五、目录说明六、日志收集系统设计图七、大数据参考资料推荐一、安装jdk -(版本:1.8.0_191)1.下载:https://www.oracle.com/technetwork/java/javase/downloads/jdk8…

2020班徽设计图案高中计算机,高铁工程学院举办2020级班徽设计大赛

大赛现场12月3日,高铁工程学院团总支第四届“班徽设计”大赛在GB250教室隆重举行,高铁工程学院20级新生各班参赛,20级辅导员代表出席评委席并参与评分。获奖选手领取证书本次比赛采用了线下评分及线上投票相结合的方式。比赛开始,…

Web浏览器没有Flash如何播放RTMP协议直播

各大主流浏览器在很早的时候就已声明 2020 年底不支持 Adobe Flash。所以已经线上运行的项目以及涉及直播的项目,都会涉及一个问题 : “没有 Adobe Flash 在 Web 浏览器端如何播放 RTMP 直播流?” 还好有先见之明,我参与涉及直播的…

opencv运动目标跟踪预测_基于Opencv的运动目标的检测和跟踪.pdf

第 20卷 第 l2期 电子设计工程 2012年 6月Vol_20 No.12 ElectronicDesignEngineering Jun.2012基于Opencv的运动 目标的检测和跟踪白瑞.姜明新(大连 民族学院信息与通信工程学院,辽宁 大连 116600)摘要 :检测运动物体需…

日照职业单招计算机专业,日照职业技术学院单招专业介绍-机电一体化技术

山东单招专业:日照职业技术学院2015年共有二十九个专业面向普高生和中专学生单招,其中机电一体化技术专业极受欢迎,每一年报考学生非常多,下面请看日照职业技术学院单招机电一体化技术专业介绍。机电一体化技术专业开设于2002年&a…

video-js RTMP直播

目前主流的几种直播协议 协议传输方式视频封装格式延时数据分段html播放httpflvhttpflv低连续可通过html5解封包播放(flv.js)rtmptcpflv tag低连续不支持dashhttpts文件高切片可通过html5解封包播放(hls.js)hls$1mp4 3gp webm高切片如果dash文件列表是mp4webm文件,…

python实现监控增量_python 日志增量抓取实现方法

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台&…

中央处理器属于计算机外部设备吗,不属于计算机外部设备的是

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。中央处理器和主存储器都不属于外部设备。外部设备指连在计算机主机以外的设备,它一般分为输入设备、输出设备和外存储器,外部设备是计算机系统中的重要组成部…

EJB到底是什么?(通俗易懂白话文)

1. 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 既然说了EJB 是为了"服务集群"和"企业级开发",那么,总得说说什么是所谓的"服务 集群"和"企业级开发&…

cesium 局部加载_Cesium自定义HTML弹窗

展示示例图:Cesium自定义HTML弹窗核心的实现思路部分:(1)cesium 的点击事件 Cesium.ScreenSpaceEventType.LEFT_CLICK 监听左键单击鼠标事件获取当前位置坐标,然后根据当前笛卡尔坐标去确认气泡窗口div的显示位置;(2)监听 cesium …

ABC334 A-F

打的很懒的一场B卡了D看不懂题卡了F没看完题目理解错题意了,状态好差XD UNIQUE VISION Programming Contest 2023 Christmas (AtCoder Beginner Contest 334) - AtCoder A - Christmas Present 题意: 给出两个数B, G问哪个大 题解: 凑数…

小学计算机集体备课,小学信息技术集体备课.doc

小学信息技术集体备课学信息技术集体备课( 信息技术)学科教案2014年 9月 日课题月亮的味道——插入图片集体备课曹婷付欢加孜拉教材版本人教版四年级(上册)课型新授课时1教学手段计算机教学教学目标 [知识与技能]学会在word中插入图片,设置图片大小以及环绕方式。[过…

浏览器不支持flash插件之后,h5播放rtmp直播流的解决方案

文章目录背景几种视频流比较http-flv搭配flv.js播放方案rtmp与http-flv地址格式flv.js延迟问题flv.js的并发直播在线测试地址:JavaCV转封装rtsp到rtmp(无需转码,低资源消耗) 海康sdk捕获码流数据通过JavaCV推成rtmp流的实现思路(P…

华为笔记本matebook13_华为引领“第三代移动办公”新纪元 华为MateBook开启“智慧化办公”新赛道...

运营商财经网 康钊/文移动互联网的快速兴起,让办公形式不再受时间、地点的限制,笔记本电脑、平板电脑、手机等承担生产力工具作用的电子设备也是越来越多样化,“移动办公”正成为一种不断演化市场趋势。然而,随着移动…

计算机数学 考研真题及答案,北大计算机系考研历年高等数学真题附答案.docx

PAGEPAGE 10北大计算机考研 高等数学真题解答2008 年(5 题 60 分)1 (12 分) f (x) 有连续的二阶导数, f (a)  0 ,求limxa1f (x  a)  f (a)1f (a) 。2 (12 分) f (x) 在a,b上连续且 f (a)  f (b)  0 , f (a) f (b) …

IPv4地址和IPv6地址的比较,IPv6地址及其表示

IPv4地址和IPv6地址的比较,IPv6地址及其表示 TCP/IP协议是互联网发展的基石,其中IP是网络层协议,规范互联网中分组信息的交换和选路。目前采用的IPv4协议地址长度为32位,总数约43亿个IPv4地址已分配殆尽。 IPv6是IP地址的第六版…

MySQL如何有效的存储IP地址

文章目录序言工具类实现转换数据库函数实现转换一、IP地址应该怎么存二、整数存储 IP 地址的查询性能实验1、测试范围查询:2、IP精确查询:3、整理一下结果发现:总结首先就来阐明一下部分人得反问:为什么要问IP得知怎样存&#xff…