视频业务原理分析.docx
1视频播放流程概述视频效劳凭借着生动而又直观的画面,表现形式和娱乐性更加的丰富的优势,深受用户的喜爱。在GPRS时代,用户上网主要以浏览网页文字为主;在3G时代,用户上网富含图片和文字的触屏版网页为主;到了LTE时代,用户上网的趋势将向丰富多彩的多媒体视频业务开展。目前,国内主流视频类APP优酷、搜狐、腾讯、爱奇艺等)均是基于TCP/HTTP的OTT视频,OTT视频是指基于HTTP协议和开放互联网的视频效劳,同传统的IPTV视频协议栈基于UDP/RTP的MPEG-TS视频码流)不同,OTT视频采用标准HTTP/TCP协议来递送媒体数据。OTT视频也是本次用户视频感知研究分析的目标对象。OTT视频主要分为HTTP的渐进下载(ProgreSSiVeDownload)OTT视频和HTTP自适应流播放HTTPAdaptiveStreaming)OTT视频。基于HTTP的渐进下载(ProgreSSiVeDownload)C)TT视频是PD客户端在开始播放之前仅需等待一段较短的时间用于下载和缓冲该媒体文件最前面的一局部数据,之后便可以一边下载一边播放。基于HAS的OTT视频根据当前可用带宽自动向视频效劳器请求适宜的视频质量的分片文件,用户发起多条TCP连接分别下载视频分片文件。OTT下载流媒体播放采用标准HTTP协议来在Web效劳器和客户端之间递送媒体数据,而HTTP又承载于TCP之上。目前主流的视频有mp4、flv.3gp、IetV等,此次基于用户感知分析视频业务主要从TCP建链、HTTP业务数据传送等二个重要环节进行主流视频业务分析。视频观看可在多种应用场景中出现,本次主要是针比照拟常见的APP观看,使用浏览器观看以及观看嵌入视频这几个场景进行研究,开掘其中典型的信令流程。2 视频播放信令流程当用户使用客户端在线播放视频,客户端会向效劳器请求相应的视频信息,效劳器响应请求下发视频的相关信息,客户端根据获得的视频下载地址发起资源下载请求,效劳器响应资源请求消息即发送相应的视频数据。当客户端收到的视频数据超过初始缓冲门限后,客户端即可一边进行下载一边播放视频。整个视频流程如下列图所示:终端II里理JI核心网IIDNS无线接入过程II附着过程(PDP蕨丽程一iti(DNSqueryDNSresgonesDNS查询过程C/f200OKTCP建链、GET请求并返回过程HKPDATA用户面SYfLACK-A(X-GREPD三前页面准备X/1>TCP连接建立过程GETREPLY200OK艇三过程HKPDATAHTTP下载过程LASTH11PREPLYDATATCP连接拆除过程整个视频在线播放过程包括DNS过程、TCP建链拆链、HTTP业务过程,本文重点研究TCP和HTTP业务过程,整个OTT视频的完整的信令流程包括多个TCP流,效劳器返回的视频地址信息与终端的操作系统相关,文中只列出其中一种视频地址的转换方式。步骤1:TCP三次握手过程每个TCP流建立都必须经过TCP三次握手建立TCP连接,信令流程上都是一样,以下为其中一个TCP连接建立例子。LengthInfo3422342"2343423472-2-2-22-2.1111117111171171177117106.6.06.06.006.06.111111111111322323233237177171711717000000000OoooooooooonOooooooooooo63305993515204052992383Ir1018760469973773398859727888469912773335733355109992255557574445555555006:6:6:6:6:6:6:6:6:6:7:7:333333333335.0909090909090909090909OQ222222222227-Oooooooooooo111111111111-444444444444T-ILLLLLL工工111Ooooooooooon222222222227335651679763.900237777956113344444552343423423422342M22-2'2-"2'71-1'1>11-1.1177117117111171176.08086.086.086.6.086.OR1111111-1111123323232232-S711717177171PpttpppptpppTCTCEETCTCTCTCETCTCTC4yulsynjseq=i«:668054951SYN,ACKSeq=163899668Ack=1858075227Win=5760Len=OMSS=I300S.l5454951-80ACK1GPq=IR5HO75"7Auk=I64X99689H11=2Q144LPn=OI653GETfcgi-bin/video_comment_id?op=l&otype=json&vid=x00158h4jllcallback=js313HTTP1.1200OK(appl1ca由r/行jawp并自工T工口545495180ACKSecI=I858075卜幻lkF为鲍库于返d率FLen三0548054951ACKSeq=163899669Ack=1858075826Win=7040Len=O54TCPWindowupdate5495180ACKSeq=1858075826Ack三163899928Win三26214454TCPDupACK471#18054951ACKSeq=163899928Ack=1858075826Wi11三7040L313TCPRetransmissionhttp/1.1200OK(applicationx-javascript)54TCPDupACK476*15495180ACKSeq=1858075826Ack=163899928Wi11=262144548054951FIN,ACKSeq=163899928Ack=1858075826Win=7040Len=O5454Q51R0ak1Sp11=1R5O75R26Ark=IfiIRQQQPQWin=767144IPn=C步骤2:获取视频信息客户端向效劳器请求视频的相关信息,效劳器响应请求返回script,包括视频的文件大小,播放时间,下载地址等视频相关信息。下列图是响应消息的一个例子:wkeyid*:wx00158h4jll.100OOl*,文件名2401AF4452F9D0F90D99C9CC30336C12FB64FBlE3277E087F57F4972241DF9D80D5","£n":"x00158h4ill,ml.mp4".fs":2564858,fffvkeyw:rt5A17B43978E173053D2E54DD7AFlC4“level":。,“Ink":"XooI58h4jLL","cntF,HVf:5,"cd":2,“£mt”:40002,"£n":"q2",*h*:90,It*url*:whttp:/video_caps0",%F60,“share“:1,"sp":O,wtdw84.36wj视频时长ml"type":1035,wurlw:whttp:/v>w三"dt":2,wdtc*wurlw:wvtw:1"dt":2,:/vkplx.video,视频下载地址:/"dt>2,“dtcF0,"url":"http:"video,dispatch,tc.qq.Com/77527668/",*v*11"vh":272,"vid":"x00158h4jll",步骤3:获取真实地址信息根据效劳器返回的视频下载地址,随机抽取一个发起视频下载请求。如果之前效劳器返回的地址并非真实地址,那么请求视频资源下载后,效劳器会返回响应消息,提供转向地址,地址转向方式有多种,主要与客户端的操作系统有关,这里不一一举例。该过程交互跟访问的网站或者网站资源有关,此步骤在访问的资源发生转向或者变化时才有,如果没有转向或者变化那么不会有该过程。下列图是地址转向的一个例子:SourceDestinationProtocolLengthInfo172.16.111.2220.161.209.54TCP785498680SYNSeq=1987652148Win=65535Len=ON220.161.209.54172.16.111.2TCP668054986SYN,ACKSeq=28956735ACk=I98765214£172.16.111.2220.161.209.54TCP545498680ACKSeq=1987652149Ack=28956736Win=172.16.111.2220.161.209.54HTTP852GET/flv220116x158h4jll.ml.mp4?Vkey=5A17B4220.161.209.54172.16.111.2TCP548054986ACKSeq=28956736Ack=1987652947Win=220.161.209.54172.16.111.2HTTP393HTTP1.0302Found220.161.209.54172.16.111.2TCP548054986FIN,ACKSeq=28957075Ack=1987652947172.16.111.2220.161.209.54TCP545498680ACKSeq=1987652947Ack=28957075Win=172.16.111.2220.161.209.54TCP545498680ACKSeq=1987652947Ack=28957076Win=172.16.111.2220.161.209.54TCP545498680FIN,ACKSeq=1987652947Ack=2895707e220.161.209.54172.16.111.2TCP548054986ACKSeq=28957076Ack=1987652948Win=220.161.209.54172.16.111.2TCP548054986RSTSeq=28957076Win=OLen=OOoooooooooooOoooooooooooOooooooooooo579232207481200809330512839789056618692611211193730044477788023344444456九7.九九九九九九九九九九Oooooooooooo777777777777333333333333999999