视频传输范文

时间:2023-03-26 01:10:20

导语:如何才能写好一篇视频传输,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

视频传输

篇1

依据产品系列的分类,主会场分为 五个大区。

数字接口系列区主要展示LIGHTWARE的明星产品EDID管理器,DVI、HDMI信号放大器等接口设备。并会在现场使用一台LIGHTWARE MX-8x8-DVI-PRO矩阵搭配Barco Encore系统进行联动演示。

双绞线延长器系列区主要展示LIGHTWARE双绞线延长器系列产品,包括最新的采用HDBaseT技术的TPS系列产品,现场演示了该系列仅使用单根双绞线传输3D/4K视频信号。近2年LIGHTWARE接连推出了多款针对3D、4K信号的全新产品,由于LIGHTWARE早在2007年的构架速率就已经达到12.6Gbit/s,所以在进行研发处理3D、4K信号设备的技术层面上来说,准备得相当充分。

混合模块化矩阵切换器系列区展示了一款33输入/输出的混合模块化矩阵,搭配不同的板卡,实现不同种类信号的输入、输出和快速切换。

光纤延长器系列区展示了LIGHTWARE的光纤延长器产品,有传统的单芯光纤延长器,也有当前世界独有的DisplayPort信号光纤延长解决方案并包含KVM功能。

篇2

【关键词】互联网;若干视频传输;关键技术分析

在网络技术以及多媒体技术的发展,面向互联网的视频传输无论是在视频会议还是远程监控中都有了较为广泛的应用,同时也影响了人们的生活。视频主要是借助人眼视觉暂留效应把静态图像通过一定的速率进行播放,进而形成了连续画面,若是不对数字化后的视频信号进行相关的压缩处理,则群无法进行有效传输,主要的原因为其传输带宽无法满足传输的要求。怎样在时变网络服务质量给用户提供较好的视频传输服务,依然是目前研究的重要课题,其相关技术也是研究重点。

1互联网的若干视频传输中存在的问题

当前面向互联网的视频传输技术在我国得到了广泛的应用,然而在移动智能设备、无线方式接入互联网的方式增多,则使网络服务质量的不稳定性频发以及视频发送存在问题,因此视频传输的稳定性以及灵活性、普适性有了新的要求。(1)互联网的视频传输纠错方法存在问题。在实际的应用中,因为丢包率等参数统计方法存在一定的时滞性,造成了FEC的设计存在不确定性,优化工作难以展开,造成纠错方法稳定性不足,进而导致接收端的视频质量得不到满足。然而如何在预测丢包率的前提下进行合理设计,使信道编码方案的冗余率得以降低,是提高纠错方法的重要环节。(2)在拥塞控制下的视频传输技术。对于视频数据而言,虽然其能够容忍丢包率,但是却对时延等QoS参数变得比较敏感,在互联网中,其拥塞控制是由TCP和网络设备(如路由器)所提供的,而在设计过程中也没有考虑到视频传输的特点。(3)对码率控制下的视频传输技术分析。码率控制可以有效使视频编码器的输出质量比较稳定,同时也能够满足网络服务质量,在当前各类视频编码标准的码率控制方法中,即使其将编码特性的时空相关性进行了有效分析和利用,但是在帧层,甚至是基本的单元层实现了优化的比特分配,其应用范围也逐渐广泛,并且使用Lagrangian优化技术之后,其失真性能得到了一定的改善。然而,在实际的应用中却没有充分考虑视频帧关于场景变换,其他的复杂度等这类因素,同时也没有合理结合视觉感知特征设计码率控制方法,导致若干视频传输依然是目前研究工作中的重点和难点。

2互联网的若干视频传输关键技术研究

2.1面向信道编码的纠错技术分析

视频编码器的存在主是为了提高视频的压缩效率,通常情况下是基于宏块的帧间预测,运动补偿技术来实现的,进而视频帧间的产解码依赖关系便会增强。在大量移动设备借助Wi-Fi、4G这类移动通信网接入了互联网,造成Rayleigh衰减以及网络拥塞等情况频发。为此对视频传输的可靠性、稳定性的相关要求则为更加严格。因此需要在实际的应用过程中对丢包事件进行建模,以加强视频帧与帧之间的联系,同时也借助数据分析加强纠错技术的应用,从而使视频传输更加快速。

2.2自适应遗传算法的纠错方法

这种计算方法主要是利用SVC平均失真计算方法,因为svc的时间具有可伸缩编码,其采用的主要是层级B帧编码技术,而时间分层中的低层重要作用是对高层的正确解码。若是低层数据发生丢失,随让解码器应用了错误隐藏的技术,但是最终也会扩散比较严重。也会将错误扩散至高层。因此在发生数据包丢失的事件时候,若是处于网络传输的环境下,通过计算SVC在传输的过程中因为丢包造成的失真对实现若干视频传输具有重要的作用。

2.3对拥塞控制的视频组播传输技术进行分析

为了进一步满足视频会议以及音/视频广播等的应用,甚至于网络游戏的应用,视频组播逐渐成为互联网中比较重要的应用之一,而与其相关的组播拥塞控制便是比较重要的分析内容。也成为当前一个非常重要的研究内容。为此能有效满足视频传输实时性要求的拥塞控制方法成为现阶段研究的重点内容之一。在当代比较典型的组播拥塞控制方法主要有以下几点:例如PIM以及MOSPF两种,其主要的内容为在计算发送端、接收端之间最短路由进行最小化组播树的代价,而若是多个组播组时同时存在的时候却无法保证了网络流量的均衡性。基于此研究组播拥塞控制方法,对维护互联网稳定运行,均衡网络负载以及提高视频传输可靠性的作用重大。现阶段主要应用在视频组播系统的组播拥塞控制方法为RLM、FLID-DL以及PGMCC等,因为其均没有对互联网或者视频数据编解码的加以分析和优化,进而没有办法完成完整的组播拥塞控制功能。因此人们在互联网中边缘路由器进行了设计,即优先级分组标记算法,另外也在核心路由器中导入了优先级区分的分组丢弃算法,即所谓的新分层组播拥塞控制方法,然而在实际的应用中此方法则是完全依赖路由器的支持,很难付诸实际并加以利用。除此之外也还能够利用可伸缩视频编码和跨层优化技术一起结合,将分层组播传输协议加以分析并且对拥塞控制的方法进行完善,此方法结合了物理层以及链路层、网络层的功能,实际的复杂度比较高,应用受到了极大的限制。因此在实际的应用中应该慎重选择,实现效果比较显著的则是多速率组播拥塞控制模型,这一模型岁数据的恢复具有一定的作用。

2.4对视觉感知的码率控制方法分析

此种方法主要是以宏块局部运动性为依据,将帧的活动度进行了定义,从而把视觉感知适当应用在可察觉失真中,并且基于SSIM的率失真模型,将视频帧中时间、空间存在的冗余进行消除。之后将BU层、帧层将的比特分配方案进行分析、设计,让其更加符合人眼的视觉感知特征,进而达到提高编码效率的目的。这种方法的提出不但使输出码流稳定性增加,同时也显著提高了码率控制的精以及视频的质量。

2.5对SMDP单播拥塞控制方法进行分析

