APP下载

基于带宽聚合技术的3G视频传输系统设计※

2015-07-03万云杰张磊郭晓侯奉含

单片机与嵌入式系统应用 2015年1期
关键词:开发板服务器端网卡

万云杰,张磊,郭晓,侯奉含

(1.解放军理工大学 通信工程学院, 南京 210007;2.河南工业职业技术学院)



基于带宽聚合技术的3G视频传输系统设计※

万云杰1,张磊1,郭晓1,侯奉含2

(1.解放军理工大学 通信工程学院, 南京 210007;2.河南工业职业技术学院)

传统3G视频传输系统通过针对视频内容编码、打包以及传输控制等方面进行优化,来提高视频传输的质量,但是带宽不足的问题一直没有得到有效的解决。该文利用现有的策略路由、虚拟隧道和多网卡绑定三种成熟的网络技术,提出一种基于带宽聚合技术的3G视频传输系统设计方案,并给出其在TMS320DM3730开发板上的具体实现过程。实验结果表明,该系统能够有效聚合3G带宽、提高实时传输视频质量。

3G;视频传输;带宽聚合;策略路由;虚拟隧道;嵌入式系统

引 言

随着3G移动通信技术的普及,利用3G网络进行视频传输在很多行业的应用越来越广泛。同时,随着对视频质量要求的不断提高,单路3G信道所能够提供的带宽已不能满足视频传输需求。对于720P的高清实时视频,采用H.264编码,经过计算至少需要2.8 Mbps的带宽。目前,电信3G的理论上行带宽为1.8 Mbps,联通为5.7 Mbps。在实际应用中,由于受信号强度变化、接入用户增多以及网卡设备差异等因素的影响,3G实际带宽很难达到理论,带宽不足已经成为影响高清视频传输的关键因素之一。

本文针对3G网络在实际视频传输过程中带宽不足的问题,利用现有的策略路由、虚拟隧道和多网卡绑定3种成熟的网络技术,提出了一种基于带宽聚合技术的3G视频传输系统设计方案。该设计方案采用嵌入式Linux操作系统,在TMS320DM3730开发板上实现,通过多张3G网卡聚合,在客户端和服务器端形成一条聚合逻辑通道,从而扩展传输带宽。实验结果表明,该系统能够有效聚合3G带宽,提高实时传输视频质量。

1 硬件设计

本系统使用TI公司的TMS320DM3730(以下简称DM3730)作为微处理器。DM3730微处理器集成了3D图形处理器,包括1 GHz的ARM Cortex-A8 核和800 MHz的TMS320C64x+DSP核两部分;支持视频加速器(IVA)、USB 2.0以及高清720P视频编解码功能;使用Logitech C170高清摄像头,最大分辨率为1 024×768,带CMOS传感器,最大帧数为30帧。系统使用的3G网卡为中兴AC2787,支持理论最大下行带宽为3.1 Mbps,上行带宽1.8 Mbps。服务器端采用普通PC机。系统硬件框图如图1所示。

图1 硬件框图

2 系统设计

3G视频传输系统由以TMS320DM3730开发板和3G网卡为核心的3种模块构成。视频处理模块以DM3730开发板为基础构建,通过USB摄像头采集视频并由处理器进行编码打包发送至3G传输通道。3G传输模块由多张3G网卡构成并与开发板相连,通过传输通道将数据发至因特网。视频播放模块构建于普通PC机,与因特网直接连接,收到视频数据后对其进行处理并播放。系统模块设计如图2所示。

图2 3G视频传输系统模块设计图

图2所示系统模块设计只是在逻辑上对系统进行模块分类,其中3G传输模块与视频处理模块都是基于DM3730开发板实现的。根据每个模块详细功能进行系统流程设计,图3为系统设计流程图。

图3 系统设计流程图

2.1 无线网络拨号

3G是蜂窝移动通信技术的一种,它能够同时传送声音及数据信息,支持高速数据传输。目前我国3大电信运营商(电信、联通和移动)分别使用CDMA2000、WCDMA和TD-SCDMA这3种国际标准。本系统根据当地实际情况选取CDMA2000作为系统所用3G标准,3G接入互联网是通过PPP协议拨号实现的。PPP(点到点协议)是一种提供全双工操作的链路层协议,能够按照顺序传递同等单元的数据包。

