最近要学习如何进行视频的用户体验测量,首先学习最基础的知识,视频业务的原理是什么。
研究的视频的应用层协议是HTTP,使用的传输层协议是TCP。
工作过程如下:客户端向服务器请求相应的视频信息;服务器响应请求发回视频的相关信息(包括URL);客户端根据返回的信息发起资源下载请求;服务器接收到请求,发回响应的视频资源;客户端有一个缓冲区,将收到的资源进行缓冲,当缓冲区中的资源超过某个阈值时(这里需要的时间为Initial Delay),播放器可进行播放,在播放的同时进行下载。
整个视频在线播放过程包括:DNS过程、TCP建链拆链、HTTP业务过程。
① DNS过程寻找到对应服务器。
② TCP三次握手,建立连接。
③ HTTP进行视频的传输下载。
下面说③的过程。
a.客户端向服务器请求视频的相关信息,服务器响应请求返回script(文件大小、播放时间、下载的URL等等);
b.根据返回的视频下载地址,随机进行发起视频下载请求(有多条TCP连接进行下载。。。不会重复下载吗),这里可能存在地址转向(给的地址不是真实地址,但是客户端按照该地址发起请求时,服务器会提供转向地址)
c.视频被分段下载,在客户端重新组合成完整的视频文件进行播放。