RTP和RTCP协议分析与应用
流媒体是指在网络中使用流式传输技术的连续时基媒体,如视频、音频等。新一代视频压缩技术MPEG-4的出现正是适应了流媒体应用的发展,事实上正在逐渐成为流媒体通信的标准。它建立在几种成功的技术上,如数字视频、计算机图形以及WWW,旨在提供一个制作、发布和播放多媒体内容的综合平台。MPEG-4第一次提出了视频对象的概念,相对于传统的块压缩技术,它具有前所未有的灵活性和高效性,不仅可以用于未来的交互式视频服务需求,同时也兼容于传统方式视频的存储和传输,它无疑是网络视频压缩技术的优先选择。MPEG-4 标准以其高压缩率、高质量、低传输率成为目前和下一代网上多媒体传输的主要格式和标准,目前对MPEG-4的传输应用刚刚开始。除了传统的流媒体软件公司RealNetworks,Microsoft,Apple公司外,CISCO,Philips等公司也投入巨资角逐MPEG-4的流式传输应用。国内对这方面的研究还处在起步阶段,因此抓紧时间和抓住机遇研究基于MPEG-4的传输技术是必要的和有意义的。
流媒体技术是多媒体技术和网络技术的交叉课题,它包括流媒体服务器技术、流媒体编码技术、端到端流媒体技术和流媒体系统技术等。流媒体服务器在提供流媒体服务中起着关键作用,而流媒体本身有着大数据量、要求实时处理等特点,因此流媒体服务器技术也是流媒体技术研究的重点。其中通信程序是流媒体服务器的技术核心,通信程序涉及到服务器中实施的应用层和传输层协议。
RTP、RTCP、RTSP作为流媒体的应用层协议,早在1996年就被IETF接纳为Internet标准,目前RTP/RTCP已经成为流媒体传输中使用最广泛的协议。因此,可以考虑使用RTP/RTCP协议来实现MPEG-4标准的多媒体传输综合框架(Delivery Multimedia Integration Framework,DMIF)中的数据平面。要通过RTP进行MPEG-4的传输,必须把MPEG-4的媒体数据封装成一个个RTP包。随着流媒体技术的不断发展,基于RTP/RTCP协议的MPEG-4传输方法研究与应用将会变得越来越有意义。
本文研究的主要内容如下:
前沿介绍了流媒体发展现状以及研究课题,简介了论文研究的背景和内容。
第一章介绍了流媒体的一些基本概念。
第二章介绍了MPEG系列标准,以及MPEG-4的组成和特点等。
第三章分析了RTP、RTCP和RTSP协议的功能、原理、结构、特点。
第四章介绍了Linux平台下流媒体编程的方法,并在此基础上实现了基于RTP协议的代码编写与测试。
第五章详细论述了一个基于Linux平台、RTP协议的高效流媒体服务器的设计原理、设计思想及具体的实现过程,对在设计过程中涉及到的关键算法及重要作业流程作了具体分析。
目 录
前言 1
1 流媒体 3
1.1 流媒体简介 3
1.2 流媒体传输的基本原理 3
1.3 流媒体传输的方法 4
1.3.1 顺序流传输 4
1.3.2 实时流传输 4
1.4 RTSP协议 4
2 MPEG-4标准介绍 6
2.1 MPEG系列标准 6
2.2 MPEG-4简介 6
2.2.1 MPEG-4的组成 6
2.2.2 MPEG-4的功能特点 7
3 RTP和RTCP协议分析 9
3.1 RTP和RTCP协议简介 9
3.2 RTP协议 9
3.2.1 RTP协议的组成 9
3.2.2 RTP协议的结构 9
3.2.3 RTP协议的功能 11
3.2.4 RTP协议的工作原理 11
3.2.5 RTP协议的特点 12
3.3 RTCP协议 12
3.3.1 RTCP的组成 12
3.3.2 RTCP数据报的类型 12
3.3.3 RTCP协议的功能 13
3.3.4 RTCP协议的工作原理 13
4 流媒体编程 15
4.1 C++介绍 15
4.2 程序自动维护工具make 15
4.2.1 make介绍 15
4.2.2 makefile文件介绍 16
4.2.3 makefile文件的简单使用 16
4.3 Linux下C/C++开发工具介绍 17
4.4 Linux下C/C++的编译方法 18
4.5 gdb符号调试器简介 20
4.6 Linux编程常见问题 21
4.7 环境搭建 21
4.8 一个简单的RTP包发送程序的实现 22
5 高效流媒体服务器的方案设计与实现 27
5.1 流媒体服务器的组成 27
5.2 流媒体服务器的基本功能和服务方式 27
5.2.1 流媒体服务器的基本功能 27
5.2.2 流媒体服务器的服务方式 28
5.3 流媒体服务器设计与实现 29
5.3.1 流媒体服务器协议栈的设计 29
5.3.2 基于RTP的MPEG-4的视频传输模型的实现 30
5.3.3 MPEG-4传输的软件实现 31
5.3.4 端到端传输的实现 37
5.3.5 MPEG-4传输速率的反馈控制 38
5.3.6 服务器的算法 38
5.3.7 流媒体服务器实现中应注意的问题 39
6 结论 41
6.1 论文总结 41
6.2 个人总结 41
6.3 展望 41
参考文献 42
致谢 43
- 10-02
- 05-04
- 05-15
- 07-13
- 09-14
- 05-22
- 03-13
- 05-19
- 08-12
- 07-28