PPP拨号流程如图4所示。

图4 PPP拨号流程图

用户首先通过拨号接入ISP,拨号被调制解调器确认后会建立一条物理连接(底层UP)。拨号客户端向路由器发送一系列携带PPP参数的LCP分组,路由器会对参数进行选择并进行相应的网络配置。客户端可以从NCP得到一个新的临时IP地址,从而成为互联网上的一个主机。3G PPP拨号是通过AT指令集实现的,AT指令集是指从终端设备向终端适配器发送的指令集合。客户端通过AT指令可与ISP服务器进行拨号交互,从而完成拨号。

2.2 带宽聚合

带宽聚合是本系统的核心,通过带宽聚合可以将多张3G网卡绑定成一张虚拟网卡,在客户端和服务器端形成一条高带宽的逻辑通道。3G网卡拨号后,需要进行策略路由定制、虚拟隧道建立以及多网卡绑定。以下将以两张3G网卡为例介绍带宽聚集全过程。

2.2.1 策略路由定制

策略路由是一种根据自定义策略进行路由包转发的机制。单条ISP通常使用基于目标的路由规则来实现,策略路由可根据目标地址和源地址进行策略定制,通常用于多条链路的数据包路由。相比于传统的路由,灵活性有很大的增强。本系统使用多条链路进行视频传输,在建立虚拟隧道之前,需要定制策略路由。

定制策略路由之前,需要对不同策略建立相应的路由表。普遍做法是不同的策略单独使用一个路由表,当然也可以不同策略使用同一张路由表。当数据包进行路由时,路由机制会根据其对应的路由表中的策略进行筛选,不符合策略的按照默认路由进行转发,符合某条策略的按照策略进行转发。策略路由分为两种:目标地址路由和源地址路由。本系统服务器地址唯一,客户端有多个IP地址,因此使用源地址路由技术。

2.2.2 虚拟隧道建立

虚拟隧道技术是在公共网络的基础设施之间,建立专用网络实现加密数据通信,任何通过虚拟隧道的数据包都将被隧道协议加密传输。传输过程中,原来的传输内容将被全部封装到新的加密包中。本系统使用Vtun开源软件,在客户端与服务器之间建立多条虚拟隧道。Vtun虚拟隧道建立过程与虚拟隧道通信过程如图5所示。

图5 Vtun原理图

图5中的虚拟网卡TAP/TUN是虚拟隧道建立后生成的。虚拟网卡的建立首先是通过客户端与服务器端的物理网卡建立Socket连接,接下来服务器端和客户端会根据相应的配置文件设置虚拟网卡的特征,配置虚拟网卡的网络地址和内核路由等,最后在通信两端生成虚拟网卡。

虚拟隧道建立后,客户端和服务器端就可以通过虚拟隧道通信了。客户端与服务器端的通信过程为:

① 客户端的应用程序将数据通过TCP/IP协议栈发送到虚拟网卡TPA/TUN。

② Vtun从虚拟网卡读取数据包,虚线表示直接从虚拟网卡读取数据而不对数据进行处理。

③ 隧道封装。Vtun进程对读取的数据加密,然后通过建立的虚拟隧道将数据发送,发送使用物理网卡eth0。

④ 数据包路由过程。

⑤ 隧道解封过程。

⑥ Vtun将数据写到虚拟网卡。

⑦ 应用程序从虚拟网卡接收数据。

2.2.3 多网卡绑定

图6 bonding原理图

本系统使用的是Linux中的bonding技术进行多网卡绑定。bonding技术可以将多块网卡接口绑定虚拟成为一块网卡,从用户角度看这个聚集的虚拟网卡就像是一个单独的以太网接口设备。bonding原理如图6所示。

