Linux下基于RTP的流媒体技术及在“动中通”系统中的应用---毕业论文.doc

上传人:滴答 文档编号:1274154 上传时间:2019-01-26 格式:DOC 页数:57 大小:2.71MB
下载 相关 举报
Linux下基于RTP的流媒体技术及在“动中通”系统中的应用---毕业论文.doc_第1页
第1页 / 共57页
Linux下基于RTP的流媒体技术及在“动中通”系统中的应用---毕业论文.doc_第2页
第2页 / 共57页
Linux下基于RTP的流媒体技术及在“动中通”系统中的应用---毕业论文.doc_第3页
第3页 / 共57页
Linux下基于RTP的流媒体技术及在“动中通”系统中的应用---毕业论文.doc_第4页
第4页 / 共57页
Linux下基于RTP的流媒体技术及在“动中通”系统中的应用---毕业论文.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、 本 科 毕 业 论 文 Linux 下基于 RTP 的流媒体技术 及在“ 动中通 ”系统 中的 应用 RTP-based Streaming Media on Linux and the Implementation in DongZhongTong 姓 名: 学 号: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 院 内 指导教师: 院外 指导教师: 年 月 摘 要 流媒体 (Streaming Media)是一种以音视频数据流的方式在网络上传输多媒体信息的技术。与传输的多媒体下载不同,流媒体传输具有实时性和连续性的特点。流媒体技术具有十分广泛的应用领域,如在线直播、网络广告

2、、视讯会议、远程教育等。 截至到目前, Windows 平台下基于 DirectShow 的流媒体技术已经趋于完善,各种基于流媒体的产品也已投入使用。但是 Linux 平台下,由于开发框架和技术以及开发人员的限制,开发运用相对较少。 本文以动中通项目为背景,围绕 Linux 下流媒体程序的设计与 实现,重点介绍了 Linux 下平台下开发流媒体程序 所设计的相关框架,音视频编解码以及流媒体实时传输协议等相关知识,并讲解了基于上述技术开发的动中通项目流媒体模块的架构与实现。 此次完成的动中通项目之 Linux 下流媒体模块,主要应用了 Linux 下的 OSS( Open Sound Syste

3、m)和 V4L(Video 4 Linux)框架, G711 和 MPEG4 编解码协议以及 RTP/RTCP 实时流媒体传输协议,采用 C/S 开发模式,系统架构借鉴GStreamer 的基于管道和插件的低耦合架构。开发出的流媒体程序话质清晰,视频流畅。完成了预期工作和愿景。 关键词 : 流媒体 ; MPEG4; IP 组播; 实时传输协议 III Abstract Streaming Media is a kind of technology which transferring multi-media information through the networks in the for

4、ms of audio and video. Differing from traditional multi-media downloading, streaming media transmission has real-time and continuous characteristics. Streaming media has a wide application terrain, such as online live broadcasting, network advertising, video program ordering, video meeting, long dis

5、tance education and so on. Now, Windows platform based on DirectShow streaming media technology is perfected and all kinds of streaming media-based products have also been put into use. But in terms of the Linux platform, due to technology and development framework and restrictions on developers, pr

6、oducts are quite few. This paper is based on the project DongZhongTong. It mainly talks about the design and implementation of downstream media program. It focuses on the downstream media framework on Linux platform, audio and video coding and decoding, and realtime downstream media transport protoc

7、ol. In this Streaming Media module of the project of DongZhongTong, We use the OSS (Open Sound System) and the V4L (Video 4 Linux) framework on the platform of Linux, G711 and MPEG4 encoding and decoding protocol and RTP / RTCP real-time streaming media transmission protocol , with C / S development

8、 model. system architecture reference GStreamer plug-ins based on pipes and low-coupling structure. Develop the quality of streaming media program, then clear and smooth video, and fulfill the expected work and vision. Key Words: Streaming Media; MPEG4; IP multicast,; Real Time Transport Protocol IV

