流媒体技术概览

写在前面

一直都想写一篇较为全面的介绍流媒体技术的文章,可是出于种种原因,一直迟迟没有动笔。一个原因是目前网上介绍流媒体技术的文章太多了,从各方面说的都有,搜索一下能找出不少专业性很强的资料,所以怀疑再出来写这个的东西的必要性是否还存在。另一个原因是,确实不想再重复的絮叨一些概念性的东西,也不想简单的整理和摘抄,还是想真正深入的从概念到原理仔细的把这个东西介绍一下,这样就需要把握好技术和语言的尺度水准,既要让读者觉得轻松有趣,又要能让人读到有价值的东西,很担心自己能否把握好这点。其实两个原因归结在一起,都是不自信的表现。

不过细想一下,还是应该写点东西,人毕竟不能每天都在忙忙碌碌中度过,还是应该把一些有价值的东西记录下来才好,一方面是对自己工作的整理,另一方面也算是对开放网络世界的一点贡献,都还是有好处的。说了这么几句题外话,还是书归正传吧。

发展历史

流媒体概念和技术最早出现在上世纪90年代后期,目的是为了实现在有限的带宽条件下比较流畅的播放视音频内容。我们知道那时候终端用户的带宽很小,一般家庭还是56Kpbs ~ 256Kbps的拨号网络,大部分企业接入网络也不过2M左右,可能这对现在的大部分年轻人来说有点不可思议,而实际情况就是这样。当时H.264编码技术还没有出现,导致在网络上传输视频更是费劲,说实话,那个时候上网谁要是说要在网上看视频,简直是痴人说梦。可是就是有那么一批高科技先驱者要实现这个梦想,因为他们明确的预测到从文本到图片再到视频是互联网发展的趋势,尽管这个预测有些早,中间死了一大批先驱,可是流媒体技术还是不断的发展起来,一代代的技术更新,一直到今天这个样子。

2000年前后的流媒体技术,基本上由三大厂商把持着,微软、Macromedia和Real,2005年Macromedia被Adobe收购。这三家公司的技术没有绝对的优劣,基本是一个层级,应用目标也相同,应用规模有没有说哪家领先到哪里去,毕竟那时候也没有几个人在网上看视频,无论是国内还是国外,除了上网看A片能忍受不停地缓冲,没有人认为在那种网络条件下看视频是一种享受。在具体的应用上,微软始终是那个样子,叫好不叫座,Adobe凭借Flash播放器占据少许优势,而Real则凭借RM压缩格式有不少用户。没有宽带用户,没有开放的技术规范,没有高性能智能终端,一切都是白搭,这三家大公司就这么不温不火的折腾着,Real在这个过程中首先被拖死了。

有时候转机就是那么快,2005年之后,似乎很短的时间内,我们的带宽变宽了,智能手机普及了,H.254编码标准也很快被大家接受了,互联网视频应用的春天终于来了。带宽越来越宽,手机越来越快,互联网上的视频内容越来越多,youtube、优酷等国内外以视频内容运营为主体的网站如雨后春笋般出现,在网上看视频逐渐从时尚成为习惯。

在这个过程中,流媒体技术也在发生着巨大的变化。微软公司的Windows Media流媒体技术,由于技术封闭和反应迟钝,以及不能跨终端等问题,被淘汰出局,虽然微软又推出了SilverLight和IIS smooth Streaming技术,但也是于事无补,最终无人问津。Adobe公司凭借着Flash播放器的优势,在PC终端上占据着绝大部分的用户市场。而在移动终端,由Apple公司提出的HLS流媒体技术标准成了最大的赢家,由于其技术开放,协议简单,又充分利用了既有的成熟技术标准,开发实现也相对简单,很快就被各方接受,不仅Apple自己的iOS系统全部支持该标准,Android系统也很快将其作为内置支持的流媒体技术协议。所以说现在的流媒体技术,主流两家就是Adobe和Apple,Adobe的Flash技术和Flash播放器是PC端的绝对主力,智能手机和Pad等移动终端上HLS则应用最为广泛。


术原理

为什么流媒体技术在经历了这么多年的发展之后依然有这么强大的生命力,并且不断保持着快速的更新换代呢?这要从流媒体的技术本质和应用目标说起。