其中,eth0和eth1为实际的网卡,其MAC地址分别为MAC0和MAC1。Bond0为使用bonding技术后生成的虚拟网卡,其MAC地址为MAC2。bonding技术将eht0和eth1的MAC地址均设置为相同,这样Bond0从两张网卡收到的数据被视为来自同一网卡,达到流量聚合的目的。用户在使用过程中将把Bond0视为实际网卡。本系统在实际实现中绑定的网卡并非实际网卡,而是建立虚拟隧道中生成的虚拟网卡,具体过程将在系统实现中进行描述。bonding技术一共有7种模式,分别是轮询策略、主从备份策略、XOR策略、广播策略、IEEE 802.3ad动态链路聚合、自适应传输负载均衡以及自适应负载均衡。这7种模式适用于不同的传输环境,本系统选用的3G网卡设备以及运营商都相同,因此选择负载均衡模式。

3 系统实现

依据系统的模块设计和系统设计流程,主要介绍3G拨号和3G带宽聚合的实现过程。这两部分都是基于TMS320DM3730开发板实现的。

3.1 3G拨号实现

3G拨号利用PPP拨号程序实现,为了能在开发板上进行PPP拨号,编译内核时需要选择PPP选项,并且移植pppd拨号程序。PPP拨号原理如下:

① pppd程序首先调用chat会话程序;

② chat会话程序启动后,将进行拨号、启动服务器端的pppd程序以及验证身份,完成后chat会话程序结束;

③ 由pppd程序与服务器端的pppd程序进行握手,建立PPP连接。

连接建立、连接质量控制、网络层协议配置、连接终止等步骤由pppd程序完成。服务器端pppd的启动过程以及连接建立过程中的交互由chat程序完成。本系统中pppd程序调用的参数脚本写在ppp-on程序中,chat程序的交互参数写在ppp-on-dialer中。ppp-on配置文件略——编者注。

3.2 3G带宽聚合实现

3G带宽聚合通过3个步骤实现,以下过程均以两张网卡为例:

① 策略路由过程。通过shell命令在Linux系统中实现,命令略——编者注。

② 虚拟隧道建立过程。通过Vtun开源软件进行实现,实现过程主要是vtun.conf文件进行配置。客户端和服务器端内容基本一致,服务器端配置略——编者注。

③ 多网卡绑定过程。本系统使用Bond0模式,即负载均衡模式。由于已经建立了虚拟隧道,只用绑定客户端和服务器端的虚拟网卡,绑定成功后在客户端和服务器端各自再生成一个虚拟网卡Bond0,最终传输视频时使用这两张网卡进行通信。Bond的具体过程需要在系统文件添加配置文件etc/sysconfig/network-scripts/ifcfg-bond0,文件内容略——编者注。

3.3 视频传输过程实现

本系统利用GSstreamer进行视频采集、编解码、RTP传输以及播放,传输层使用UDP协议。GStreamer是一个开源的多媒体框架库,利用它可以构建一系列的媒体处理模块。GStreamer核心函数库是一个处理插件、数据流和媒体操作框架。利用管道技术,开发人员可以根据自己的需求编写相应的插件。DM3730开发板自带GStreamer,因此只需在服务器上安装相应插件。

4 系统测试

本系统测试开发板运行的嵌入式Linux系统内核版本为2.6.37,服务器端运行系统为ubuntu10.04,内核版本为2.6.32。测试环境位于学校教学楼,3G信号较弱。摄像头采集分辨率为720P,帧率设置为25 fps。摄像头保持固定,分别进行单张网卡传输和3张网卡绑定传输测试,并将测试结果进行对比,测试结果如图7所示。从中可以看出3张网卡绑定传输的传输质量明显好于单张网卡传输。

图7 测试结果对比图

结 语

针对高清实时视频通过3G网络传输带宽不足的问题,本系统设计并实现了一种基于TMS320DM3730处理器的视频传输系统,通过多块3G网卡的绑定,有效聚合了带宽,满足了视频传输过程中对带宽的需求。

[1] 林志勇,叶桦,孙晓洁,等.3G视频传输中码率自适应调整算法[J].东南大学学报:自然科学版, 2012(1).

[2] 王海婴,吕静,袁璐,等.基于3G无线网络的H.264视频包抗误码传输方案[J].北京邮电大学学报,2006,29(3):126-130.