这一方法的主要是通过分析每一个GOP传输后失真的期望值,并且将视频序列平均失真进行计算,并以此为基础把单播拥塞控制作为马尔科夫性质的离散过程,使用SMDP进行拥塞控制建模,同时计算相应的求解算法,借此优化拥塞控制参数,进而有效地提升了接收端视频的主观和客观质量。

3结束语

本文通过将互联网的视频传输进行研究,将其目前存在的进行分析,并且对纠错方法以及基于拥塞控制的视频传输技术这类内容加以分析,提出了相应的解决方法,进而达到若干视频高质量、高速度共同传输的目的。

参考文献

[1]田波.面向互联网的若干视频传输关键技术研究[D].广东工业大学,2014.

[2]毛年胜,卓力.基于H.264SVC的IP网络视频传输系统的实现[J].测控技术,2010,29(5):5~8.

[3]程振宇,张灿,和智涛,等.基于3G网络视频传输的一种QoS控制方法[J].中国科学院大学学报,2014,31(1):117~123.

[4]王峰,蔡敬菊,魏宇星,等.基于无线网络的实时视频传输系统的设计[J].微电子学与计算机,2012,29(5):58~61.

篇3

关键词:实时传输协议;实时传输控制协议;视频传输

中图分类号:TP393 文献标识码:A文章编号:1009-3044(2007)04-10969-02

1 引言

随着计算机技术、网络技术、视频压缩编码技术等关键技术的飞速发展,网络视频传输技术以其实时性和直观性等到了越来越多的重视。但是网络状况经常变化,在网络上实时传输音频/视频流,必须采取防止拥塞的措施,才能保证其服务质量QoS。

通常采用实时传输协议RTP来调整码流量来匹配网络带宽的变化,利用RTP协议的反馈信息来估计网络状态,然后根据评估的网络状态,调整发送端的传输率,以此来支持网络实时传输服务,提供多媒体数据传输的实时标准,实现自适应网络传输。

2 实时传输协议RTP

RTP协议实际上由实时传输协议RTP(Real-time Transport Protocol)和实时传输控制协议RTCP(Real-time Transport Control Protocol)两部分组成。RTP协议基于多播或单播网络为用户提供连续媒体数据的实时传输服务;RTCP协议是RTP协议的控制部分,用于实时监控数据传输质量,为系统提供拥塞控制和流控制。

由于RTP可以运载在任何协议之上,所以RTP协议的应用可以不仅仅局限在多媒体传输领域,还可以应用于其它领域。虽然在特殊领域应用RTP'协议只需在原来的基础上根据领域的特定应用做进一步限定,但到目前为止,除了一些研究项目以外,RTP协议主要还是应用于音频/视频传输方面。

3 视频数据的传输过程

3.1 媒体数据的分包策略

视频数据在进行网络传输之前,应首先进行数据包大小的分割。这是因为RTP协议通常是基于UDP协议的,而UDP协议对数据包的大小有规定,超过部分可能会丢掉,对于视频数据来说,某些压缩的关键帧很大,很可能超过UDP协议所规定的最大值;另外,媒体数据的关键帧与非关键帧数据量相差很远,而路由器一般都采用支持小包优先的原则,有可能使数据量较小的非关键帧比它前面的数据量大的关键帧更早地到达接收方,而导致乱序。因此媒体数据在进行传输前,要首先进行分包。

对于媒体数据的分包一般基于两个条件:(1)数据包大小的确定。主要根据提供网络带宽、多媒体类型和所采用的传输协议来确定;(2)尽量包含完整的数据块信息。主要和压缩编码方式有关。

3.2 数据包的发送过程

媒体数据的发送过程是将压缩编码器产生的数据流(压缩编码器按照固定的频率产生数据包)送到媒体缓冲区,经过容错处理后,交给RTP层对媒体数据重新组包,加上RTP包头,再送给下层进行传输(如图1所示)。

图1 媒体流的发送过程

媒体数据的发送过程分以下几步:

(1)判断是否有用户需求;

(2)若有,则将压缩编码产生的数据包放入网络传输缓冲区,进行容错处理后,交给RTP层;

(3)RTP层对媒体数据重新组织,加上RTP报文头,生成RTP报文交给下层;

(4)按照系统按定的IP地址发送给相应的用户。

3.3 数据包的接收过程

由于系统采用的传输协议是UDP协议,数据包在传输过程中,可能出现乱序,因此必须在接收方采用一定的措施进行数据接收。一个可行的方法是在接收方建立一个环行缓冲区队列,用于存储接收到的数据信息。其工作过程如图2所示,(a)为初始状态,(b)为接收到第一个数据包,(c)为接收到两个数据包,(d)为读走一个数据包。

图2 缓冲区工作过程

缓冲区队列设置两个指针pEmpty和pData,pEmpty指示环行缓冲区队列中第一个空缓冲区的位置,pData指示环行缓冲区队列第一个数据的位置。在通信前,各队列中的缓区的标志都为“空”,pEmpty指向环行缓冲区队列的队首,pData为空。通信开始后,系统将接收到的数据包存入pEmpty指针所指示的缓冲区中,将该缓冲区标志设置为“非空”,同时,将pEmpty指针移到下一个空缓冲区位置,媒体播放模块每取出一个数据包,就把pData指针指示的缓冲区标志重新设“空”,并将pData指针移到下一个数据缓冲区位置。

(1)接收算法