我们知道,流媒体技术(Streaming media)技术是相对于传统下载式播放技术(Downloading)来说的。下载式播放是两种技术生搬硬套的衔接,一个下载技术,一个是播放技术,下载技术的只是负责下载,播放技术的只是负责播放,两者没有任何协作,用户在播放视频时必须先把文件下载下来,然后才能播放,如果文件很大,等待过程是让人心烦意乱的,也根本没有几个人愿意去等。下载式播放对网络带宽和服务器运算资源是一种浪费,无论用户观看视频的哪一部分都需要下载全部文件,这是一个多么无聊的技术。

流媒体技术则很好的解决下载式播放中存在的这些问题,是一种完全不同的播放体验。首先,流媒体技术实现了即点即播,用户在播放视频时不再需要下载整个文件,只要下载很少的数据就可以开始播放,播放到哪就下载哪一部分视频对应的数据,不播放就不下载,在网络上看视频和观看本地视频文件的响应时间几乎没有任何差别。其次用户还可以跳转播放,可以把播放进度拖动到任何播放位置,进度条拖动到哪里就从哪来开始播放,也几乎不用等待,即点即播。不仅播放体验彻底改观,对服务器和带宽的消耗也大大减少,使得服务器和网络可以服务更多的用户,大大提高并发响应能力。

流媒体技术之所以能够实现即点即播、按需下载,其技术的本质是服务器和播放器之间的默契配合。在精心设计的协议标准的约束指导下,服务器和播放器之间不仅传递视频数据,还传递播放控制指令,如播放(play)、暂停(pause)、停止(stop)、跳转(seek)等指令,这样播放器就可以根据用户的播放请求象服务器发送播放控制指令,服务器收到这些指令后按照播放器的需要发送合适的数据下来。在流媒体技术体系下,这种传递视音频数据和控制指令的协议被称为流媒体协议,服务器被称为流媒体服务器,播放器被称为流媒体播放器。

目前,广泛使用的流媒体协议有Adobe的RTMP协议,Apple的HLS协议,和Real公司参与起草的RTSP协议。RTSP协议在监控领域用的非常广泛,但在互联网视频应用领域很少有人使用。还有一种协议,就是微软的MMS协议,虽然也曾红极一时,但现在极少有人使用了。

在这里重点说下HTTP协议,我们都觉得HTTP协议是传输网页和图片的协议,实际上它才是目前最为广泛的流媒体传输协议!由于HTTP协议的成熟、简单和能穿越防火墙等特点,越来越多公司开始在HTTP协议上开发音视频传输和播放技术,HLS、HTML5 Video、HTTP Pseudo-Streaming都是使用HTTP作为数据发送协议的,当前互联网上绝大部分视频都是通过HTTP协议传输的。后续的我将会对这几种协议的技术原理和实现细节进行进一步的说明。

时间: 2024-09-29 23:31:07

流媒体技术概览的相关文章

第01章 Java 技术概览