[3] 孙丰岳,赵辉.基于3G的视频会议中图像质量的研究[J].电气电子教学学报,2011,33(6):49-51.

[4] Stockhammer T, Hannuksela M M.H.264/AVC Video for Wireless Transmission[J].Wireless Communications,2005,12(4):6-13.

[5] 秦臻,曹剑中.基于TMS320DM365的高速网络摄像机的设计[J].电子工程设计,2011,19(10):121-124.

[6] Wei Z,Tang K L,Ngan K N.Implementation of H.264 on Mobile Device[J].Consumer Electronics, 2007,53(3):1109-1116.

[7] 赵卓卓.基于H.264的无线视频传输系统的研究和方案实现[D].武汉:华中科技大学,2011.

[8] 章磊.带宽测量技术研究和MPEG-4自适应传输应用[D].上海:复旦大学,2005.

[9] 谢红华,陆以勤,吕锦.基于3G无线网络的高质量实时视频监视系统的设计[J].计算机应用研究,2007,24(10):313-317.

[10] 高曼颖,李明,胡瑞敏.基于RTP速率控制单元的无线视频传输控制[J].计算机应用研究,2005(5).

万云杰(硕士生),主要研究方向为3G视频多路并行传输。

安森美半导体推动物联网的连接性

安森美半导体(ON Semiconductor)推出全新的NCS3651x系列系统单芯片(SoC)收发器,支持高性能、可靠及高效通信,用于物联网(IoT)及智能电表应用。NCS3651x系列基于安森美半导体的高集成度混合信号集成器件技术和射频(RF)设计开发。

NCS3651x属于2.4 GHz极低功率无线收发器系列,基于IEEE 802.15.4-2006标准,支持ZigBee、6loWPAN、WirelessHART等协议及专有版本。这些方案最适用于智能电表及消费电器等涉及低数据率、间歇通信IoT的应用。所有器件经优化达到低功耗及高能效,使用一个标准电池(1.0~3.6 V)的单电源操作,具备极佳的低接收及传输电流。这促进了市场对替代能源方案的不断增长需求,如能量采集。此外,还可支持其他电池类型,且大幅延长了电池寿命。

NCS3651x采用强大的32位 ARM Cortex-M3处理器,以及多种数据存储的RAM配置和程序存储的闪存。完整的内存配置使客户可支持多种应用及软件协议。借助多种外围设备,使用最少的外部元件即可设计出完整的无线网络。

安森美半导体工业及时序产品副总裁Ryan Cameron说:“低功耗、强固及集成无线通信将是物联网及智能电表发挥巨大及令人兴奋潜力的关键。安森美半导体具备丰富的RF无线器件设计经验。配合我们广泛的混合信号及集成技术,可以开发出低功耗和高性能的通信产品。”

Wan Yunjie1,Zhang Lei1,Guo Xiao1,Hou fenghan2

(1.Institute of Communication Engineering,PLA University of Science and Technology,Nanjing 210007,China;2.Henan Polytechnic Institute)

Traditional 3G video transmission system improves the quality of video transmission through the optimization of encoding the video stream, packing or transmission control and so on. But the problem of lacking bandwidth has not been solved effectively. Using the existing technology of policy routing,virtual tunnel and bonding multicard,this paper proposes a design scheme of 3G video transmission system based on bandwidth aggregation technology, and gives the implementing process which is realized on the TMS320DM3730 development kit. Experiment results show that the system can aggregate 3G bandwidth effectively and improve the quality of the real-time video transmission.

3G;video transmission;bandwidth aggregation; policy routing;virtual tunnel; embedded system

TP368

A

士然

2014-07-20)

猜你喜欢

开发板服务器端网卡
Linux环境下基于Socket的数据传输软件设计
Server 2016网卡组合模式
基于Qt的安全即时通讯软件服务器端设计
浅析单片机开发板的设计与制作
基于Qt的网络聊天软件服务器端设计
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证
挑战Killer网卡Realtek网游专用Dragon网卡
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板
Arduino和Atmel发布Arduino Zero开发板