9、 目录 第一章 绪论 . 1 1.1 研究背景 . 1 1.2 流媒体技术现状及发展前景 . 2 1.2.1 流媒体技术的应用现状 . 2 1.2.2 流媒体技术的研究现状 . 3 1.3 项目背景介绍 . 4 1.4 论文主要工作 . 5 第二章 核心知识简介 . 7 2.1 Linux 下音视频开发框架简介 . 7 2.1.1 Open Sound System. 7 2.1.2 Advanced Linux Sound Architecture. 8 2.1.3 Video 4 Linux. 9 2.2 实时流媒体传输协议简介 . 10 2.2.1 RTP/RTCP 简介 . 10 2.

10、2.2 RTP/RTCP 包格式 . 11 2.2.3 RTP/RTCP 实时传输机制 . 13 2.2.4 RTP/RTCP 协议栈 JRTP. 14 2.2.5 RTSP. 15 2.3 流媒体编解码主流技术简介 . 16 2.3.1 语音编码技术 . 16 2.3.2 视频编码技术 . 17 2.4 IP 组播技术简介 . 21 2.4.1 IP 组播的特点 . 21 2.4.2 IP 组播的协议 . 21 2.4.3 IP 组播的实现 . 22 第三章 Linux 下基于 RTP 的流媒体程序设计 . 25 3.1 系统开发环境 . 25 3.1.1 Linux 下程序开发的特点 .

11、25 3.1.2 流媒体开发环境的搭建 . 26 3.1.3 GTK+/GONME 界面开发简介 . 27 3.2 系统架构分析 . 30 3.2.1 动中通总体架构 . 30 3.2.2 流媒体模块架构 . 31 3.3 系统主要模块的实现 . 32 3.3.1 主程序模块 . 32 3.3.2 音频模块 . 34 3.3.3 视频模块 . 35 第四章 Linux 下基于 RTP 的流媒体程序测试 . 39 V 4.1 测试环境 . 39 4.2 测试过程 . 39 第五章 总结和展望 . 43 5.1 项目中遇到的主要问题与解决办法 . 43 5.2 项目感受及 展望 . 45 5.2.

12、1 关于 Linux 和开源 . 45 5.2.2 关于流媒体技术 . 45 5.2.3 项目展望 . 46 参考文献 . 47 致谢 . 49 VI Contents Chapter 1 Introduction. 1 1.1 Background. 1 1.2 Development and Research status . 2 1.2.1 Development status . 2 1.2.2 Research status . 3 1.3 Introduction of DongZhongTong . 4 1.4 Work of Paper . 5 Chapter 2 Core K

13、nowledge Introduction . 7 2.1 Frameworks of Streaming Media . 7 2.1.1 Open Sound System . 7 2.1.2 Advanced Linux Sound Architecture . 8 2.1.3 Video 4 Linux. 9 2.2 Protocols of Streaming Media . 10 2.2.1 Definitions of RTP/RTCP . 10 2.2.2 Formats of RTP/RTCP Packet. 11 2.2.3 Mechanism of RTP/RTCP. 13

14、 2.2.4 Introdcution of JRTP . 14 2.2.5 Introduction of RTSP . 15 2.3 Codec of Streaming Media . 16 2.3.1 Audio Codes. 16 2.3.2 Video Codes . 17 2.4 IP Multicast Technology . 21 2.4.1 Features of IP Multicast . 21 2.4.2 IP Multicast Protocol. 21 2.4.3 Conditions For Achieving IP Multicast. 22 Chapter

15、 3 Design of Streaming Media Program . 25 3.1 Develop Environment . 25 3.1.1 Features of Linux Platform . 25 3.1.2 Build the Environment . 26 3.1.3 Features of GTK+/GONME . 27 3.2 Structure of the Project . 30 3.2.1 Structure of DongZhongTong . 30 3.2.2 Structure of Streaming Media Module. 31 3.3 Im

