回顾第一次课的内容1多媒体与流媒体的区别与联系2流式传输包含哪两种?3四大主流流媒体公司是什么,他们的流媒体格式分别是什么?4流媒体技术的三个方面是什么?5简述流媒体的传输过程。第二章流媒体技术基础与制作数字媒体教研室傅慧:fuhuir@bjfu.edu.cn流媒体技术不是一种单一的技术,它是网络技术及视音频技术的有机结合。在网络上实现流媒体技术,需要解决流媒体的制作,发布,传输及播放等方面的问题。主要内容:2.1流媒体关键技术2.2四大流媒体平台2.2.1WindowsMedia(Microsoft公司)2.2.2RealSystem(RealNetworks公司)2.2.3QuickTime(Apple公司)2.2.4AdobeFlash(Adobe公司)2.3流媒体的制作2.1流媒体关键技术1、流媒体制作技术方面解决的问题网络上进行流媒体传输所传文件必须制作成适合流式传输的格式文件。将文件格式压缩成流媒体格式文件,选用适当的压缩算法。需要向文件中添加流式信息。2、流媒体传输方面需要解决的问题TCP/FTP:无法实时传输UDPRTP/RTSP:实时传输为什么要在UDP协议而不在TCP协议上进行实时数据传输呢?3、流媒体传输中需要缓存的支持流媒体文件被压缩分割成很多数据包,由于网络传输的不稳定性,各个包选择的路由不同,所以到达客户端的时间次序可能发生改变,甚至出现丢包现象。必须利用缓存对到达的数据包进行正确排序,以便正确播放。缓存中的数据是动态的,不断更新的。4、流媒体播放方面需要解决的问题流媒体的播放需要浏览器的支持。浏览器采用MIME来识别各种不同的简单文件格式。MIME:用来标记在Internet上传输的任何文件类型。所有的浏览器都支持HTTP协议,在HTTP协议内部建有MIME。浏览器通过MIME来识别流媒体的类型,并调用相应的程序或插件来处理。如果浏览器不清楚调用哪种插件系统,它会告诉用户缺少某插件,或者直接选择某现有插件来试图读取接受到的文件,后者可能会导致系统的崩溃。MIME简介MultipurposeInternetMailExtensions(多功能Internet邮件扩充服务)它是一种多用途网际邮件扩充协议,在1992年用于电子邮件系统,后来也应用到浏览器中。服务器会将它们发送的多媒体数据的类型告诉浏览器,而通知手段就是说明该多媒体数据的MIME类型。从而让浏览器知道接受到的信息哪些是mp3文件,哪些是shockwave文件等。Shockwave是由Macromedia(开发Flash技术的公司)开发的多媒体播放器系列。可以通过Shockwave播放和收看文件,并且效率更高,效果更好。同Flash一样,Shockwave也需要插件支持。AdobeShockwavePlayer是专门播放使用DirectorShockwaveStudio制作的网页的外挂软件,像是在网页上看到的互动游戏、电影短片等等,亦包括MacromediaFlashPlayer,也可以观看Flash所制作的网页。2.2四大流媒体平台2.2.1WindowsMedia与RealMedia相抗衡WindowsMedia技术涵盖了一整套关于流媒体处理的组件和特性,其主要目的是在Internet和Intranet(企业内部网)上实现基于流技术的数字视音频的传输,并且WindowsMedia涉及到数字媒体的许多新领域,如数字版权管理(DRM)等。一、WindowsMedia组件整个WindowsMedia技术平台的主要组件包括WindowsMediaTools;WindowsMediaServer;WindowsMediaPlayer1、WindowsMediaTools:用于帮助用户生成ASF格式的多媒体流(包括实时多媒体流),分为创建工具和编辑工具两种,创建工具:MediaEncoder、MediaAuthor、VidToASF、MediaPresenter编辑工具:ASFIndexer与ASFChop、ASFCheck.2、WindowsMediaServer对外提供ASF流媒体的网络发布服务。包扩两大基本服务模块:UnicastService(单播服务)StationService(电台服务)Unicast:On-DemandUnicast:点播BroadcastUnicast:广播3、WindowsMediaPlayer提供强大的流信息播放功能,支持多种常见的数字媒体格式。既可以独立使用,也可以方便的以ActiveX控件形式嵌入到浏览器或其他应用程序中.既可以播放UnicastService提供的内容,也可以播放StationService提供的广播内容。二、WindowsMedia版权管理技术通过Windows版权管理,内容所有者可以方便,快速的将他们的内容放到Internet上和大家分享,并且同时能够保护产品或作品的版权利益。媒体文件一经加密,没有许可证就无法进行播放,此外,许可证也不能被共享或成功复制。核心组件是WindowsMediaRightManager.软件开发者使用WindowsMedia版权管理SDK,可以制作用于加密和分发许可证的程序。1、数字版权管理(DRM)技术DRM:本质上就是许可证管理。首先,数字内容提供者(如网校、信息网站、音乐网站、数字图书馆等)利用工具将原始的视音频文件或文本文件进行加密,添加文件头,加密的同时还可以添加版权信息。打包后的数字文件就放在站点的服务器上,也可压制光盘来发行。接下来,当合法用户点击网站或打开光盘内容时,相关的媒体播放器会自动地检查有没有相应的许可证。2、DRM基本工作方式1)打包包括:编码、压缩、用密钥对媒体文件进行加密处理,用来自数字证书的密钥为它签名.生成的打包媒体文件以WMV,WMA格式保存。2)发布打包的的媒体文件与播放它的许可证是分开的,可以用不同的方式发布。3)获取许可证要播放媒体文件,客户端必须获得许可证。其中包含密钥用于解锁打包的内容。3、WindowsMedia版权管理组件WindowsMediaPackager:用于打包媒体WindowsMediaLicenseService:注册客户并颁发许可证SQL数据库:存储有关媒体文件,事物,许可证和注册信息WindowsMediaRightsManagerWeb站点:此站点的ASP网页包含了WindowsMediaRightsManager的全部功能。2.2.2RealSystem20世纪90年代中期提出了流媒体技术,目前编码主要技术是RealMediaCodec9.具有很多先进的技术:ScalableVideoTechnology:可伸缩视频技术Two-PassEncoding:两次通过编码技术SureStream:智慧流技术RealMedia音频部分采用的是Real-Audio,该编码在低带宽环境下的传输性能非常突出。RealMedia通过基于SMIL并结合自己的RealPix和RealText技术来达到一定的交互能力和媒体控制能力。可伸缩视频技术ScalableVideoTechnology•可伸缩视频编码技术:ScalableVideoCodec•传统的视频编码技术是在码率固定的情况下对视频序列进行处理,使其能够达到最大的压缩,但这样的编码系统提供的数据流无法根据用户需求和网络条件进行动态调整,因而不太适合当前的网络传输。•可伸缩视频编码技术(SVC)是一种新技术,它所产生的数据流能够不经过重新编码而适应不同的需求,克服了传统编码系统中的缺点和不足。两次通过编码技术Two-PassEncoding是指在第一次通过时分析内容,然后在第二次通过时根据第一次通过时收集的数据进行编码。两次通过编码可以生成质量更好的内容,这是因为编码器有充足时间根据画面的组成找出最佳的比特率、帧速率、缓冲区大小和图像质量的组合。但是,由于编码器要两次处理全部内容,所以这种编码方式所需的时间更长。自适应流技术AdptiveStreamingSureStreaming/IntelligentStreaming:智能流技术:•自动检测网络状况,然后根据响应降低影像的码率,如果没有网络信号的时候,客户端甚至会不放视频,而只播放声音(因为音频流要求的码率更低)。缺点:这些设计当然很好,但是他们都有天生的不足。他们都只能用于流控,就是说并不能渐进下载。而编码器也不要求影视节目严格的对齐,只是要求关键帧(key-)对齐,这就导致了在同一视频不同码率的流之间作平滑切换变得很困难。媒体流出来的时候都是以固定的码率的,服务器不知道客户端的真实网络情况,要想准确地预测客户端的带宽就几乎不可能了,尤其是在要求实时播放的情况下就更难了。因为,差的网络带宽检测出来的时候就已经滞后了,这时客户端的播放器又不得不暂停下来,选择更合格的低码率的流重新进行缓冲。现在:基于HTTP协议的方式分发开始流行起来。过去几年流媒体发展的一个趋势就是希望能转为使用基于HTTP的方式进行内容分发,而不再使用传统的流媒体协议--RTSP,MMS,RTMP等等。目前已经有很多视频网站已经在使用基于HTTP的渐进式下载(ProgressiveDownload)技术进行媒体分发了。现今网络上的流媒体分发大致有三种方式:•传统的流控•渐进式下载•自适应流。a)传统的流控技术实时流控协议(RTSP)是传统流控协议最好的例子。RTSP是有状态的协议,从客户端从一开始连接到流控服务器直到最后和流控服务器断开连接,服务器要保持跟踪客户端的状态。客户端通过发送播放,暂停和断开命令向服务器传送自己的状态。一旦客户端和服务器的会话(Session)建立了,服务器就将媒体固定地传送成一个个小RTP(RealTimePacket)包(这些包的格式是按RTP协议封装的)。通常一个RTP包的大小是1452字节,这意味着视频会编成每秒钟1兆字节的流,每个包里大约有11毫秒的视频内容。在RTSP协议下,这些包会通过UDP或者TCP网络协议进行传送,当网络防火墙或者网络代理阻挡了UDP包的时候才会用TCP协议进行传送,因为TCP包传送的时候会不断重试,直到客户端收到为止,所以用TCP传很明显会增加网络的延迟,而网络延迟增大,就会影响影视的播放质量。像RTSP这种最传统的流控协议有如下特点:1)服务器向客户端发送数据包的时候只以某个实时的码率,就是媒体编码时候的码率。例如,一个视频编码成500kbps的视频要求的客户端的接收带宽大约也是500kbs。2)服务器只能提前发送足够多的数据让客户端进行缓冲。通常情况下客户端会缓冲1到5秒钟的影视流。也就是说,如果你把一个节目暂停了10分钟,你重新开始播放的时候还要等大约5秒钟影视流完全下载到了客户端的时候才能看。b)渐进式下载(ProgressiveDownload)如今另一种通过WEB服务器分发媒体的方式就是渐进式下载,渐近式下载其实也就是一种简单的从HTTPWEB服务器进行文件下载的普通方式。大多数媒体播放器和平台都支持渐进式下载,比如说ADOBEFALSH,SILVERLIGHT以及Windows媒体播放机。“渐进”这个术语源于播放器客户端允许媒体文件还正在下载的时候就开始播放,不用等到整个文件下载都完成写到磁盘上之后,通常情况下播放内容都是先直接放在浏览器的缓存里的。不像流媒体服务器,几乎都只传送差不多十秒钟的数据给客户端。HTTPWEB服务器会在媒体文件下载完成之前一直在传送数据流。如果一开始播放时你就暂停了一个渐进式下载的视频,然后在那等着,就会把整视频个文件都下载到浏览器的缓存里面,这样就可以不停顿、平滑地把整个视频都看完。码率节阀(BitRateThrottling)的技术c)基于HTTP的自适应流控自适应流控是一种杂交了流控技术和基于HTTP渐进式下载的分发技术。自适应流控是使用了HTTP而不是新协议的先进的概念。在典型的自适应流控实现中,视频和音频源被切分成很