流媒体协议.pptx
《流媒体协议.pptx》由会员分享,可在线阅读,更多相关《流媒体协议.pptx(38页珍藏版)》请在咨信网上搜索。
1、流媒体网络协议介绍contents流媒体MMSHLSRTMP1342流媒体Quisque velit nisi,pretium ut lacinia in,elementum id enim.Cras ultricies ligula sed magna dictum porta.Quisque velit nisi,pretium ut lacinia in,elementum id enim.Vivamus magna justo,lacinia eget consectetur sed.ONEPART流媒体流媒体(Streaming media)是指将一连串的媒体数据压缩后,经过网络分段
2、发送数据,在网络上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件。流媒体文件一般定义在bit层次结构,因此流数据包并不一定必须按照字节对齐,虽然通常的媒体文件都是按照这种字节对齐的方式打包的。流媒体的三大操作平台是微软公司、RealNetworks、苹果公司提供的。2024/6/26 周三流媒体流媒体主要涉及协议部分。但在考虑到不同的网络环境时会有不同的协议以实现不同的目标。从构成上来看,一般流媒体系统分为:服务器端、分发网络及客户端。服务器端主要负责编码、封装到特定格式;分发端主要负责流式文件服务及网络包分发,这部分
3、可能会涉及到CDN;客户端需要针对不同的平台、操作系统和运行环境而定,比较多样化,最主要的目标是解码渲染及音视频同步,但通常会附加很多增值行为,比如广告、日志分析、运维数据收集、用户习惯收集。2024/6/26 周三主要有三大“流派”:一是微软的ASF(Advanced Stream Format)。这类文件的后缀是.asf和.wmv,与它对应的播放器是微软公司的“Media Player”。用户可以将图形、声音和动画数据组合成一个ASF格式的文件,也可以将其他格式的视频和音频转换为ASF格式,而且用户还可以通过声卡和视频捕获卡将诸如麦克风、录像机等外设的数据保存为ASF格式。二是RealNe
4、tworks公司的RealMedia,它包括RealAudio、RealVideo和RealFlash三类文件,其中RealAudio用来传输接近CD音质的音频数据,RealVideo用来传输不间断的视频数据,RealFlash则是RealNetworks公司与Macromedia公司联合推出的一种高压缩比的动画格式,这类文件的后缀是.rm,文件对应的播放器是“RealPlayer”。三是苹果公司的QuickTime。这类文件扩展名通常是.mov,它所对应的播放器是“QuickTime。”此外,MPEG、AVI、DVI、SWF等都是适用于流媒体技术的文件格式。2024/6/26 周三 应用流媒
5、体技术在互联网媒体传播方面起到了重要的作用,它方便了人们在全球范围内的信息、情感交流,其中视频点播、远程教育、视频会议、Internet直播、网上新闻发布、网络广告等方面的应用更空前广泛。2024/6/26 周三RTMPQuisque velit nisi,pretium ut lacinia in,elementum id enim.Cras ultricies ligula sed magna dictum porta.Quisque velit nisi,pretium ut lacinia in,elementum id enim.Vivamus magna justo,lacinia
6、 eget consectetur sed.TWOPART Real-Time Messaging Protocol 实时消息协议(英语:Real-Time Messaging Protocol,缩写RTMP)也称实时消息传输协议,是最初由Macromedia为通过互联网在Flash播放器与一个服务器之间传输流媒体音频、视频和数据而开发的一个专有协议。Macromedia后被Adobe Systems收购,该协议也已发布了不完整的规范供公众使用。2024/6/26 周三RTMPS,通过一个TLS/SSL连接传输RTMP。RTMPE,使用Adobe自有安全机制加密的RTMP。虽然实现的细节为专有
7、,但该机制使用行业标准的密码学原函数。RTMPT,用HTTP封装以穿透防火墙。RTMPT通常在TCP通信端口80和443上使用明文请求来绕过大多数的公司流量过滤。封装的会话中可能携带纯粹的RTMP、RTMPS或RTMPE数据包。RTMFP,使用UDP而非TCP的RTMP,取代RTMP Chunk Stream。Adobe Systems开发了安全的实时媒体流协议包,可以让最终用户直接地相互连接(P2P)。默认使用TCP端口1935的纯粹(plain)协议。RTMP协议有许多变种:基本操作 RTMP是一种基于TCP的协议,可以维护持久连接并允许低延迟通信。为了顺利地传输流并传输尽可能多的信息,它
8、将流分成片段,并且它们的大小在客户端和服务器之间动态协商。有时,它保持不变;对于音频数据,默认片段大小为64字节,对于视频数据和大多数其他数据类型,默认片段大小为128字节。然后可以交织来自不同流的片段,并通过单个连接进行多路复用。对于较长的数据块,协议因此每个片段仅携带一个字节的头部,因此产生非常小的开销。然而,实际上,单个片段通常不是交错的。相反,交织和多路复用在分组级别完成,跨越若干不同活动信道的RTMP分组以这样的方式交织,以确保每个信道满足其带宽,等待时间和其他服务质量要求。以这种方式交织的分组被视为不可分割的,并且不在分段级别上交织。2024/6/26 周三 基本操作 RTMP定义
9、了几个可以在其上发送和接收分组的虚拟信道,并且它们彼此独立地操作。例如,存在用于处理RPC请求和响应的信道,用于视频流数据的信道,用于音频流数据的信道,用于带外控制消息的信道(片段大小协商等)等等。在典型的RTMP会话期间,在任何给定时间可以同时激活多个信道。当编码RTMP数据时,生成包头。除其他事项外,包头指定了发送它的信道的ID,生成它的时间戳(如果需要),以及包的有效载荷的大小。然后,此标头后跟数据包的实际有效内容,在通过连接发送之前,根据当前商定的片段大小进行分段。数据包标头本身从不分段,其大小不计入数据包第一个片段中的数据。换句话说,只有实际的数据包有效负载(媒体数据)会受到碎片的影
10、响。2024/6/26 周三加密:可以使用以下两种方法之一加密RTMP会话:使用行业标准的TLS/SSL机制。底层RTMP会话只是包含在普通的TLS/SSL会话中。使用RTMPE,它将RTMP会话包装在更轻量级的加密层中。2024/6/26 周三HTTP隧道 在RTMP隧道(RTMPT)中,RTMP数据通过HTTP 封装和交换,来自客户端(在本例中为媒体播放器)的消息被发送到服务器上的端口80(HTTP的默认值)。虽然由于HTTP标头,RTMPT中的消息大于等效的非隧道RTMP消息,但RTMPT可能有助于在无法使用非隧道RTMP的情况下使用RTMP,例如当客户端落后时一个防火墙阻止非HTTP和
11、非HTTPS出站通信。该协议通过POST URL发送命令,通过POST主体发送AMF消息。2024/6/26 周三 包结构数据包通过TCP连接发送,这些连接首先在客户端和服务器之间建立。它们包含一个标题和一个主体,在连接和控制命令的情况下,它使用动作消息格式(AMF)进行编码。标题分为基本标题(显示为与其余部分分离,在图中)和块消息标题。Basic Header是数据包中唯一的常量部分,通常由单个复合字节组成,其中2个最高有效位是块类型(fmt)在规范中),其余形成流ID。根据前者的值,可以省略消息头的某些字段,并且它们的值从先前的数据包派生,同时取决于后者的值,基本标头可以扩展1或2个额外字
12、节(如案例中所示)图表总共有3个字节(c)。如果是Basic Header的剩余6位的值(BH)(最低有效)为0,则BH为2字节,表示从流ID 64到319(64+255);如果该值为1,则BH为3个字节(最后2个字节编码为16位Little Endian)并表示从流ID 64到65599(64+65535);如果该值为2,则BH为1字节,并保留用于低级协议控制消息和命令。块消息头包含元数据信息,例如消息大小(以字节为单位),时间戳增量和消息类型。最后一个值是单个字节,用于定义数据包是音频,视频,命令还是“低级”RTMP数据包,例如RTMP Ping。2024/6/26 周三RTMP包图 协议
13、握手 在建立TCP连接之后,建立RTMP连接,首先通过从每一侧交换3个数据包来执行握手(在官方文档中也称为Chunks)。这些在官方规范中被称为客户端发送的数据包的C0-2和服务器端的S0-2,并且不要与只能在握手完成后才能交换的RTMP数据包混淆。这些分组具有它们自己的结构,并且C1包含设置“纪元”时间戳的字段,但由于这可以设置为零,如在第三方实现中所做的那样,可以简化分组。客户端通过发送具有代表当前协议版本的常量值0 x03的C0数据包来初始化连接。它直接跟随C1而不等待首先接收包含1536字节的S0,前4个代表时期时间戳,第二个4全部为0,其余为随机(并且可以在第三方设置为0)实现)。C
14、2和S2分别是S1和C1的回声,除了第二个4字节是接收相应消息的时间(而不是0)。收到C2和S2后,认为握手完成。2024/6/26 周三 协议连接 此时,客户端和服务器可以通过交换AMF编码的消息来协商连接。这些包括与要建立连接所需的变量相关的键值对。Flash Media Server和其他实现使用“app”的概念来概念性地定义音频/视频和其他内容的容器,实现为服务器根目录上的文件夹,其包含要流式传输的媒体文件。第一个变量包含此应用程序的名称为“sample”,它是Wowza Server为其测试提供的名称。该flashVer字符串与Action-script getversion()函数
15、返回的字符串相同。该audioCodec和videoCodec被编码为双打和他们的意义可以在原有规范中找到。对于videoFunction变量也是如此,在这种情况下,变量是不言自明的SUPPORT_VID_CLIENT_SEEK常量。特别感兴趣的是objectEncoding这将定义通信的其余部分是否将使用扩展的AMF3格式。由于版本3是当前的默认值,因此必须在Action-script代码中明确告知Flash客户端,以便在请求时使用AMF0。然后,服务器回复ServerBW,ClientBW和SetPacketSize消息序列,最后是一个Invoke,带有示例消息。2024/6/26 周三M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 流媒体 协议
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。