位置:51电子网 » 技术资料 » 通信网络

基于DirectX的音频视频无线传输系统设计与实现

发布时间:2008/5/29 0:00:00 访问次数:449

1引言

  近些年来,多媒体技术,网络技术和无线通信技术的迅速发展为相互之间的交叉融合奠定了基础,也使其成为信息产业发展的必然趋势,传统的internet主要提供数据业务,无线通信主要提供语音业务,而多媒体技术的日新月异,使得文本、语音及视频综合加入internet与无线通信领域的需求日益增长。对于音视频流的传输,如果采用tcp协议,由于tcp的检错和重传机制会大大增加数据包的延时,因此不符合音视频传输的要求,而如果单纯采用udp协议,由于udp不提供任何的qos保证,因此传输质量不理想。而ietf制定的实时传输协议/实时传输控制协议(rtp/rtcp)使得在理论上具有提供多媒体实时传输的能力。

  微软推出的directx提供了与音视频应用相关的sdk,开发者以此为跳板则可以较方便地实现语音与视频的捕捉、网络传输、解压、回放等功能,并可以根据需要来订制和扩充利用。

2系统概述

  本系统设计应用于xxx设备与系统,主要实现前后方音频与视频的无线通信,音频传输部分基于directplayvoice实现,视频传输部分基于directshow实现。采用典型的客户端/服务器结构,服务器端主要包括音频视频的采集与压缩以及数据发送,客户端主要包括数据接收以及音频视频解压播放,客户端与服务器端通过无线网连接。

3基于directplay voice的音频传输

direetplay voice是directx系统的成员之一,应用directplay voice开发时可用的组件。

  采用客户端/服务器模式时,使用idirectplayvoice-client和idireetplayvoiceserver接口创建并管理一个声音会话。

3.1 混音


  本系统实际应用中,经常需要多人同时语音会话,因此对混音效果有很高要求,direetplayvoice提供了多人会话时混音功能,并且c/s模式下提供了客户端混音,服务器混音两种混音方式。

  客户端混音方式,通过转发服务器拓扑结构,选择会话中的一个客户端电脑充当转发服务器,每一个客户端把语音数据流送到转发服务器,转发服务器负责把收到的所有客户声音数据送到每一个客户端,然后每一个客户端把接收到的音频数据混音并播放。 服务器混音方式,选择服务器端电脑作为混音服务器,每一个客户端的声音数据流到混音服务器上,混音服务器会检测每个声音流的目的地,完成解压缩、混音,再压缩,把混音的音频数据送到每一个客户端,每一个客户端接受单一的预混和的音频数据并播放。

3.2语音延时、抖动消除

  在语音传输过程中,由于网络等原因会发生语音延时、抖动,采取抖动缓冲技术,可以较好地解决这一问题。在接收方设定一个缓冲池,语音包到达时首先进入缓冲池暂存,系统以稳定平缓的速率将语音包从缓冲池中取出、解压,然后播放给受话者。这种缓冲技术可以在一定限度内有效处理语音抖动,提高音质。 为了确定呼话音包的正确时间间隔,在rtp的包头上提供了一个时间戳(time stamp),用于记录这个呼包的产生时间。在发送端网关产生的呼包①经过a,b的时间间隔和b,c的时间间隔均为20ms,经过网络传输,在接收端收到的呼包②的b,c的时间间隔变成了30ms;为了恢复原有的时间间隔,接收端网关根据每个呼包的rtp时间戳来确定呼包③的正确时间间隔,把他们恢复成原来的20ms向下一级设备发送。由于消抖动缓存池不是在接收到每一个话音包的情况下就立即转发,因此还要确定适当的转发延时的大小。如果延时太长,就会使系统整体的延时变得很长;如果延时太短,话音包在允许的时间范围内没有到达,话音仍会出现抖动现象,缓存池的作用不很明显。取两者平衡点的结果使缓存器的网络延时保持在40ms左右。

  本系统实现时提供了两种混音方式和多种音频编码类型可选,因此能够适应网络带宽较差的环境,提供的编码类型如下:ms-pcm 64kb/s,ms-adpcm 32.8kb/s,microsoft gsm6.10 13kb/s,true speech(tm)8.6kb/s,voxware sc03 3.2 kb/s,'voxware sc06 6.4kb/s。

4基于directshow的视频传输

  directshow是一套完全基于com的应用系统,com组件有3种类型:进程内组件、本地组件和远程组件。filter一般是一种进程内组件,以动态链接库(dell)的形式提供服务。在dir。ectshow体系结构中,filter是最基本的模块。


  directshow对流媒体的处理是分步进行的,每项特定的处理由特定的filter。来完成。filter主要有3类:sourcefilters,transform filters和render ing filters。 sourcefilters主要负责取得数据,然后将数据往下传输;trans-form fitlers主要负责数据的格式转换、传输;renderingfiltes主要负责数据的最终去向。

  在发送端,采集卡捕获的视频数据经过divx mpeg-4 low-motion filter编码压缩,然后进行rtp打包,再发送到网络上。接收端使用rtp解包,divx mpeg-4 receivet filter接收并缓冲视频流,然后由divx decoder filter进行解码,由videorenderer filte

