基于RTP的linux实时语音通信系统的设计与实现.docx

上传人:b****6 文档编号:3224695 上传时间:2022-11-20 格式:DOCX 页数:20 大小:106.04KB
下载 相关 举报
基于RTP的linux实时语音通信系统的设计与实现.docx_第1页
第1页 / 共20页
基于RTP的linux实时语音通信系统的设计与实现.docx_第2页
第2页 / 共20页
基于RTP的linux实时语音通信系统的设计与实现.docx_第3页
第3页 / 共20页
基于RTP的linux实时语音通信系统的设计与实现.docx_第4页
第4页 / 共20页
基于RTP的linux实时语音通信系统的设计与实现.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

基于RTP的linux实时语音通信系统的设计与实现.docx

《基于RTP的linux实时语音通信系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于RTP的linux实时语音通信系统的设计与实现.docx(20页珍藏版)》请在冰豆网上搜索。

基于RTP的linux实时语音通信系统的设计与实现.docx

基于RTP的linux实时语音通信系统的设计与实现

 

毕业论文(设计)

题目:

基于RTP的linux实时语音通信系统的设计与实现

 

摘要

随着信息社会的高速发展,Internet已经成为很多人生活不可缺少的一部分。

当前Internet中流动的“比特”所代表的内容已从原来的数据逐渐向实时多媒体数据演变,它们的特点是对实时性要求非常高。

但是,Internet是建立在TCP/IP之上的计算机网络,最初设计时的定位决定了它不适合实时数据的传输。

因此,1996年1月IETF音视频传输工作颁布了针对实时应用的实时传输协议RTP/RTCP。

RTP/RTCP使Internet从理论上具备了处理实时业务的能力,解决了媒体同步问题和满足了多媒体通信业务的要求,现在在IP电话、网络多媒体会议、远程网络教学和远程网络诊断等领域都有着重大的应用。

本文结合RTP/RTCP高实时性的特点,主要针对局域网,提出了音频数据采用G729a压缩,传输数据采用ortp库,在linux平台下开发的实时语音通信系统。

本文首先介绍了实时传输协议的简单应用后,详细分析了RTP/RTCP协议;接着介绍系统的具体实现,主要分三个部分:

音频数据的采集和播放,音频数据的解码和编码以及音频数据包的发送和接收。

最后简单阐述了本系统在其他领域的可扩展性及前景。

【关键词】实时性,音频传输,RTP/RTCP,音频压缩

 

Abstract

Withtherapiddevelopmentofinformationsociety,theInternethasbecomeanindispensablepartofalotofpeoplelife.

ThecurrentflowsthroughtheInternet"bits"representedbythecontentsofwhichhavebeengraduallyfromtheoriginaldatatoreal-timemultimediadata,thecharacteristicofthemisveryhighdemandforreal-time.However,theInternetisbasedonTCP/IPcomputernetworks,theinitialdesignoflocationdeterminesitisnotsuitableforreal-timedatatransmission.Therefore,IETFaudioandvideotransmissionworkinJanuary1996issuedforreal-timeapplicationofreal-timetransmissionprotocolRTP/RTCP.RTP/RTCPmakeInternettheoreticallywiththereal-timeabilityofthebusiness,themediasynchronizationproblemsandmeettherequirementsofthemultimediacommunicationservice,theIPtelephone,network,multimediaconference,remotenetworkteachingandremotediagnosis,etcallhaveimportantapplications.

Inthispaper,combiningwiththecharacteristicsofRTP/RTCPhighreal-timeperformance,mainlyforlocalareanetwork(LAN),isputforwardusingG729aaudiodatacompression,datatransmissionusingortplibrary,developmentofreal-timevoicecommunicationsystemontheLinuxplatform.Thispaperfirstintroducesthesimpleapplicationofreal-timetransportprotocol,RTP/RTCPprotocolareanalyzedindetail.Thenthispaperintroducestheimplementationofsystem,mainlydividedintothreeparts:

audiodataacquisitionandplayback,audiodatadecodingandencodingandaudiopacketssentandreceived.Thelastsimplyexpoundsthesystemscalabilityandprospectsinotherareas.

【Keywords】Realtimeaudiotransmission,RTP/RTCP,audiocompression

前言

随着多媒体网络的发展,RTP/RTCP在众多领域也得到了深入的应用,如VOIP电话、多媒体会议系统等应用的出现,也让语音传输通信技术也得到了迅速的发展。

然而,语音通信需要的实时性是非常高的,而且数据量大。

例如,一个多媒体会议系统,我们总是希望发言者的发言能够尽早让收听者收听到,也就是说时延尽量短;另外一个就是我们希望在收听者收听语音信息时,一句话平滑的,即中间没有断点,也就是等时性。

这些都是实现实时语音通话应达到的要求。

为此,本人在导师的指导下,详细研究分析了RTP/RTCP协议,结合RTP/RTCP协议高实时性的特点,利用现有的音频编程和网络编程知识,设计和开发了这个基于RTP的linux实时语音通信系统。

目前只实现了单播功能,即点对点的通信。

论文的主要内容如下:

第一章:

引言,主要介绍了实时多媒体数据传输的发展,阐述了TCP不适合多媒体传输的原因并引入了RTP.

