5。1。3 客户端 33
5。2 运行测试 33
5。2。1 资源准备 34
5。2。2 运行测试 35
5。3 仿真实验 36
5。3。1 实验设计 36
5。3。2 实验结果 37
5。4 小结 38
结 论 39
致 谢 40
参 考 文 献 41
1 绪论
本章首先论述了本文的研究背景,随后分析了动态 HTTP/2 直播流媒体技术的国 内外研究现状,最后给出了本文的主要工作和结构安排。
1。1 研究背景
近年来,随着流媒体技术的快速发展,网络视频流媒体业务得到越来越广泛的 应用。网络视频点播和直播服务正在逐渐取代卫星电视,成为人们日常娱乐生活的一 部分。目前,遍布世界各个角落的人们都在利用互联网观看电影和电视节目。许多互 联网点播服务提供商,如,北美的 Netflix、Hulu 以及大陆的优酷和爱奇艺等,早已 家喻户晓。同时,人们也在一些网站上,如 Youtube,上传并发布自己制作的视频内 容,成为网络视频的制作者。随着高速无线网络的进一步广泛部署,如 4G、5G 和 WiFi 等,视频流媒体服务将得到进一步发展。
目前,流媒体技术主要分为三类:UDP 流媒体(UDP Streaming)、HTTP 流媒体(HTTP Streaming)以及动态 HTTP 流媒体(adaptive HTTP streaming)[1]。虽然三类流媒体 技术在实际应用中都得到了应用,但现在的主流系统多采用 HTTP 流媒体和动态 HTTP 流媒体。三类流媒体的共同特征在于,均采用客户端缓存(buffer)方式弥补服务器与 客户端间可用带宽(available bandwidth)和端到端延迟(end-to-end delay)的变化。
在 UDP 流媒体中,服务器端以某一恒定速率(steady rate),将数毫米或数十毫 米的视频片段(video chunk)封装到 RTP 或类 RTP 协议数据包中,并投递到 UDP 网络, 服务器端视频发送速率与客户端视频消耗速率相吻合。在 UDP 流媒体中,传输速率由 发送速率决定,通常只需要很小的客户端缓存就可以实现视频的连续播放,视频缓存 时长通常小于 1 秒。除视频传输连接,客户端与服务器还会建立一个控制连接,如 RTSP 连接。当会话状态发生变化时,如暂停、恢复等等,客户端会通过控制连接发送相应 的命令。
虽然 UDP 流媒体在一些开源系统以及一些商业流媒体解决方案中得到了应用, 但 UDP 流媒体技术的三大缺陷阻碍了其进一步的发展与广泛应用。其一,由于服务器 与客户端间可用带宽的不可预测性和时变性,当网络环境突然恶化时,其恒定速率传
输方式可能会导致视频播放停顿,不能保证视频的连续播放。其二,UDP 流媒体系统 需要一个专用媒体控制服务器,如 RTSP 服务器,以处理客户端与服务器端的交互请 求,追踪每一个正在进行的客户端会话状态,如客户端当前视频播放点(playout point)、视频正在播放还是停顿等等。显然,这会增加一个大型视频点播系统的整体 部署成本,同时使得系统变得更加复杂。其三,多数防火墙被配置为阻塞 UDP 通信, 导致 UDP 流媒体系统无法为此类用户提高视频服务。由于以上缺陷,流媒体技术逐渐 转向采用 HTTP 的传输方式。