/**@前言: Java是Sun公司推出的程序设计语言,拥有面向对象.跨平台.分布式.高性能.可移植等优点和特性,是目前应用最广的编程语言之一.Java语言实现面向对象思想的三大特性:继承.多态.封装.Java语言可以制作网站后台.大型网络游戏.多媒体开发,而且还能够操作各种操作系统(linux.Android等) @第一章 Java 技术概览 Java由两部分组成:Java API + Java VM -- Java编程接口 + Java虚拟机.Java特性:跨平台.面向对象.分布式.多线程.

流媒体技术之复习网络协议

在我们认识流媒体的传输协议前,我们需要对OSI和网络协议有一个初步认识. 1,OSI模型的七个层次及其主要功能(见下图) 2,针对于7层模型进行划分协议如下表: 应用层 应用层 表示层 会话层 应用层 1,文件传输协议FTP(File    Transfer Protocol),端口号为21: 2,简单文件传输协议TFTP(Trivial    File Transfer Protocol),端口号为69,针对小文件传输,只能从文件服务器上获得或写入文件,不能列出目录也不能进行认证 ,传输8位数

【转】Intel RealSense(实感技术)概览

Intel RealSense(实感技术)概览 1 Reply 版权声明:本文系本站作者自己翻译整理,欢迎转载,但转载请以超链接形式注明文章来源(planckscale.info).作者信息和本声明,否则将追究法律责任. 前段时间CES的报道满天飞,网上逛了几圈,感觉料最猛的还数Intel:老树开新花,推出14nm的第五代酷睿处理器:在智能可穿戴设备及物联网上雄起:RealSense实感技术开启未来人机交互模式.之前总听老哥讲,鼠标键盘这些传统交互模式统治了二三十年,目前跟踪识别爆火且技术趋于成

程序员的量化交易之路(2)----Esper文档学习之技术概览(1)

转载请注明出处:http://blog.csdn.net/minimicall/ 在接下来的20个工作日中,我将坚持翻译或者略翻译Esper的官方文档. 为什么需要学习Esper,因为我们需要理解复合事件处理 Complex Event Processing (CEP).在量化交易系统中,CEP是必不可少的.它负责处理海量的实时事件. 关于CEP更多知识,大家可以翻阅网络相关资料.我这里集中在学习开源的CEP系统,Esper.. 今天开始第一篇:技术概览. 1. CEP和事件序列分析 Esper

转:Linux网络IO并行化技术概览

转:http://codinginet.com/articles/view/201605-linux_net_parallel?simple=1&from=timeline&isappinstalled=0 Linux网络IO并行化技术概览 By mikewei at 2016-05-21 00:30 阅读(276) 过去的十年中互联网经历了爆发式的增长,这背后有什么技术平台起了最为关键的作用,我认为是Linux,即使在云计算流行的今天,它依然是最重要的一块基石.我们或许经常听到关于什么是

流媒体技术在校园视频网直播的应用

现在网络技术的不断发展和进步,大数据时候的到来,让网络带宽迅速增加.正因为时代的进步,给了网络和流媒体技术大展身手和展现的机会,同也也为校园视频直播网络传送音视频数据打下了良好的基础.信息数字化教育的教育方式的转变,为校园视频直播网的终端提供了一很好的网络教育视频应用. 一.网络校园视频直播系统的实现条件 高校在建设视频直播校园直播网站,要考虑的问题和情况,有很多,要不要在原来的校园局域网进行改造?在视频直播和录播时,对现场的声音和画面同步性要求严格.而在流媒体技术中,建设校园视频直播还要考虑在

Windows Phone 8.1 开发技术概览 (Universal APP)

原文:Windows Phone 8.1 开发技术概览 (Universal APP) 前一阵真的比较懒 WP8.1 已经出来这么长时间了现在才更新BLOG让大家久等了,今天我先为大家介绍下 WP 8.1的开发框架,什么是微软所推崇的 Universal APP,以及我们要开发 Universal APP的时候要注意哪些内容. 如果是您是一个刚刚接触 WP开发的朋友可以先看下我之前的文章了解一下故事背景:Windows Phone 8 与 windows 8 开发技术概览 首先给大家完善一个概念

流媒体技术之概念

最近霉霉的歌曲在中国市场下架了,因为Tayler认为Spotify(流媒体音乐服务平台)影响了唱片的销售量和歌曲下载量.这样做法其实很正常,Taylor 在Spotify挣不到钱,所收取的费用几乎等同于免费.在音乐流媒体服务的冲击之下,实体唱片业与数字音乐销量不断下滑.据悉,此次Taylor Swift的需求是全球同步的,国内音乐平台也要配合下架所有Taylor Swift歌曲的免费试听业务,只有付费用户才能收听及下载,这也正是保护Taylor Swift歌曲的正版行为,为了保护实体唱片业.所以

开发者最佳实践日·第1期—流媒体技术专场

开发者最佳实践日·第1期—流媒体技术专场 你心目中的技术大牛是谁?你最感兴趣的技术是什么?时下最火爆的硬件有哪些?开发者们想了解想接触的皆在“开发者最佳实践日”! “开发者最佳实践日”是由七牛云存储发起并联合各方小伙伴为开发者举办的系列技术沙龙,关注开发者在实际应用中可能遇到的技术问题,致力于为勇于创新的开发者们提供行业内最前沿最热门的技术干货,以技术驱动应用创新,让更多的开发者享受技术带来的生活乐趣. 经过七牛和小伙伴们的精心筹备,开发者最佳实践日·第1期——流媒体技术专场 强势来袭! 流媒体