16、plementation of Streaming Media Program . 32 3.3.1 Main Program Module . 32 3.3.2 Audio Module . 34 3.3.3 Video Module. 35 Chapter 4 Test of Streaming Media Program . 39 VII 4.1 Test Environment . 39 4.2 Test Process . 39 Chapter 5 Conclusion and Outlook . 43 5.1 Major Problems of Solutions. 43 5.2

17、Project Experience and outlook . 45 5.2.1 About Linux and Open Source . 45 5.2.2 About Streaming Media . 45 5.2.3 Outlook. 46 Reference . 47 acknowledgement . 49 第一章 绪论 1 第一章 绪论 此章节简要介绍了流媒体 技术,并就流媒体的应用现状和研究现状做了简短的讨论。 之后,就此次论文的背景项目动中通的总体结构作了分析。 最后阐述笔者于此篇论文中的主要工作。 1.1 研究背景 计算机和通信技术飞速发展,改变了传统的信息处理、加工和传

18、播的手段,加快了人类文明进步的步伐。多媒体技术综合了声音、文字、图像、动画和视频等多种交互手段,丰富了信息的表现形式,为人类的生活方式带来了深刻的变革。 因特网( Internet)作为一种新的媒体和信息传播方式,目前已经逐步深入到全世界的每一个角落。同广播电视、报纸、杂志等传统媒体一样, Internet 正逐步成为信息的重要来源之一 。由于视频信息存储量巨大,使得因特网上实现媒体播放存在一定的技术难度。但是,随着宽带技术的普遍应用,解压缩技术的不断提高,网上的视频播放技术发展非常迅猛。网络通信技术和多媒体技术相结合,产生了流媒体( Streaming Media)的概念。 流媒体是指在 I

19、nternet 中使用流媒体传输技术传输连续的媒体数据,如:音频、视频或者多媒体文件 1。流式媒体在播放前并不下载整个文件,只将开始部分内容写入内存,流式媒体的数据流随时传送随时播放,只是在一开始时有一些延迟,流媒体实现的关键技术就是流式传输。 流媒体是以 流式传输技术通过网络传送,在时间上具有连续性的媒体文件。与传统的多媒体相比,流媒体具有如下特点:( 1)流媒体的内容是时间上连续的媒体数据(如:视频、音频、动画等);( 2)流媒体的内容可以不经过转换便能通过网络流式传输;( 3)具有较强的实时性要求,较好的用户交互性支持;( 4)支持边下载边观看的用户播放模式,缩短了用户的等待时间;( 5

20、)客户端接收、处理和回放流媒体文件过程中,文件不在客户端长时间驻留,播放完随即删除,不占用客户端的存储空间;( 6)由于流媒体文件不在客户端保存,从而在一定程度上解决了媒体文件的版权 保护问题。 流媒体技术包括很多方面的技术,主要是指针对音频和视频数据的相关技术。实现流媒体技术主要有两种方法:顺序流式传输和实时流式传输 2。顺序流式传输服务采用“先下载再播放”的形式,但在网络带宽很低的情况下,下载一Linux 下基于 RTP 的流媒体技术及在“动中通”系统中的应用 2 部影片需要花费很长的时间;实时流式传输服务无需下载整个影片,支持“边下载边播放”的形式,并且用户可以根据需要拖动滚动条,实现真

21、正的实时流媒体播放。 流媒体的适用对象非常广泛,所有拥有网络基础设施或者网络接入能力的公司都有可能利用流媒体来增强他们的业务能力。另外,需要在因特网上传输各种信息的公 司也有可能需要流媒体来丰富它们传递的内容。因此,业务提供商以及内容所有者构成了需要流媒体的两大群体。 1.2 流媒体 技术 现状及发展前景 1.2.1 流媒体技术的应用现状 现在,流媒体已经逐渐发展成为一个朝阳产业。有专家预言,流媒体将成为未来因特网上应用的主流,实现沟通和传播的多向性,使传播不再受到时间和空间的限制。流媒体技术广泛用于 新闻出版、证券、娱乐、 电子 商务、远程培训、视频会议、远程 教育 、远程医疗等互联网信息服