1引言

  近些年来,多媒体技术,网络技术和无线通信技术的迅速发展为相互之间的交叉融合奠定了基础,也使其成为信息产业发展的必然趋势,传统的internet主要提供数据业务,无线通信主要提供语音业务,而多媒体技术的日新月异,使得文本、语音及视频综合加入internet与无线通信领域的需求日益增长。对于音视频流的传输,如果采用tcp协议,由于tcp的检错和重传机制会大大增加数据包的延时,因此不符合音视频传输的要求,而如果单纯采用udp协议,由于udp不提供任何的qos保证,因此传输质量不理想。而ietf制定的实时传输协议/实时传输控制协议(rtp/rtcp)使得在理论上具有提供多媒体实时传输的能力。

  微软推出的directx提供了与音视频应用相关的sdk,开发者以此为跳板则可以较方便地实现语音与视频的捕捉、网络传输、解压、回放等功能,并可以根据需要来订制和扩充利用。

2系统概述

  本系统设计应用于xxx设备与系统,主要实现前后方音频与视频的无线通信,音频传输部分基于directplayvoice实现,视频传输部分基于directshow实现。采用典型的客户端/服务器结构,服务器端主要包括音频视频的采集与压缩以及数据发送,客户端主要包括数据接收以及音频视频解压播放,客户端与服务器端通过无线网连接。

3基于directplay voice的音频传输

direetplay voice是directx系统的成员之一,应用directplay voice开发时可用的组件。

  采用客户端/服务器模式时,使用idirectplayvoice-client和idireetplayvoiceserver接口创建并管理一个声音会话。

3.1 混音


  本系统实际应用中,经常需要多人同时语音会话,因此对混音效果有很高要求,direetplayvoice提供了多人会话时混音功能,并且c/s模式下提供了客户端混音,服务器混音两种混音方式。

  客户端混音方式,通过转发服务器拓扑结构,选择会话中的一个客户端电脑充当转发服务器,每一个客户端把语音数据流送到转发服务器,转发服务器负责把收到的所有客户声音数据送到每一个客户端,然后每一个客户端把接收到的音频数据混音并播放。 服务器混音方式,选择服务器端电脑作为混音服务器,每一个客户端的声音数据流到混音服务器上,混音服务器会检测每个声音流的目的地,完成解压缩、混音,再压缩,把混音的音频数据送到每一个客户端,每一个客户端接受单一的预混和的音频数据并播放。

3.2语音延时、抖动消除

  在语音传输过程中,由于网络等原因会发生语音延时、抖动,采取抖动缓冲技术,可以较好地解决这一问题。在接收方设定一个缓冲池,语音包到达时首先进入缓冲池暂存,系统以稳定平缓的速率将语音包从缓冲池中取出、解压,然后播放给受话者。这种缓冲技术可以在一定限度内有效处理语音抖动,提高音质。 为了确定呼话音包的正确时间间隔,在rtp的包头上提供了一个时间戳(time stamp),用于记录这个呼包的产生时间。在发送端网关产生的呼包①经过a,b的时间间隔和b,c的时间间隔均为20ms,经过网络传输,在接收端收到的呼包②的b,c的时间间隔变成了30ms;为了恢复原有的时间间隔,接收端网关根据每个呼包的rtp时间戳来确定呼包③的正确时间间隔,把他们恢复成原来的20ms向下一级设备发送。由于消抖动缓存池不是在接收到每一个话音包的情况下就立即转发,因此还要确定适当的转发延时的大小。如果延时太长,就会使系统整体的延时变得很长;如果延时太短,话音包在允许的时间范围内没有到达,话音仍会出现抖动现象,缓存池的作用不很明显。取两者平衡点的结果使缓存器的网络延时保持在40ms左右。

  本系统实现时提供了两种混音方式和多种音频编码类型可选,因此能够适应网络带宽较差的环境,提供的编码类型如下:ms-pcm 64kb/s,ms-adpcm 32.8kb/s,microsoft gsm6.10 13kb/s,true speech(tm)8.6kb/s,voxware sc03 3.2 kb/s,'voxware sc06 6.4kb/s。

4基于directshow的视频传输

  directshow是一套完全基于com的应用系统,com组件有3种类型:进程内组件、本地组件和远程组件。filter一般是一种进程内组件,以动态链接库(dell)的形式提供服务。在dir。ectshow体系结构中,filter是最基本的模块。


  directshow对流媒体的处理是分步进行的,每项特定的处理由特定的filter。来完成。filter主要有3类:sourcefilters,transform filters和render ing filters。 sourcefilters主要负责取得数据,然后将数据往下传输;trans-form fitlers主要负责数据的格式转换、传输;renderingfiltes主要负责数据的最终去向。

  在发送端,采集卡捕获的视频数据经过divx mpeg-4 low-motion filter编码压缩,然后进行rtp打包,再发送到网络上。接收端使用rtp解包,divx mpeg-4 receivet filter接收并缓冲视频流,然后由divx decoder filter进行解码,由videorenderer filte

相关IC型号

热门点击

 

推荐技术资料

耳机的焊接
    整机电路简单,用洞洞板搭线比较方便。EM8621实际采... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!