Rtmp Http双协议流媒体视频点播直播系统

更新时间:2023-05-18 17:24:48 阅读: 评论:0

万方数据
第7卷第1期(2011年1月)
播放器作为SWF文件嵌入到web浏览器中.用户只需打开网页便可观看视频。无需下载播放器。
系统通信流程图如图l。
视频文件统一为FLV格式.FLV作为目前最流行的流媒体视频格式,其形成文件小,结构简单,非常适合网络传输。FLV文件主要由一个文件头和许多Tag组成,Tag类型主要分为视频流,音频流和脚本流。由于视频信息和音频信息采用分开存放的方式,所以Tag中需要Timestap确保视频和音频同步。Tag中的数据区会指明该Tag的编码类。FLV文件格式如表1。
2.2Rtmp协议播放原理
Rtmp协议提供了流媒体视频的高效率传输,可以构架在Tcp协议之上。客户端与服务器维持着一个单一永久的连接,支持实时交流。Rtmp主要为多媒体视频提供多路传输和数据分包服务.不仅支持视频和音频数据实时传输,还支持RPC(远程过程调用)。视频,
ComputerKnowledgeandTechnology电雎知识与技术w西Bmw
F蛐n-N蚓=.户刊:=.
图1通信流程图
表1FLV文件格式
Hcadet
Tag
TypeLengthTn'ne鞋a
StreamData
n】pId
音频,操作命令,共享对象,控制消息和其它类型数据被打包成一个个消息,并打上时间戳用于同步,不同类型的消息在不同流上传输,多个消息流又交错复用在同一个连接上。消息包括Message头和Message主体。Message头格式如表2。
MessageStreamld主要用于在单一连接中识别不同的流,包括3个字节。Meaas
geType用于指明消息的类型,只有一个字节。类型l一7保留,用于传输控制消息,比如设置chunk大小,消息丢弃,用户控制消息等等。虽然通过设置MessageType可以将不同类型的消息在不同的流上传输,但Message也有其缺点,因此又将其分割成Chunk。分块可以将低优先级数据量大的Messag分割成小的Chunk,防止其阻塞优先级高数据量小的Message。流媒体传输的多路复用基于Message这一层,与Chunk无关。
Rtmp在建立连接时首先要进行3次握手,类似于Tcp协议,不过是为了服务器和客户端统一协议版本信息。然后建立连接.创建传输流,设置chunk大小,发送数据。在视频播放过程中,如果用户拖动进度条。便会触发seek操作,该消息会通过与视频数据不同的流发送到Red5.Red5会解析控制命令。返回用户需要的数据。
2.3Http协议播放原理
对于Http协议请求FLV视频文件,由IIS7.0响应。默认情况,如果客户端带宽良好,则下载速度远远大于播放速度。由于要保存下载的数据量比较大,所以文件会缓存到硬盘。播放器中的加载进度条显示下载到硬盘的数据。当用户拖动播放视频时,只能播放已下载的视频信息,如果将播放进度条拖动到超过加载进度条时,则播放停止。为了解决这一问题.在IIS服务器增加专门响应FLV文件的Class,即FLVHandler。考研政治参考书
首次请求视频文件,FLVHandler会读取服务器的视频文件通过网络输出流发送到客户端.播放器接收到视频数据后会调用回调方法OnMetaData。该方法主要是从FLV文件中获取MetaData.也就是视频的基本信息,包括视频长度,帧率,实际宽度和高度等,其中还包括视频的关键帧信息。FLV的MetaData存储位置紧跟在FLVHeader之后,其Tag类型也就是上文介绍FLV格式中提到的脚本流,MetaData对于视频文件并不是必须的,但是在播放过程中要显示视频时间,对视频进行拖动则需要MetaData信息。
视频拖动请求,如果拖动位置在播放器加载进度条之前,即该位置的视频数据已经下载到硬盘,则播放器会从本地硬盘读取数据进行播放。如果拖动位置数据还没有下载到硬盘,首先会从MetaData中找出距离拖动位置最近的关键帧.因为视频播放时必须从关键帧开始播放,关键帧包含了当前帧的全部数据。该关键帧所处位置会附在URL之后,然后向服务器重新发送一次视频请求。nⅣHandler会检查请求参数,确保当前是视频拖动请求。如果参数值不为零且没有超过文件大小.则从该帧开始读取视频文件,也就是FLV文件巾某一个关键帧Tag起始位置。如果这样就把信息发送到客户端,虽然有完整的视频和音频信息.但是播放器在读取时却无法识别这是一个FLV视频文件。因此根据FLV格式规定,需要在该帧之前添加FLVHeader。此时播放器接收到的网络流便是由FLVHeader和视频信息重新组合的FLV文件,但信息中缺少Met,adam。当播放时检测到Met,adam为空,不会触发回调方法onMetaData,因此元数据
不会被更改,仍然为首次播放视频得到的Metadata。至此,基于Http协议的视频拖动播放结束。
传输改进,由于在播放过程中下载和播放分离,下载速度又町能很快,例如用户在观看到5分钟时,30分钟的视频文件已经下载完毕,如果此时用户不想继续观看,则剩余下载的文件就会浪费。为了节省服务器带宽.所以FLvHander在传输视频流时.在前50M时会尽力交付,然后在传输一段视频便会执行Sleep操作。通过线程睡眠降低传输速度,维持在超过视频比特率50k一80k之间,保证正常观看。
2.4两者对比与结合
Rtmp和Http协议都可以用于流媒体视频点播。Rtmp协议在整个播放过程中只与服务器建立一次持久性连接,客户端与服务器之间一直处于数据交互之中,视频传输和播放是同步的。Http协议在客户端请求连接后,服务器只负责发送数据,并不知道发送的数据是什么类型,也不知道当前视频播放进度。系统将两种协议结合在一起,用户可以根据自己需要选择不I司的传输协议。当客户端网络带宽良好时,可以采用Rtmp协议播放,播放过程中町以随意拖动,由于只需要在连接上发送一个控制消息,所以开销少,响应速度傀。当网络带宽拥塞不能满足实时播放时,可以选择Http协议,用户町以先暂停播放.让视频先下载到本地硬盘,等到下载足够的数据再进行播放。相同
视频的不同协议请求会由不同服务器处理,但读取的是同一文件。两种协议在切换过程时,会记录当前播放位置的关键帧,所以在切换协议后,仍然会从该位置开始播放,无需重新观看,以达到无缝切换的目的。
客户端带宽2mb/s,视频文件200roB,长度40分钟,分别采用Rtmp协议和Http协议播放。测试数据如表4。
本栏目贲任编辑:唐一东-·-·e多黑体技术硬萁应用t227万方数据
ComputerKnowledgeandTechnology电脑知识‘i技术3负载均衡
3.1负载均衡架构
整个网络架构包括仁服务器,视频缓存服务器。主服务器包括整个系统的所
有功能。H『以响应贞面和视频请求,解析动态贞面,操作和维护数据库,管理所有
视频的基本信息。丰服务器采用l+l的)C余模式。分为Active和Standby。
两者物理f:为独立的服务器存在,属于同一个局域网。当Active服务器遇
到故障时,Standby服务器马上变为Active模式。两者没有主次之分.口r以
在两种模式下相巨转换,但同时只能有一个服务器为Active。视频缓存服
务器只含有视频文件,功能单一,只能响,菠视频的点播请求。视频缓存服
务器根据地理位置分散布置,所有服务器连接形成的网络尽可能地覆盖
较大的地理范围,为不同地【)(的用户提供服务。
3.2负载均衡策略
第7卷第1期(2011年1月)
表4测试数据对比图2网络架构图
系统负载均衡以软件的方式实现,包含两条策略。主要目的是:首先用户点播视频时,从距离自己位置最近的网络边缘服务器获取数据防止I叶J现网络拥塞,减少视频传输距离,从而降低网络传输消耗。其次,防止部分服务器凶负载过高而不能及时响应请求.降低服务器宕机的几卒。
策略一:针对不同地理位置的视频点播请求会转发到不同的视频缓存服务器,转发流程如下:渭南师范学院学报
1)用户进入视频点播网站,选择需要观看的视频,发送该视频播放页面的请求。
2)服务器判断该请求是视频播放页面,解析请求客户端的IP地址,通过IP地址库得到该IP的地理位置,地理范围具体到省级。通过视频缓存服务器登记信息找到距离该位置最近的服务器,写入将该服务器的IP地址.返回该页面。
3)客户端浏览器解析返回贞面,调用Flash播放器插件获取页面中的服务器IP地址参数,播放器向该服务器发送视频文件请求。
日语翻译兼职4)视频缓仔服务器获取请求信息,向客户端发送视频数据。
第一条策略的不足就是负载均衡服务器杠分发请求时并不知道各个服务器的状态,如果此时某一地区有大馈用户在进行视频点播时,所有的请求都会f}1距离该地区最近的缓存服务器处理,请求量过大时则会达到带宽瓶颈。相反。某一地K如果只有很少用户视频点播,则该地区的服务器会一直处于空闲状态,浪费系统资源。冈此需要第二条策略进行补充。
策略二:所有视频缓存服务器后台都运行着一个监视进程,该进程主要用来查看当前服务器处理视频请求的并发连接数.工作流程如F:1)监视进程每过一段时间获取当前服务器的并发连接数,当并发连接接近该服务器的带宽瓶颈时,会发送一个类型为负载过高的消息通知}服务器,
2)主服务器收到负载过高的消息时,会修改缓存服务器的登记信息,将该服务器暂时标记为失效,并替代为与该服务器地理位置最近的服务器,且该服务器无火效标志。此时该地Ⅸ用户进行视频点播时,则会都转发到替代服务器上。
3)当监视进程发现该服务器的并发连接数降低时,会发送一个类型为负载正常的消息通知丰服务器。
4)丰服务器收列负载l卜常的消息时,会修改缓存服务器的磴记信息,取消失效标记,移除替代服务器。
负载均衡策略就是在防I卜网络拥塞,尽量降低网络传输消耗的基础上,均衡各个视频缓存服务器的负载.避免出现系统性能瓶颈,瓶颈就是服务器的带宽。不保证每个服务器负载平均,但保证每个服务器都正常工作。当所有服务器负载都一样时,也就是负载都已经达到饱和状态,此时只能通过硬件升级来解决。
4结束语
本文设计了基于WEB的流媒体视频点播系统,系统同时支持Rtmp协议和Http协议传输,实现了客户端和服务器及整个网络架构。视频播放时,丽种协议叮以相互切换,满足不同网络状况用户
的需要。提出了一种新的专门针对视频点播的负载均衡策略.既节省网络传输开销.又兼顺到视频服务器的负载状况。
参考文献:
【1】李方捷.ActionScript3.0开发技术大伞【M】.北京:清华大学出版社,2009.
【2】齐俊杰,胡沽,麻信洛.流媒体技术人fJ与提高(M1.2版.北京:国防工业出版社,2009.
【3】RTMP
Specification1.0.2009.【4】4KontothanassisL.SitaramanR.WeinJ.HongD.Atransportlayerforlivestreamingincontentdeliverynetwork.IEEE.2004.
228·t多螺体技术及其应用t··-·
有限公司英文
本栏目责任编辑:唐一东
万方数据
基于Rtmp和Http双协议流媒体视频点播系统
can can
作者:王旭鹏, WANG Xu-peng
作者单位:同济大学电子与信息工程学院,上海,201804
刊名:
电脑知识与技术
提供的读音
英文刊名:COMPUTER KNOWLEDGE AND TECHNOLOGY
年,卷(期):2011,07(1)
1.Kontothanassis L;Sitaraman R;Wein J;Hong D A transport layer for live streaming in a content delivery network 2004
2.李方捷ActionScript
3.0开发技术大全 2009
3.RTMP Specification 1.0 2009
4.齐俊杰.胡洁.麻信洛流媒体技术人门与提高 2009北京大学研究生分数线
5.齐俊杰;胡洁;麻信洛流媒体技术人门与提高 2009
6.RTMP Specification 1.0 2009
7.李方捷ActionScript 3.0开发技术大全 2009
8.Kontothanassis L.Sitaraman R.Wein J.Hong D A transport layer for live streaming in a content delivery network 2004
1.张冲.杨灿.杨泽铨.黄辉泽.ZHANG Chong.YANG Can.YANG Ze-quan.HUANG Hui-ze RTMP协议在P2P流媒体系统中的应用[期刊论文]-电视技术2009,33(z2)
2.徐洪华.底晓强.郭乃珠.XU Honghua.DI Xiaoqiang.GUO Naizhu基于RTMP协议的视频广播系统结构设计[期刊论文]-长春理工大学学报(自然科学版)2007,30(4)
3.汪孔敏.李觊.李华飘.南凯.WANG Kong-Min.LI Ji.LI Hua-Biao.NAN Kai基于RTMP的文档在线浏览工具[期刊论文]-计算机系统应用2010,19(10)
4.谢运佳.钟瑞琼.郑文丰基于HTTP协议的FLV流媒体的网络视频教学系统的设计[期刊论文]-电脑与电信2011(8)decadent
5.孙晓波.王荣浩.季新年.杨启亮.邢建春.王平.SUN Xiaobo.WANG Ronghao.JI Xinnian.YANG Qiliang.XING Jianchun.WANG Ping基于Web视频监控系统的设计方案[期刊论文]-电脑编程技巧与维护2011(2)
6.熊冬升.XIONG Dong-sheng支持随机播放HTTP协议流式视频点播系统的搭建[期刊论文]-现代教育技术研究生报名费用
2010,20(8)
7.霍龙社.甘震.Huo Longshe.Gan Zhen移动流媒体协议综述[期刊论文]-信息通信技术2010,04(4)
8.陈荣.CHEN Rong利用FMS+Flash实现实时视频应用[期刊论文]-计算机时代2011(4)聊大英语教学网
本文链接:d./Periodical_dnzsyjs-itrzyksb201101088.aspx

本文发布于:2023-05-18 17:24:48,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/113545.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:视频   服务器   播放
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图