基于Android平台的实时音视频无线传输系统探析

基于Android平台的实时音视频无线传输系统探析

深圳市晟江科技有限公司518000

摘要:无线宽带技术在科技的带动下迅速发展,网络通信也逐渐普及。利用移动智能终端可以进行相应的会话,这对商务人士来说是一种迫切的需求。立足于安卓智能终端,并对音视频传输系统进行设计,给后期移动终端多媒体会议系统的开发提供重要的参考依据,让系统的各项性能均可以得到保证,并对相应的质量进行评估,对后续系统的开发做好优化,实施相应的理论验证。

关键词:Android平台;实时音视频无线传输;系统探析

引言

数字音视频压缩技术在近年来的发展十分壮大,多媒体技术的应用更是逐渐广泛,对芯片的处理能力也有了较高的提升。多媒体终端逐渐向小型化方向发展,无线链路上更是有多媒体信息的实时传输,这就会日益成为目前网络流行的热点。

一、系统软硬件的总体构成

该系统总体的安装构成有计算机、自带摄像头、无线路由器等。客户端程序是在手机上安装,计算机担任整个服务器端,系统总体的软件构架通过图1表示,对视频数据的获取主要是利用摄像头进行获取然后完成视频的采集,对视频数据进行压缩编码处理,利用无线路由器通过无线网络传输给计算机,让程序对具体的服务器端对视频数据进行解压和显示。

图1系统总体软件架构

二、RTP/RTCP协议

实时传输协议是专门对因特网上多媒体数据流进行服务的一种传输协议,具有一种服务的功能。RTP可以一对一的对多媒体数据流进行传输,主要的目的就是提供相应的时间,让其达到同步机制的目标。RTP可以在用户数据包协议进行建立,还可以在其他不同传输模式的协议中使用,这样只能对实时数据的传输进行相应的确保,并不能按照相应的顺序对数据完成传输,传送机制也会不够可靠,不能提供相应的流量控制,主要的服务是依靠RTCP提供这些服务。

实时传输控制协议对传输质量具有一定的管理作用,可以让应用进程之间的数据有效交换。通过RTP会话时,需要让参与人员周期性的对RTCP包进行传送,包中已经包括发送完成的数据包流量,还具有一些丢失的数量统计资料[1]。这些数据信息可以作为服务器的参考,动态的对传输速率进行改变,对有效载荷类型也需要实施相应的改变。将RTP和RTCP需要配合在一起进行使用,能够通过有效的反馈使得传输效率达到最大化,对实时数据有效进行控制,让其顺利的传输。

三、设计程序整体架构

程序中主要有6大模块,分别是程序界面,音视频网络的连接,以及模块的收发和视频的编解码。

(一)编解码库的优化应用

编解码库中需要采取不同的封包办法,让不同的数据均可以打包容量分段,然后对每段的载荷头有效进行设置,将每段的数据缓存起来,利用视频对模块进行接发,然后将每组数据打包。

(二)程序实现思路

音视频中原始数据的采集以及播放均由安卓应用来完成,将音视频流获取之后,才能够对音视频数据进行获取,然后对音视频数据流有效进行处理。利用音视频中的接口函数对多媒体数据进行压缩和发送,对响应信息进行接收和呼叫。将连接断开后,上层的应用需要将全部的数据清空,并对所用的数据进行发送和接收。

四、开发思路和关键技术

系统进行开发选择的主要思路是Socket,利用这种系统对数据通信链路进行建立和收发,对无线局域网进行利用,让其成为物理通信线路[2]。获取视频主要是利用JMF中Java来获取,对该视频进行捕获的过程中需要进行解码,通过PC显示器将其显示出来,获取摄像头中数据时需要通过JMF然后让PC获得,利用Socket进行传输,传输完成后重新进行绘制。

摄像头通常都是用来拍照和视频录制,拨打视频电话过程中,双方都能够看到清晰的画面,利用摄像头获取图像时,对本地其中一组数据进行浏览,对另外一组数据进行数据编码,然后传输到另外一端,对图像同时进行预览和录制。