第二章:

根据RFC3550官方文档,详细分析了RTP/RTCP协议。

第三章:

介绍了linux下基于RTP的实时语音通信系统实现的基本原理和总体架构。

第四章:

介绍了linux音频编程。

第五章:

讲解了音频传输的实现。

第六章:

介绍了音频解码和编码的实现。

第七章:

总结与展望。

第一章引言

1.1实时数据传输的发展

我们已经步入一个高速发展的信息社会,Internet已经成为很多人生活不可缺少的一部分。

Internet中流动的“比特”所代表的内容已从原来的数据逐渐向多媒体演变。

随着IPv6,RSVP,RTP/RTCP一系列协议的出现,在Internet上实现多媒体通信成为可能。

IPv6解决了IPv4地址资源有限,不能控制带宽等问题,RSVP(资源预留协议),RTP/RTCP(实时传输/控制协议)使Internet从理论上具备了处理实时业务的能力,解决了媒体同步问题和满足多媒体通信业务的要求。

越来越多的实时多媒体应用的出现,极大的丰富了人们生活,如成为这几年的热点的IP电话,另外还有VID、远程网络教学、远程网络诊断和网络多媒体会议业务、多媒体消息型业务等。

1.2国内外研究状况

早在20世纪70年代末80年代初,如何在分组上实时传输语音就是一个很活跃的研究方向,到了九十年代初这个方向研究又变得异常活跃。

1992年3月,IETF(InternetEngineeringTaskForce)在SanDiego召开的会议是分组网上第一次大规模的音频多播应用。

会议使用的音频传输软件主要是Vat(VisualAudioTool),它是由LBNL(LawrenceBerkeleyNationalLaboratory)网络研究小组开发的一个音频会议工具,该小组还开发了视频工具vic和白板工具wb。

会议还使用的另一个音频软件是NeVoT(NetworkVoiceTerminal),它是H.Schulzrinne等人在90年代初开发出来的。

该软件最初使用的是vat协议,但是在RTP协议制定出来后也开始支持RTP协议了。

还有其他大学,研究组织研究

开发出来的音频工具TAT(RobustAudioTool),会议目录工具SDR(sessiondirectory),CU-SeeMe音频会议工具等等。

在国内,清华电子工程系网络研究所多媒体通信课题组也在这方面做了大量的研究,并开发出了Cool-audio、Cool-Video、Cool-Meeting等一系列软件。

其中Cool-audio网络电话于1998年推出,它是我国第一套自主版权且最有影响的Internet电话软件。

另外,东南大学计算机系,北京邮电大学电信工程学院和华中科技大学等研究机构也在这方面做出了大量的研究工作。

北京的微软亚洲研究院的网络多媒体组正在做SMART音/视频传输(SMARTA/VDelivery)等项。

但是总的来说,国内的研究水平要远远落后于国外。

可以说,实时多媒体数据传输研究已经有了长足的进步,制定了许多相关的传输协议,例如:

RTP(Real-timeTransportProtocol)和RTCP(Real-timeTransportControlProtocol),RTSP(Real-timeStreamingProtocol),SIP(SessionInitiationProtocol),H.232,RSVP(ResourceReserveProtocol),服务区分协议(Diff-Serv),多协议标记交换协议(Mulit-ProtocolLabelSwitching,MPLS)等等,这些都是构建当前多媒体通信的主要协议。

在这些协议中,RTP和RTCP主要负责实时数据以及实现最基本的传输控制,本设计就是Linux下基于RTP协议的实时音频传输的实现。

1.3实时多媒体数据传输的特点

实现多媒体数据传输的核心是声、文、图等多媒体信息的传输技术,它的一个显著特点是数据量大,并且许多应用对实时性都有比较高的要求,例如,一个多媒体会议系统,我们总是希望发言者的发言能够尽早让收听者收听到,也就是说时延尽量短;另外一个就是我们希望在收听者收听语音信息时,一句话平滑的,即中间没有断点,也就是等时性。

这些都是实现实时语音通话应达到的要求。

1.4TCP不适合传输实时多媒体数据

Internet是建立在TCP/IP之上的计算机网络,它最初是为提供非实时数据业务而设计的。

IP协议是面向无连接的,负责主机之间的数据传输,但只提供“尽力而为”(best-effort)的服务,不进行检错和纠错,因此经常发生数据丢失现象。

为保证数据的可靠传输,在传输层使用TCP协议,当接收端检测到数据包丢失或错误时,要求发送端重新发送,但这样不可避免地引起传输延时和占用网络带宽。

因此传统的TCP/IP协议传输实时音频、视频数据的能力比较差。

当然在传输用于回放的视频和音频数据时,TCP也是一种选择。

如果有足够大的缓冲区和充足的网络带宽,比如在局域网内,在TCP协议上,接近实时的传输也是可能的。

但是在大多数情况下,我们需要再广域网内传输数据,在这种丢包率较高、网络状况不好的情况下,利用TCP协议进行视频或音频通信显然不是很好的一个选择。

TCP协议是面向连接的协议,它的重传机制和拥塞控制机制都是不适合用于实时多媒体传输的。

下面具体分析网络运行一下TC

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1