设置缓冲优先队列Q存放已接收到但还未处理的帧,优先数为帧所带的序号,设Q的元素集合为R,|R|=nQ,Q的容限为NQ(nQ

图3 缓冲区工作过程

其中:(1)为了保证实时性;(2)为了保证传输的不重复性;(3)中选择丢弃优先数最小的帧,能使队列中每一元素的处理时间都提前,这是为了保证实时性。

(2)取视频数据的算法

从缓冲区取数据采取步骤:

①找出缓冲区优先数最小的帧;

②将接收RTP报文的情况告知QoS监控器;

③在RTP层经过解包,去掉RTP报文头;

④送给上层播放;

⑤在缓冲区Q中删除该帧。

4 结束语

本文研究了RTP/UDP在流媒体领域得到了广泛的应用,探讨了其在视频实时传输过程中对视频数据分包策略以及传输过程的应用。网络视频传输的实现无疑会极大地开拓多媒体通信的应用领域,使网络信息更直观、更生动。在信息产业飞速发展的今天,视频等多媒体网络实时传输技术具有广阔的应用前景。

参考文献:

[1]Anthony Jones, Jim Ohlund.网络编程技术[M].北京:机械工业出版社,2000.

[2]Sandawi Tarek N.等著.远程通信网络基础[M],黄岩等译.北京:电子工业出版社,1996.

[3][美]斯坦伯姆著,曾华深等译. 计算机网络(第二版)[M].成都:成都科技大学出版社,1989.

篇4

相关技术简介

1 双绞线技术

双绞线是一种柔性的通信电缆,包含着成对的绝缘铜线,因为它具有抗干扰能力强、传输距离远、布线容易、价格低廉等许多优点,价格便宜,所以被广泛使用。由于双绞线对信号也存在着较大的衰减,所以传输距离远时,信号的频率不能太高,而高速信号如以太网则只能限制在100m以内。对于视频信号而言,带宽达到6MHz,如果直接在双绞线内传输,也会衰减很大,所以视频信号在双绞线上要实现远距离传输,必须进行放大和补偿,双绞线视频传输设备就是完成这种功能。加上一对双绞线视频收发设备后,可以将图像传输到1~2km。双绞线和双绞线视频传输设备价格都很便宜,不但没有增加系统造价,反而在距离增加时其造价与同轴电缆相比下降了许多。所以,监控系统中用双绞线进行传输具有明显的优势。

2 互导型放大器

互导型放大器(又称跨导型放大器)的输入信号是电压量,输出信号是电流量,其增益称为互导Gm。互导型放大器是一种电压/电流模式混合电路,由于其内部只有电压――电流变换级和电流传输级,而没有电压传输级,因此没有大摆幅电压信号和密勒倍增效应,从而具有频带宽、高频性能好及大信号转换速度高等特性。互导型放大器的电路结构简单,电源电压和功耗均得到了降低。

驱动电路采用互导型放大器将单端电压信号转成差分电流信号,通过电流环在双绞线上传输视频信号,接收端再把差分电流信号还原为单端电压信号。

3 MAX435和MAX436

在这里互导型放大器采用MAXIM公司的MAX435和MAX436作为双绞线视频信号电路驱动。MAX435和MAX436是一种新型高速、宽带的互导型放大器,其引脚排列如图1、图2所示。它们具有理想差分、高阻抗输入和电流输出等特点。由于这些独特的结构,该芯片能够提供精确增益,不用负反馈就能消除闭环相移。

设计与实现方法

1 电路设计

当传输距离小于1500m时,采用双绞线来传递基带视频信号也能获得很好的效果。和使用传统的同轴电缆相比,用双绞线传输信号时要注意两点:采用平衡(差分)传输以使共模噪声最小;恰当端接以使反射最小。由于MAX435和MAX436在10MHz时共模抑制比能达到53dB。而且输入输出阻抗又都很高,所以特别适用于这样的应用场合。

实际电路如图2所示。从图中看出,MAX435和MAX436组成双绞线视频传输电路的驱动器/接收器,只采用一个差分输出的MAX435即可驱动平衡双绞线(其输入信号以地为基准),从而省去了平衡变压器或两个单端输出驱动器。为了实现平衡到单端线路的变换,其接收器电路采用了单端输出的MAX436。IN+到IN-间的100Ω电阻器使线路的终端连接十分合理。互导网络(从z+到z-)不仅完成增益调节(+6dB)。而且还起到线路均衡的作用,从而提高接收器的高频增益。

在图3电路中,可以通过调整R1提高整体增益对欧姆损耗进行补偿来得到合适的亮度,通过调整C1(增添零/极点对以扩展频带)来获得最佳的色彩。由于调整是在接收器端进行的,所以用户可以在接收端一边观察屏幕一边调整R1和C1,从而得到最佳图像。

2 测试结果

图3(a)和图3(b)是从监视器屏幕上看到的调节前、后的视频脉冲波形。试验结果表明,当本电路用165m长的φ0.71mm防盗报警器用双绞线传送NTSC基带视频信号时,3.58MHz色同步信号的衰减约为6dB。虽有失真,但由于监视器对信号衰减具有自动均衡补偿(对色同步信号的衰减补偿可达10dB),故图像质量仍然很好,无明显彩色变淡或水平分辨率变差的现象。但若衰减量进一步增大,则色度和水平分辨率变差、难以看清显示的图文。

当本电路用长330m的电话双绞线在两幢大楼之间传送NTSC录像机视频信号时。图像质量良好。又故意在两根平衡的绞线上各加上图3(c)所示的50Hz的共模噪声电压进行试验,图像质量未受影响。

这是由于MAX436对60Hz信号具有60dB的共模抑制比,使这种噪声不致影响图像。如果用不平衡的单端方式来驱动电缆,则效果之差是可以预料的。虽然上述试验只用了NTSC视频信号,但本电路用于载波为4.43MHz的PAL制视频信号仍可取得相似的效果。

结论

在许多不要求电缆具有很宽的带宽的场合中,用双绞线代替昂贵的同轴电缆不仅可以降低线路的铺设成本,而且两根绞线感应的差分干扰电流可以互相抵消。只要采用适当的绞线,并在接收端的监视器进行阻抗匹配和自动增益补偿(目前大多数电视监视器都具有此功能),其传送基带(复合)视频信号的距离可远达1500kin,而且图像质量并不差,能够保证图像色彩、亮度、轮廓等基本无失真。

篇5

【关键词】802.11;视频传输;服务质量;包调度

1.引言

802.11协议组是国际电工电子工程学会(IEEE)为无线局域网(WLAN)络制定的标准[1],已经被广泛应用于企业、学校、酒店、商场等各种领域。实时视频业务是802.11网络所承载的重要业务数据类型。实时视频传输过程中随机的丢包会导致视频质量不可控的恶化,为了增加WLAN对QoS(quality of service,服务质量)的支持,802.11工作组在DCF(Distributed Coordination Function)协议的基础上引入了EDCA(Enhanced Distributed Channel Access)协议和HCCA(Hybrid Coordination Function Controlled Channel Access)协议。但是EDCA协议和HCCA协议并没有考虑视频包的内容,本文研究了以提高视频传输质量为最终目的MAC层队列调度算法。当网络资源受限时,该算法优先把网络资源分配给重要的视频包,最大程度的减少了视频传输的质量的恶化。

2.相关研究

EDCA协议在MAC层定义了四个优先级队列,分别是AC_VO、AC_VI、AC_BE和AC_BK,对应于语音业务流、视频业务流、数据业务流和背景流。Ksentini等[2]针对WLAN中带数据分割的H.264视频流的传输,提出一种跨层的传输框架(CL-ARCH,Cross-Layer Architecture)。CL-ARCH根据视频包的重要性,把不同类型的视频包分别映射到AC_VO,AC_VI和AC_BE。Chilamkurti等[3]提出了一种跨层的动态映射算法来提高H.264视频在WLAN网络中的传输。在这种动态算法中,MAC层调度器根据MAC层队列的长度和视频包的重要性,把视频包映射到三个不同的队列。在文献[4]中,作者提出了一种细粒度的优化映射算法,即根据视频包的优先级和当前的网络状态建立一个线性优化模型,并求解出最优的映射方案,进一步提出视频传输的质量。Du和Chen[5]提出了一种延时感知的传输框架(DATF,Deadline-aware Transmission Framework),DATF不尽进行了类型映射,还估计了每个视频包的传输延时并将可能超时的包主动丢弃。本文的主要创新是提出了一个低复杂度的包调度算法。基于M/M/1队列模型,该算法给每一个视频包引入一个附加延时,这个延时的值可以是正值或负值。正值表示增加了该包的延时,负值表示减少了它的延时。基于视频包的失真估计和当前的队列长度,调度器建立了一个以最小化失真为目标的优化函数,并通过求解函数获得每一个视频包的附加延时。

3.视频包的失真估计

如何简单而有效的度量视频包的重要性仍然是一个尚未解决的问题。传输失真估计往往需要在复杂度和精确度之间寻求平衡。本文使用了一种简单的方法估计传输失真。假设视频序列分割成很多个GOP(Group of Picture)单元,每个GOP包括一个I帧和若干个P帧或B帧。所有的视频帧可以分成参考帧(reference frame)和非参考帧(non-reference frame)。

首先,设非参考帧的传输失真定义为单位“1”,即D{F}=1。D{F}表示视频帧F的传输失真。参考帧的传输失真用递归公式D{Fj}=D{Fi(j,L)}+1计算,其中视频帧Fi(j,L)使用Fj作为它的参考帧。设Dmax是这个GOP中传输失真的最大值,则归一化的传输失真(记为d)定义为:

4.包调度算法

在用户节点开始启动退避计数器之前,调度器需要根据一定的调度规则从MAC层队列中挑选一个待发送的视频包。本文基于排队理论的分析,提出一种针对视频实时应用调度算法,该算法综合考虑了视频包的传输失真和当前的队列信息。

假设用户节点的MAC队列符合一个简单的M/M/1队列模型,且队列长度为L。设pi是当前队列中第i个视频包,是pi超时丢失的概率,i=1,2,L,L。为了保护重要的视频包,我们给每一个视频包引入了一个附加的额外延时,记为。特别强调的是,可以是一个正值,也可以是一个负值,且有。正值表示视频包延时的增加,而负值对应着视频包延时的减少。按照排队理论,有,式中表示deadline,和是两个常数。

此时,队列中所有视频包总的传输失真可以表示为:

(1)

式(1)中,di表示pi的传输失真。为了最小化dtotal,我们需要处理一个限制条件为的优化问题。使用Lagrangian法求解可得:

(2)

根据排队理论,有:

(3)

设表示队列长度的平均值,且E{L|L>1} ≈。把公式(3)代入(2)有:

(4)

篇6

关键词:FMS 跨平台 RTMP ffmpeg HLS

中图分类号:TN919.8 文献标识码:A 文章编号:1007-9416(2016)11-0106-02

1 系统整体方案

FMS(Flash Media Service)是Adobe公司出品的流媒体服务器,同时也是极具弹性的开发环境,它提供了强大的多用户、高质量音视频功能,自适应不同的带宽环境,可用于创建多样的交互多媒体网络应用。FMS除了大量应用于各类视频网站,对视频会议、视频监控、多媒体教学等领域,也都能提供方便优质的流媒体服务。目前国内一些厂商的多媒体服务平台也是基于FMS开发的。

然而,随着Android和IOS系统停止对flash的原生支持,实现一个跨平台的统一视频服务变得困难,往往需要从底层开始自主研发,成本高且通用性差。从FMS4.5版本之后开始支持的Http Dynamic Streaming技术针对苹果的HLS方案提出了基于HTTP的流媒体传输方案,增加了对HLS协议的支持,解决了移动端播放视频格式的问题,这为FMS服务于不同的终端提供了便捷的技术支持。

具体的PC客户端仍可采用Flex技术,方便地实现视频流的上传和播放,其中视频的上传利用rtmp协议,播放采用flash技术;针对移动端视频传输,向服务器推流也必须符合rtmp协议。在android和IOS系统要实现rtmp推流有多种技术方案可选,综合考虑开发成本和视频格式的统一性,本文主要介绍利用ffmpeg原生代码,并移植到android和IOS系统的解决方案。移动端的播放则借助HLS协议,最终实现跨平台的视频传输。

2 PC端采用flex技术实现视频传输

flex同为Adobe公司的产品,结合FMS进行开发尤为简便,但需要flash技术支持。这在台式电脑操作系统中不成问题,但运用在移动端需借助Adobe AIR技术较困难,考虑到兼容性等诸多因素,使用并不广泛,所以当前在移动端不建议采用。

PC端运用Flex结合FMS实现视频点播、直播的关键代码如下:

2.1 点播服务器上的视频文件

nc.connect("rtmp:// FMS服务器IP地址:端口号/PlayStreams路径");//连接FMS

ns=new NetStream(nc);

ns.play("视频文件名",0);

2.2 向服务器推流,用于直播

nc.connect("rtmp://FMS服务器IP地址:端口号/LiveStreams路径");//连接FMS

ns=new NetStream(nc);

ns.attachCamera(cam);//调用摄像头

ns.attachAudio(mic);//调用麦克风

ns.publish(“视频流名称”,"live");

2.3 播放直播流

nc.connect("rtmp://FMS服务器IP地址:端口号/LiveStreams路径");//连接FMS

ns=new NetStream(nc);

ns.play("视频流名称");//对应于视频流端的publish("视频流名称","live").

其中nc为NetConnection类型对象,用于连接FMS;ns为NetStream类型对象,代表视频流。

3 移动端实现视频

利用FMS作为视频服务器,要求视频推流符合RTMP协议。在移动端有多种开发库可以实现,例如商业上应用比较多的vitamio、ijkplayer、ffplayer等,本质上它们都是基于ffmpeg的开源项目。直接使用这些开发库,开发周期短难度低,但技术上总受到诸多限制。所以本文介绍直接使用FFMPEG实现视频处理,而后移植到移动端操作系统中的开发方法,更加灵活可控。

3.1 ffmpeg推流

ffmpeg实现视频推流首先需指定协议,然后向服务器写入视频数据。核心函数如下:

avformat_alloc_output_context2(&outfmt_ctx, NULL, "flv", out_filename); //初始化outfmt_ctx

avformat_write_header(outfmt_ctx, NULL); //写文件头

av_interleaved_write_frame(outfmt_ctx, &pkt); //写帧,需循环执行

av_write_trailer(outfmt_ctx); //写文件尾

其中outfmt_ctx为AVFormatContext类型指针,pkt为AVPacket类型结构体, out_filename为FMS服务器地址,型如 rtmp://0.0.0.0/…/livestream。

若要从设备的摄像头和麦克风采集音视频数据,则程序需要包含libavdevice/avdevice.h文件,并利用其提供的函数实现功能。

3.2 ffmepg在android上的移植

ffmpeg用C语言编写,在android平台中使用,需先编译成.so文件,然后通过JNI(Java Native Interface)调用,JNI技术允许Java代码和其他语言写的代码(C&C++)进行交互。

编译ffmpeg可采用android NDK(Native Development Kit)编译,或在Linux操作系统中(ubuntu)直接做交叉编译。编译成功将得到libffmpeg.so、libavfilter.so、libavcodec.so、 libavfomat.so、libavdevice.so、libavuntil.so、libpostproc.so等文件。

将上述.so文件和头文件导入自己的工程中,并编写自己的C文件调用相关功能,然后配置安卓makefile文件Android.mk。在java程序中使用native?functionname(…);格式调用C文件中自己编写的函数。

3.3 ffmepg在苹果系统上的移植

3.3.1 在mac os下使用ffmpeg

在mac os下使用ffmpeg比较简单,可以直接安装。若系统已经安装好brew,只需在终端输入命令:brew install ffmpeg,等待安装结束即可。安装成功后,可使用命令行来操作,或在程序中调用。

3.3.2 编译在iOS下使用的ffmpeg library库 .m文件中调用

编译在iOS下使用的ffmpeg需使用build-ffmpeg.sh脚本文件,网上也有很多一键编译的脚本提供下载使用。但如果需要根据自己的需求对ffmpeg做相应剪裁和指定编译环境,则需要自己定制configure文件。

编译成功后,将生成我们需要的libavfilter.a、libavcodec.a、libavfomat.a、libavdevice.a、libavuntil.a 等.a静态库。如果没有指定编译环境,一般都支持armv7、armv7s、i386、x86_64、arm64等多个架构。

将编译好的静态库拖到xcode工程中,并在自己的.m文件中添加头文件引用:#include "avformat.h",就可以使用library库了。

4 移动端视频播放

在FMS4.5之前未支持HLS,实现移动端的视频播放需要rtmp协议支持,仍可采用移植ffmpeg的方法,也可利用上文提到的Vitamio等开发库。而当FMS高版本支持先进的HLS协议之后我们有了更好的选择,由于HLS数据通过HTTP协议传输,所以不用考虑防火墙或者的问题,而且分段文件的时长很短,客户端可以很快的选择和切换码率以适应不同带宽条件下的播放。

事实上,上文提到的视频开发库都同时支持rtmp协议和HLS技术。另一方面,因为现在版本的android和IOS及其浏览器都已经支持HTML5标准,在HTML5中播放HLS视频也可以非常简单的使用其video标签,所以对于客户端使用浏览器的场合,HLS视频格式显然是首选方案。而对于使用APP的客户端,不管是android还是IOS,如果想利用HTML5编写应用,除了使用开发库,还可以采用高效的混合开发方式。使用方法如下:

从播放效果看,苹果的safari运行良好,android系统还不是完全稳定,适配率不高,这和操作系统版本及使用的浏览器有关。

5 结语

经过十几年的快速发展,流媒体技术方案己经非常多样且不断发展。本文针对视频传输的跨平台需求,主要介绍了基于FMS服务器和ffmpeg移植的技术方案,实现了一个从技术难度到开发成本都相对合适的视频传输、播放系统,且能在不同带宽条件下实现视频传输质量最优。本系统可在PC、android和ios之间实现视频交互,运行效果良好,为各类应用需求提供了优质的解决方案。

参考文献

[1]何圆圆,何凯.基于FFmpeg的H.264视频解码器的研究与实现[J].电脑知识与技术,2012.

[2]刘仕坤.手机平台JavaScript语言解释器设计与实现[D].中南大学,2009.

[3]周永健.基于FLEX+FMS远程交互视频教学系统与实现[D].四川师范大学,2010.

篇7

关键词 数字图像处理,闭路电视图像传输,ATM 宽带异步传输模式

1  引言

上海轨道交通3 号线(明珠线) 闭路电视监控系统能提供行车调度人员对站台人流、列车开关门情况和站厅出入口等重要区域的图像进行实时观察、监视和控制,以便对敏感事件进行快速反应,确保轨道交通运营中设备和乘客人身安全及消防应急安全。各站图像除由本站行车值班员监视外,还传送至控制中心,供CCR(中央控制中心) 调度人员(总调、列调和环调) 监视,从而实现图像的远程监控。

传统的远距离监控系统,图像一般采用光缆或电缆传输,易受距离和线路的影响,且造价极高。近年来,随着数字视频压缩技术和基于ATM 的宽带综合业务数据网的迅速发展,图像传输也由模拟方式发展为数字传输,并广泛应用。上海轨道交通3 号线闭路电视监控图像传输系统采用数字图像远程传输,即ATM + H. 261 的方式。

2  3 号线数字图像远程传输的特点

2. 1  不同的图像传输方式的特点

轨道交通闭路电视监控系统中车站数量多、图像传输距离长,且必须将车站图像信号不失真地传输至控制中心。在模拟传输过程中,视频信号对传输距离和转换环节的增加十分敏感,当传输距离大于1 000 m 时,信号易产生衰耗、畸变、群延时,易受干扰和噪声积累而使接收端图像质量下降。

上海轨道交通1 号线(地铁1 号线) 图像采用光纤传输方式,各车站的视频信号经调频调制后合成为一路复合信号,经光纤、光发送器、光接收器完成图像实时传输; 每4 个车站为一组占用一根光纤,控制信号经PCM 通道传送。这种传输方式由于车站摄像机数量多,控制中心输出监视器数目较少,采用传统模拟视频监控方式以点对点进行图像传输时,大大增加了两端的视频调制和解调设备, 工程布线量极大,极不经济,且浪费大量的带宽。

而采用数字方式传输视频信号则能克服模拟闭路电视图像传输的局限性,其优点是:

(1) 可以多次再生中继,不会因距离的增加而引起噪声的积累;

(2) 采用数字压缩编码技术,使图像信号在所需码率以下,仍保持一定的图像质量;

(3) 采用数字的信道编码技术,信号不易受干扰;

(4) 可以采用大规模集成电路,制成的设备体积小、成本低、可靠性高,易于调试维修。

2. 2  3 号线数字图像远程传输的特点

3 号线数字图像远程传输通过ATM 宽带异步传输方式,将车站的摄像机视频信号转化成数字压缩信号传输至控制中心。其所采用的视频压缩标准是H. 261(ITU -T) 。控制中心根据各调度发出的控制切换信号将输入的ATM 数字信号经光纤传输分配到指定的8 台监视器上。由于视频数据通信属于实时传输,必须实时处理,如实时压缩、解压像传输时由于数码率带宽太高,必须尽量减少其速缩、传输和同步,故数字视频远程监控系统具有实率,并在重现时尽量保持图像质量,故必须对视频时性、分布性和同步性的特点。其关键技术是视频信号进行压缩。例如,可视电话的视频信号不经压压缩技术和ATM 图像传输技术。缩,则需要140 MbitΠs 的速率,相当于2 000 路数字

2. 2. 1  视频图像编码压缩标准电话;如压缩到64 kbitΠs 时,只相当于1 路数字电视频图像具有真实、生动、直观的特点,但由于话。视频信息量巨大,所占用的频带较宽,通常一路模目前常用的视频编码压缩标准如表1 所示。拟彩色电视信号需占6 -8MHz 的模拟带宽。在图H. 261 是ITU -T 于1990 年通过的

表1  常用的视频编码压缩标准

“H. 261 3 64 kbitΠs 视听业务用的视频编解码”标准,其中P = 1 ,2 , ?,30 。它将图像分解成非重叠的8 3 8 像素方块,采用离散余弦变换的正交变换(DCT) 的方法,主要是通过减少每帧图像时间上和空间上的冗余性和相关性信息来减少数据量。H. 261 适合在64~384 kbitΠs 的低带宽下传输实时视频图像。

2. 2. 2  ATM 异步传输模式

ATM 异步传输模式是由CCITT(ITU -T 前身) 提出的实现宽带综合业务数字网(B -ISDN) 的核心技术。它是分组交换和电路交换的结合,既有分组交换时线路利用率高的特点,又具有电路交换时快速交换的优点。

ATM 不仅用于复用,也可用于交换。ATM 传送的信息以信元为单位,时隙安排非常灵活,带宽可动态分配。ATM 的工作方式是面向连接的, 采用统计复用方式,带宽将视当前的要求在不同的用户之间灵活分配,极大地提高了带宽利用率; 同时能保障不同业务的服务质量,如肯定的延迟,信息丢失率等。

在远程图像监控系统中,视频业务需要高带宽来保证图像质量,而ATM 技术完全能满足通信系统对综合业务承载以及服务质量的要求。图为ATM 允许对视频用户传输的各种业务按照CBR (固定比特率业务) 、VBR( 可变比特率业务) 、ABR (可用比特率业务) 以及UBR(未知比特率业务) 等进行分类,对其服务质量进行分别设定和控制,而实时的视频非常适合CBR 的业务类型。ATM 的这些技术特性,满足了其在轨道交通远程图像监控系统中的应用。

3  3 号线远程图像传输系统

3 号线共有19 个车站, 远程图像传输采用ATM 异步传输方式,视频压缩方式为H. 261 标准。系统采用上海贝尔公司生产的基于DAS( 分布式ATM 变换) 技术的传输交换设备,主要由传输变换模式、视频接入模块和网管控制模块组成。系统传输网络拓扑图详见图1 。

3. 1  车站ATM 子系统

各车站分别设置DAS 机箱一个, 其中包括4 块视频输入模块DAS 405 和一块ATM 传输交换模块DAS 414 , 详见图2 所示。

在车站,送往控制中心的模拟视频(摄像机) 信号送入ATM 摄像机板DAS 405 的视频输入端,视频接入模块采用的是H. 261 编解码设备。模拟视频信号按H. 261 视频压缩标准转换成数字信号并被压缩,形成速率为64 kbitΠs 的码流,然后这个视频信号流被打包转换为ATM 信号,接入ATM 传输交换网络。其中板内交换元件SE 提供通往ATM 底板的入口。控制信号通过RS 485 接口,经解码后可实现 频输入模块DAS 406 、网络控制模块DAS 420 和摄像机及云台的远程控制。 ATM 传输交换模块DAS 414 。详见图3 所示。

3. 2  控制中心ATM 系统

在控制中心设置DAS 机箱一个,其中包括视

图1  3 号线图像传输系统网络拓扑

图2  3 号线监控系统车站网点配置图

(1) ATM 信元流经DAS 406 监视器板上的SE 交换元件从复用状态分解还原,ATM 信元被解包成压缩视频信号。此压缩视频信号流被实时解开, 被转换成模拟视频信号。监视器板DAS 406 的功能是与摄像机板DAS 405 配合,共同进行ATM 网络上的视频信号传输的。

(2) 传输交换模块DAS 414 是系统的核心,它 能实现ATM 信元在双向光纤155 MbitΠs SONETΠ SDH 线路上的插入和引出,并提供各种数字接口, 实现系统内部连接以及节点之间的组网。使用一个STM -1 环网即可满足传输带宽的需要。ATM 接口在系统底板处提供一个双向、连续的信元流。所有的控制、监控和配置均通过ATM 反向通路由所谓的“ForeMe”ATM 信元执行,无需额外的控制总线接口。 议处理功能、信令功能和网络管理功能等各项功传输交换模块可实现交换功能、连接功能、监 能。视统计功能、流量控制功能、拥塞控制功能、高层协

图3  3 号线监控系统控制中心网点配置图

CCR 各位调度员通过控制键盘发出控制信号, 串行控制流经RS 485 接口送入所选车站的目标摄像机工作板上的摄像机控制接口,经解码后控制目标摄橡机及云台;在控制中心,视频码流经过视频输出模块被还原,并被转换成模拟视频信号,通过监视器输出,从而实现摄像机及云台的远程监控。

3. 3  ATM 网管控制系统

ATM 综合传输系统的系统配置和状态监视由网管控制台实现。外部网管接口使AAL5ΠIPΠOSIΠCMIP 标准协议。网络控制板DAS 420 是一个以PC 机为基础的平台,通过DAS 420 的ATM 底板接口可传送和接收ATM 信元及AAL5 适配层的帧,来直接实施网络的接入。基于Windows 的网管软件与其共同完成整个网络的实时管理和状态监视。系统还提供电子地图,供控制人员任意调看各车站的摄像机画面显示在指定的监视器上,进行图像自动循环扫描及模拟控制键盘对远程摄像机进行遥控。

4  结论和建议

(1) 采用ATM 进行数字视频传输,充分发挥了其按需分配带宽、按需连接的特点,只有控制中心调看图像时,才占用传输带宽。因此,视频传输所需的带宽仅与控制中心监视器的数量有关,而与摄像机数目无关。即大量的摄像机信号并不消耗带宽,在保证图像质量的情况下,能大大节省带宽资源,并为今后系统的扩展和升级留有较多的余量。

(2) 由于采用数字视频压缩技术,模拟视频信号经压缩后速率大大降低,极大地提高了频带宽度利用率,而且能够同时保持实时电视监视系统的低等待时间和高质量。由于3 号线采用的H. 261 标准属第一代视频压缩算法,适于在64~384 kbitΠs 的低带宽下实时图像传输,图像质量有待提高; 而新一代的MPEG-2 压缩标准能保证在几乎感觉不到质量损失的情况下, 将视频传输速率降低到4 MbitΠs , 具有出色的图像品质。MPEG-2 可以在保证在ATM 上传送的大型、高速视频流完整性的同时,消除技术障碍。未来的上海轨道交通5 号线(莘闵线) 数字图像传输系统即采用MPEG-2 压缩标准。

(3)ATM 结构简单灵活,支持各种带宽通信网络,能把网络中所有的信息集中到几个中央控制室。通过不同网络中传输的视频、音频和数据,对系统各个部分资源进行控制和管理, 实现资源共享。

参 考 文 献

篇8

为适应这一新的发展方向,数字视频网络的领先提供商BigBand Networks日前宣布推出一款融合视频交换(CVEx)平台,这种智能软件控制平台提供了一种通过网络边缘向传统MPEG机顶盒(STB)以及下一代IP设备上传送并管理线性和非线性视频服务的统一方案。旨在满足服务提供商对融合视频传送的需求,提高频谱效率,在满足当前如高标清同播这样的应用需求的同时,也为向未来的融合网络过渡提供了理想的发展道路。

CVEx平台是业界第一个解决了RF视频服务和IP视频服务这两个完全不同类型视频服务统一管理问题的平台,它通过一个独立的带宽分配池动态分配资源给不同类型的视频服务,同时提供查看服务使用和资源利用情况的可视化界面。运营商正在逐步取消用于个人服务的专用带宽,如视频点播(VOD)、交换数字视频(SDV)和IPTV,该软件恰好可以提供一个统一控制平台,并同步提高频谱利用率。CVEx可支持多种行业标准协议和第三方应用接口,并且支持与CMTS架构的集成。

在融合视频环境中,部署统一的控制平面将满足多播和单播会话请求所需的高传输率和快速响应需求。随着运营商不断增加服务并采用网络机顶盒指南功能,性能、可靠性和冗余性将变得日益重要。BigBand Networks提供的全冗余会话管理器可以满足SDV极高会话处理率的需求。这使得BigBand Networks处于行业领先地位,也为提供CVEx做好了充分准备。目前,BigBand解决方案每年在超过2400万户家庭进行数十亿次实时处理。

BigBand Networks公司首席运营官David W. Heard指出:“向无缝传送视频至多个网络的下一代网络过渡带来了更多复杂性。通过我们的智能软件控制平面将视频统一起来,CVEx有助于将目前的架构转变成一个真正的融合视频解决方案,传送给任意设备。因此,将来不管是有线还是无线,传统的或下一代IP都不是问题。我们的工作就是为我们的客户提供一个更加简单灵活的视频传输解决方案。随时随地为多种设备提供高质量的视频体验。”

融合视频传送方式可满足市场需求

运营商希望进一步发展他们的网络,从而以高性能和高可靠性实现向多种终端快速无缝传送现有的和特殊需求的服务。CVEx将为多播和单播服务创建一个视频一体化战略,以支持融合视频传送发展战略。

CVEx平台具有以下全新特性:

提供一个通用界面和单一方案,实现快速部署并确保在传统的MPEG机顶盒和下一代IP设备上实现高质量视频服务体验。这些设备包括个人电脑、电视机乃至移动设备;

可按需对带宽资源进行会聚并重新分配;

提供用户和视频服务考量工具,在多个数据平面提供对节目和服务行为、网络资源使用情况和“假设”情景规划的全面可视化界面。

篇9

【关键词】 Android 视频文件 传输 处理

一、视频自适应算法框架

基于Android视频文件传输的自适应算法是根据网络环境下传输实时视频数据而提出的一种算法[1]。在进行视屏文件传输时,通过对网络进行探测以及对反馈信息的分析二实现基于Android视频传输的自适应控制,该自适应算法的实现主要从4个方面进行:(1)Android系统接受包含视频数据的时间戳、发送序号、状态值等网络信息的视频数据,参考实时传输协议RTP进行打包传输。(2)Android系统在接受到视频数据包之后,通过解包获取数据信息以及当前的网络状态,并反馈控制策略,同时计算数据包的丢失率以及带宽瓶颈等参数,然后参考实时参数协议RTCP进行打包然后反馈给视频数据的发送端。(3)Android系统通过利用TCP友好速率控制算法来计算网络的实时带宽,然后利用视频自适应算法来实现平滑的视频数据传输,降低TCP的AIMD算法所带来的带宽波动。(4)Android系统根据调整以后的数据接收速率对视频数据包进行接收。

基于Android视频传输的自适应算法首先要根据接收的新型进行RTCP分析,病对分组丢失的统计规律、分组延迟抖动以及信息传输所消耗的时间进行计算,然后对网络状态进行估计以判断是否需要对带宽进行调整。另外还要根据当前网络的状况对视频传输的带宽进行适当的调整。

二、TFRC算法

TCP友好速率控制算法能够根据网络状态对数据流速率进行调整,实现控制网络拥塞状况的目的,它是基于速率的拥塞控制算法。TFRC吞吐量变化较为稳定,波动较小,主要适用于电话、流媒体等对信号传输稳定性要求较高的应用。TFRC算法的基础是TCP稳态速率模型,该模型给出了TCP在网络处于拥塞避免阶段时的跑平均发送速率。

TFRC稳态速率公式如下:

上面公式中的s代表TCP报文的大小;p是包的丢失率;t0是数据报文超时时间;tRTT是数据报文环路时间;b表示一个应答所接收到的报文数量。通过该公式能够计算出传输数据流的稳态接收速率B(p)。

从上面的公式能够看出对传输数据流的稳态接收速率影响最大的是数据包的丢失率。数据包的丢失率主要分为3个步骤,分别为初始化参数列表,丢失率的判断以及丢失率的计算。

三、基于Android平台的视频自适应传输算法

考虑到目前Android智能手机的性能以及网络状况,视频自适应算法通过将TFRC算法以及视频编码算法结合,实现视屏编码的动态调整和发送。当发现当前网络出现拥塞后,Android系统会对视频数据的接受策略进行自动调整,保证视频传输的稳定性[2]。如果网络出现长时间的拥塞,视频自适应算法的表现就是在最初阶段出现较大的丢包率,随后通过算法的调整,逐渐适应网络拥塞的环境,丢包率也会逐渐降低,保证视频传输的流畅性。

通过与TCP基于AIMD窗口控制算法相比较,视频自适应算法采用了更为缓和的速率变化控制策略,既降低与TCP流之间的影响,又使数据传输速率变得更加稳定,有效的实现了视频文件的稳定传输,同时还保证了视频的传输质量。

四、总结

本文提出了一种基于Android智能手机视频传输的自适应算法,该算法能够对网络带宽进行实时动态探测,自动适应当前的网络拥塞状况,并通过利用TFRC算法制定出平滑的数据传输带宽,根据实时的带宽对视频的编码以及传输速率进行控制,有效的提高了视频文件的传输质量,改善用户的使用体验,该自适应算法具有较高的应用价值。

参 考 文 献

篇10

关键词:HDMI;硬件编码;无线传输;H264

中图分类号:TN926+.24;TP393 文献标识码:A 文章编号:2095-1302(2017)01-00-03

0 引 言

在当前物联网技术浪潮的推动下,物与物相连的需求快速增长,而多媒体信息特别是视频信息因其数据量大的特点,一直是通信领域的研究热点。在应用方面,智能家居、智能会议室、智能教学等系统得到了不断推广,而音视频的局域网内传输技术始终扮演着智能系统的重要角色。虽然传统的有线传输方式能提供高质量的音视频传输效果,但在实际应用中人们常常囿于布线困难,因而提出无线传输的需求。目前,市场上的音频无线传输方案已经相对成熟,其媒介选择有U段无线、WiFi、蓝牙等。相比而言,无线视频的发展相对缓慢,因为其开发难度和开发成本都相对较大。尽管如此,无线视频的需求依然是市场的热点。比如安防专用的摄像头无线监控系统,拍摄专用的无人机拍摄无线传输系统,教学或会议专用的无线视频投影应用等。

无线视频传输应用中的视频源和接收端在不同场景中各有不同。例如教学或会议中的无线投影,其视频源可来自个人电脑的HDMI输出或VGA输出,接收端则一般是投影仪的HDMI端口或VGA端口。由于HDMI标准对高清视频的支持较好,因此在高质量视频传输中,研究HDMI视频流的无线传输方案具有很好的应用价值。

对于视频数据,未经压缩的原始视频数据量是无线传输难以承受的,尤其对于高清晰度视频,大数据量的无线传输将导致系统传输方案的成本大大增加[1]。因此对HDMI视频流的无线传输必须引入合适的编码方案,平衡编码效果和无线通信容量之间的矛盾,达到低延时的播放效果[2]。为解决上述问题,本文采用S5PV210处理器,以ADV7611接收HDMI视频流,然后通过硬件编码器进行视频编码,再由处理器打包无线发送;接收端接收到视频数据后解码视频,并由HDMI接口输出。

1 系统整体硬件方案设计

图 1所示为高清视频无线传输的系统原理及实现结构图。系统分为发送端和接收端两部分,这两部分是独立的系统,可以使用一个发送端和一个接收端进行一对一工作,也可以使用一个发送端和多个接收端同时工作,或者多个发送端和一个接收端分时连接工作,这些都可以在软件应用层实现。底层的编解码和无线通信架构相同,为了描述方便,在此以一个发送端对一个接收端作为描述实例。

由图1可知,发送端包括视频接收前端模块和编码发送模块。视频接收前端主要由ADV7611实现HDMI视频流的输入,并将视频数据转为YCbCr信号,通过板上总线传输到编码发送模块。编码发送模块主要是S5PV210处理器,通过处理器内部的多格式编解码器(Multi Format Codec,MFC)对视频进行压缩。压缩后的视频由RTP协议发送,通过物理层WiFi实时传输到接收端[3]。解码端将视频流解码,获取LCD设备的缓存区视频流数据,将HDMI流以HDMI流媒体的形式输出。

在应用方面,上述系统的发送端通过HDMI接口接收电脑或视频播放器等视频源的输出,而接收端也通过HDMI接口连接投影仪或显示器等设备,实现HDMI视频流的无线传输。

2 系统软件设计

2.1 系统配置

系统配置包含Linux系统内核配置与对ADV7611的配置。根据系统需求,ADV7611与S5PV210之间以ITU601的格式传输视频数据,因此在Linux内核中需要修改视频输入驱动为ITU601格式,并设置好YCbCr数据的顺序格式,例如CbYCrY等。这两个参数在内核中的结构体s2c_platform_camera定义。对ADV7611的寄存器配置则是在应用程序中通过I2C驱动实现,具体参数可根据需求按芯片文档说明设定。

2.2 视频编码

为了实现大数据量高清视频的无线传输,平衡视频效果和无线通信容量之间的矛盾,系统对HDMI接收器得到的视频流进行实时压缩,通过减少和去除冗余视频数据的方式,达到可靠发送的目的[4]。为了达到低延时的播放效果,可以充分利用S5PV210中集成的MFC硬件编码模块,以减轻处理器的计算量。MFC是ARM微处理器内部一种支持多种硬件编码方式的硬件电路,视频编码支持 MPEG-4、H.263以及H.264,分辨率可达到1 080P@30fps。本文选用H.264的编码方式。

图 2所示为MFC硬件编码流程图。MFC硬件编码在程序实现中定义了三个函数,分别为初始化函数,执行函数和句柄放函数,利用这三个函数即可实现整套编码操作。初始化函数的作用是对整个MFC的参数进行设置。打开设备节点,进行内存到应用的内存映射,初始化关于MFC设备的结构体,并提供相应的参数,把_MFCLIB_H264_ENC参数传入MFC跟深层次的结构体当中,通过ioctl函数把参数传入内核。

初始化MFC之后读取视频流,得到输入图像的地址缓冲指针,等待缓冲区成像数据。成像后读取一帧视频数据,并将这一帧数据放入MFC编码,第一次的编码需要传入配置参数。编码完成后得到H.264编码格式的网络提取层(Network Abstraction Layer,NAL)数据。因为系统采用RTP协议进行网络数据传输,对于一帧图像的NAL数据需要根据RTP网络数据的帧长度进行分片,分片后的视频数据添加载荷头FU-A打包,添加RTP包头并向客户端发送一帧视频数据。之后系统重新读取一帧视频数据再进行MFC编码。

为了方便描述没有显示编码过程的退出机制,实际程序中根据具体需求以合适的方式退出编码,释放句柄,解除映射。

2.3 无线传输

编码后的视频以RTP协议在局域网传输。为了实现点对点或点对多点的视频传输,发送端利用WiFi网卡实现软接入点的功能。因此多个接收端可以同时连接到发送端的接入点,从而访问RTP服务获得视频数据。对于多个发送端对一个接收端的情况,可以设定接收端为WiFi接入点,发送端连接到接收端再进行数据传输,但是在应用中各发送端只能以时分复用的形式将数据发送到接收端。

2.4 视频解码

解码器对发送来的H.264等压缩格式的视频数据包进行实时解码,通过采用相应的解压缩算法还原视频的高清晰度,转化为可播放的非压缩视频流格式。FFMPEG是一个集音视频编解码在内的多种功能为一体的开源解决方案,支持H.264在内的40多种编码和70多种解码[5]。解码端利用FFMPEG旖饴耄主要涉及libavcodec库、libswscale库和libavformat库[6]。视频数据流解码流程:由ByteIOContext表示的广义输入文件,在AVStream提供的特定文件容器流信息的指引下,用AVInputFormat接口的read_packet()函数读取完整的一帧数据,分别放到音频或视频PacketQueue队列中,这部分功能由独立的解码线程完成。对于视频数据,视频处理线程不停从视频PacketQueue 队列中取出视频帧,调用AVCodec接口的decode()函数解码视频帧,在适当延时后做颜色空间转化并调用显示输出函数库显示出来。

3 功能测试

为了验证系统的功能和效果,本节搭建一发一收的演示系统,其实物图如图3所示。

发送端由ADV7611的视频前端测试板接收笔记本电脑输出的HDMI视频流,然后通过ITU-R.BT601标准接口将转码得到的YCbCr数据传输到S5PV210开发板进行硬件编码。发送端S5PV210开发板配置了WiFi的软接入点,并与接收端建立无线连接,同时开启视频RTP传输服务,支持编码后的视频数据发送服务。

接收端硬件只需提供WiFi网卡和HDMI视频输出接口。接收端处理器通过网卡连接到发送端接入点,然后由RTP客户端软件获取发送端的视频数据,将视频数据解码后由HDMI接口输出。

由图3可知,笔记本电脑直接复制屏幕并输出到HDMI接口;HDMI接口的视频流输入发送端S5PV210开发板;S5PV210开发板将视频压缩编码后通过无线连接发送给接收端;接收端将视频解码输出到HDMI接口,并最终输出到显示器显示。

4 结 语

本文针对HDMI视频流给出了一种无线视频传输系统的设计方案。该方案将传输系统分为发送端和接收端两个独立模块,可以灵活配置为一发一收、一发多收、多发一收等应用场景。系统采用硬件编码的方式实现了在无线传输条件下的视频清晰度和视频传输延时的优化。针对该方案,可以从进一步提高视频清晰度着手,因为S5PV210的硬件编码模块在1 080P的输入分辨率时最高支持的帧率为30 fps,而很多高清视频源可达50/60 fps。因此可以在帧率提高方面进行研究,或对更高分辨率如2 160 P的视频处理进行研究。

参考文献

[1]马思伟.AVS视频编码标准技术回顾及最新进展[J].计算机研究与发展,2015,52 (1):27-37.

[2]CHIEN S Y, HUANG Y W, CHEN C Y, et al. Hardware architecture design of video compression for multimedia communication systems[J]. IEEE Communications Magazine, 2005, 43(8): 122-131.

[3]胡东,黄辰,朱文杰,等.基于H264的智能家居视频监控系统的设计与实现[J].物联网技术,2016,6(2):25-26.

[4]樊晓平,熊哲源,陈志杰,等.无线多媒体传感器网络视频编码研究[J].通信学报,2011,32(9):137-146.

[5]杨德伟,易善强,王华.基于ARM和WiFi的无线视频传输实验系统[J].实验室研究与探索,2014,33(10):156-161.

[6]王刚,毛剑飞,田青,等.基于ARM11的无线视频监控系统[J].计算机系统应用,2011,20 (8):18-22.