(一)传递回调函数

对客户端中回调的函数进行传递,让其到达底层,当底部将具体的数据图像获取之后,需要对函数进行回调,然后对上层进行通知,立即采取必要的处理措施。

客户端是由类主宰的,其中成员有两个,访问系统是类的必经之路,属于一种对外接口,通过类对类的继承可以对不同按钮实施功能监听。当对一组数据真正完成捕获后,就会对回调的函数进行调用,并反馈给客户端。再由客户端对回调函数中的参数有效进行判断,通过具体参数的类型对这一组数据实施编码处理,等编码彻底结束后实现对函数的调用。

(二)分配数据buffer

不同类中,默认分配的buffer有6个,视频数据利用的仅有1个。Camera对视频数据进行捕获,当获取一组数据后,由buffer对数据进行存储,存储的数据用于preview和record。当客户端对函数进行调用后将buffer释放,并用于其他的地方。

(三)视频录制调用

启动客户端类后,再将视频录制打开,并对回调的函数进行调节,这就意味已经有一组数据经客户端获取成功,这样就可以进行编码[3]。利用客户端对这组数据进行处理,让底层对这组数据进行处理,然后释放相应的buffer空间,以备不时之需,这样就能够达到视频电话功能的目的。

(四)显示数据

将相机打开后,进行预览时采用的主要方法是调用,然后设置相应的类,再获取相应的对象,最后利用不同的方法显示出捕获的数据。

(五)音视频编码

视频编码是由不同组织决定的,然后再进行最终的定稿,这样就会形成最终格式。利用分层对其进行设计,概念区域中不仅有视频编码层还有网络提取层。为了对视频编解码具有有效的说明,就需要对视频以及外部接口实施有效的说明,让其达到网络具体的模式,并利用合理的方式实施打包并进行传送。VCL中包括的层诸多,有和块相关的运动补偿相关编码,除此之外还具有一些新的特征。在底层通过对网络进行分段再由NAL对数据完成封装,如:利用定时信息,主要的框架图如图2所示。

图2框架图结构

在默认模式下对视频进行拍摄时,需要对格式合理选择,主要选择的格式是YUV,该系统对服务器进行调用时需要对YUV格式进行转化,让其成为函数格式,对编码同样需要进行转化,让其成为通用编码,利用计算机对其进行播放。

(六)Socket套接字

应用程序主要是对套接入应用程序机制进行应用,并对整个网络发出具体的请求,让网络能够应答相关请求[4]。包中有Socket和Server-Socket,前者用于网络之间的具体连接,后者是在服务器端进行应用。当具体连接成功时,应用的程序两端都会出现相应的实例,对这个实例完成操作的情况下,就需要将会话全面完成。

结语

在安卓智能终端的基础上,对音视频传输系统进行设计,这对于多媒体系统后期的系统开发具有重要的参考价值,会让系统的各项性能不断延迟,对质量也会产生相应的评估,具备的理论验证意义十分强烈。在这个基础上,下一步的重点方向就是对多媒体电子会议系统进行发展。利用C语言对数据进行编码,并对数据进行收发,响应程度占据的优势会比较大,利用开放性平台完全可以对软件加以应用。

参考文献:

[1]徐艳菲,吴铁峰.基于Android的音视频播放器的研究与设计[J].微处理机,2017(6):74-77.

[2]罗欢,周永明,文昊翔.基于Android智能电视的无线视频监控系统的设计[J].韶关学院学报,2017(03):62-66.

[3]庞泽平,方朝曦,李国胜.基于Android平台的物流仓储叉车调度系统的设计[J].电子技术与软件工程,2017(6):66-68.

[4]常煜,邓飞,肖亚文,etal.基于Android/iOS的校园社交服务终端的设计与实现[J].电脑知识与技术,2016(24):58-60.

标签:;  ;  ;  

基于Android平台的实时音视频无线传输系统探析
下载Doc文档

猜你喜欢