22、务的方方面面, 总结 起来有三大应用 3。 (1) 网络视频直播 。 目前,流媒体技术作为第四代媒体技术中的一种,很多大型的新闻娱乐媒体,如中央电视台和一些地方电视台等,都在互联网上提供基于流媒体技术的节目,目前流媒体的视频直播应用突破了网络带宽的限制,实现了在低带宽的环境下的高质量影音传输,其中的智能流技术保证不同连接速率下的用户,使得用户可以随时随地应用流媒体技术在网络上观看多媒体信息 。 (2) 远程教育 。 Internet的使用开创了远程教育 的里程碑,它促进了远程教育中的教学传递日趋 现代 化,这种教育形式能跨越校界、区界甚至国界。流媒体技术应用突破传统的远程教育以文本为主、没有声

23、音和视频,解决了教学模式单一、交互性差的问题。教学模式多样化体现在教师的在线直播授课和授课视频观看,学员可以由针对性的选择想要学习的章节和内容,极大的提高了学习的效率节省时间。此外,流媒体技术也使远程教育的交互从单向通信的方式,如通过 Email、在线聊天、 BBS等。采用流媒体技术,把流式视频、音频加入答疑系统将提高它的完整性和交互能力。流媒体的 VOD技术还可以进行交互式教 学,达到因材施教的目的。像 Flash、 Shockwave等技术就经常应用到网络教学中。学生可以通过网络共享学习经验。大型 企业 可以利用基于流媒体技术的远程教育对员工进行培第一章 绪论 3 训。 (3) 视频点播及

24、电视电话会议视频会议系统指互联网上或者其它数据网络上开展的一种交互式多媒体通信业务。视频会议系统与流媒体技术应用相结合,利用流媒体技术的良好的可访问性、可扩展性和对带宽的有效利用性,实现视频会议内容的广播和录播,并且由于流媒体终端播放软件大多是免费的,因此利用流媒体机制:点对点 (unicast)、多址广播 (Multicast)和广播 (Broadcast)可以很好地满足视频会议的如上需求:首先可以使大量的授权流媒体用户参加到视频会议中,扩大了会议的规模和覆盖面;而且利用流媒体技术的记录功能,视频会议在召开完以后可以实时存储,流媒体用户就可以通过点播的方式来访问会议的内容。 1.2.2 流媒

25、体技术的研究现状 目前,流媒体技术主要表现在三个方面:分别是编码器(编码技术)、播放器(播放支持)和流服务器,三者缺一不可。在数据 网络 上传输流媒体,需要解决从音 /视频源的编码 /解码、存储,到网络端的媒体服务、媒体流传输,到用户端的播放一系列问题。 怎样使较好质量的流媒体实时播放,需要考虑媒体流传输的各个环节。其中,影响传输质量的三个最关键的因素是:编码和压缩的性能、媒体服务器的性能、媒体流传输的质量控制。 (1) 编码及压缩:流媒体文件需要在网络上实时传输,因此必须考虑传输中数据丢失对解码质量的影响。针对这个问题,采用先进的编码技术,例如错误弹性编码 (ErrorResilient Encoding):在编码中通过适当的控制使得发生数据丢失后能够最大限度地减少对质量的影响。此外,媒体流的 压缩 /编码还需要考虑速率调节的能力,网络的拥塞状况是实时改变的,流媒体的编码应该最大限度适应网络速率的变化。 (2) 服务器的性能提高:流媒体应用规模和范围的扩大,流媒体服务器的性能也成为制约流媒体服务扩展能力的重要因素 4。提高服务器的性能包括 CPU能力提高, I/O总线带宽和传输速度,存储带宽扩展等。 (3) 媒体流传输的质量控制:由于流媒体传输对网络带宽、延迟、丢失率等都有很高的要求,提高流媒体系统的整体扩展性和降低单个服务器性能要求是未

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。