基于Android端到端实时无线视频传输系统报告.docx

上传人:b****8 文档编号:23613843 上传时间:2023-05-19 格式:DOCX 页数:13 大小:488.12KB
下载 相关 举报
基于Android端到端实时无线视频传输系统报告.docx_第1页
第1页 / 共13页
基于Android端到端实时无线视频传输系统报告.docx_第2页
第2页 / 共13页
基于Android端到端实时无线视频传输系统报告.docx_第3页
第3页 / 共13页
基于Android端到端实时无线视频传输系统报告.docx_第4页
第4页 / 共13页
基于Android端到端实时无线视频传输系统报告.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

基于Android端到端实时无线视频传输系统报告.docx

《基于Android端到端实时无线视频传输系统报告.docx》由会员分享,可在线阅读,更多相关《基于Android端到端实时无线视频传输系统报告.docx(13页珍藏版)》请在冰豆网上搜索。

基于Android端到端实时无线视频传输系统报告.docx

基于Android端到端实时无线视频传输系统报告

西安邮电大学

(计算机学院)

科研训练报告书

 

系部名称

计算机学院

学生姓名

付添

专业名称

软件工程

指导老师

舒新峰

班级

软件工程1101

学号

04113035(8位数字)

时间

2014年09月08日

2014年12月26日

基于Android端到端实时无线视频传

系统

1背景、意义及目标

1.1选题背景

流媒体已在当前网络传输音频、视频和多媒体文件中广泛应用,流媒体文件格式是支持采用流式传输及播放的媒体格式。

流式传输方式是将视频和音频等多媒体文件经过特殊的压缩方式分成一个个压缩包,由服务器向用户计算机连续、实时传送。

在采用流式传输方式的系统中,用户不必像非流式播放那样等到整个文件全部下载完毕后才能看到当中的内容,而是只需要经过几秒钟或几十秒的启动延时即可在用户计算机上利用相应的播放器对压缩的视频或音频等流式媒体文件进行播放,剩余的部分将继续进行下载,直至播放完毕。

Android是一个以Linux为基础的半开源操作系统,底层开发语言是C/C++,应用层是基于java的,支持平台有ARM、MIPS、x86等。

主要用于移动设备,目前android占领了大半个手机市场。

谷歌在2010年发布了Android2.3}9}版本也就被大家所熟知的AndroidGingerbread(姜饼)系统中,提供了对SIP,VOIP、近距离通信(NFC)以及多摄像头的支持,为实时视频播放提供了条件,同时AndroidNDK的不断更新既方便了广大的底层开发者,又为开发出实用性强的实时视频通信软件提供了保障。

1.2国内外研究现状

1.2.1国外研究现状

在文献[[1]中,作者分析了Android平台的优势,作者指出Android平台具有优异的VM设计并适合于底层的开发;而在报告「2-3]中,均对Android平台调用C语言进行了论述,并对如何利用C语言进行Android应用的开发给出了指导;在文献「4]中作者通过手机应用测试了负载情况下的多任务的处理能力,作者的实验证实Android平台在多任务模式下基本能够达到实时性的要求。

与此同时,智能终端与流媒体技术的结合也引起了研究者的关注。

移动流媒体技术得以迅速的发展。

移动流媒体技术提供了灵活自主的内容点播,减少了客户端存储空间的需求,满足了手机用户随时随地观赏视频的需求。

1.2.2国内研究现状

在参考文献「5]中作者设计了一种基于H.264的视频点播系统的客户端软件,作者采用H.264视频编码的方式,利用Directshow技术在windowsPC的客户端中实现了视频的解码与播放。

虽然此软件依然依赖于PC端,但是却是手机终端应用的曙光;在参考文献[6]中作者结合FFmpeg源码的解码流程设计了流媒体播放器的系统架构,并研究了FFmpeg的修剪优化的方法,最后将其移植Android手机开发平台,开发了Android平台的流媒体播放器。

同样地,端的视频传输的实现更近了一步,但是仍不能达到理想的端到端的视频传输;而在文献[7]中,该专利提出了基于Android端的视频传输方法,文章利用硬编码的方式来进行视频编码并采用本地的Localsocket方法进行视频传输,相似的在文献[8]中,作者也提出了简单的无线视频传输方案,在此方案中,作者提出了采用H.264视频编码和RTP视频传输协议,但是作者并未对视频解码播放做出相应的处理。

本文在此基础上进行进一步的实现和完善,提出了系统的端到端无线实时视频传输体系,并进行实现。

1.2.3当前研究存在的问题

在文献[9]中,作者将ITRI'SPACDSP移植至Android平台,利用Android本身自带的解码框架,开发了视频解码器,但是该解码器由于采用硬件,失去了手机的便携性。

就目前来说Android操作系统底层的多媒体框架所支持的视频解码器的功能并不丰富,本课题在充分调研现有的解码软件的基础上,结合AndroidNDK对第三方开源音视频库X264「10]及FFmpegly进行移植,将其添加至Android应用程序的底层来满足编解码需要。

1.3主要研究内容

分析目前已经晋遍应用的音视频数据的编码标推,通对Android平台自身所支持的音视频编码标准进行研究;学习AndroidNDK工具和Java本地调用技术。

搭建AndroidSDK开发环境和NDK开发环境,在Window环境下编译FFmpeg,移植FFmpeg开源音视频解决方案到android平台。

1)深入研究并掌握了Android平台应用程序开发的原理与相关知识,搭建AndroidSDK开发环境,利用Android的提供的CameraAPI实现了对视频的采集。

2)深入研究H.264的视频编解码技术,并对Android底层的H.264编码进行深入的研究,实现了对采集后的视频的H.264的编码和压缩,保证了视频传输过程中的安全性能并减小了视频传输所带来的带宽压力。

3)设计一套实时性传输的可行方案。

一、Android平台应用程序开发的原理与相关知识

Android系统的底层建立在Linux系统之上,它主要由操作系统、中间件、用户界面和应用软件四个层次组成,它采用了软件叠层的方式进行构建,这种方式使得层与层之间相互分离,各层之间明确自己的分工,从而保证了当下层的层内或者下层发生变化时,上层应用程序无需进行改变。

图1.1显示了Android系统的体系结构。

从体系结构图上看,Android系统可以分为四个层次,即应用程序层、应用程序框架层、系统运行库层和linux核心层。

其中结构图中蓝色的代表用Java语言编写的应用,黄色的代码是运行JAVA程序所必须的虚拟机,绿色部分则为底层的C/C++语言编写的程序库,红色的代码代表了内核(linux内核+drvier)而Android体系结构中的应用程序层是用户可见的一系列应用的提供者,它包含了一系列的核心程序包,会和APK一起发布,该层主要是使用Java语言开发。

体系结构中的应用程序框架主要是提供开发者开发所需要的API的框架,方便开发者进行应用程序的开发;Android体系结构中的系统运行库包括了程序库和Android运行时两个部分,其中程序库中提供了一些底层开发必须的C/C++库,该库中包含有:

媒体库、SurfaceManager,SGL,3D

libraries、FreeType、SQLite等核心库。

而Android运行时主要包括了:

Android核心库和Dalvik虚拟机。

Android核心库主要是为JAVA编程语言进行服务,而虚拟机则负责运行Android应用程序。

图1.1Android系统的体系结构

2、H.264的视频编解码技术

2003年,ISO/IEC的运动图像专家组(MPEG)与ITU-T的视频专家组(VCEG)联手制定了最新的视频编码标准H.264.其主要特点是更高的编码效率和更好的网络适应性。

在相同图像质量的情况下,H.264的压缩比是MPEG-2的4倍以上,是MPEG-4的1._5到2倍以上。

H.264不仅具有优异的压缩性能而且具有良好的网络亲和性能,这对于实时性的视频传输具有非常重要的意义。

在相同的重构图像质量下,H.264与H.263+和MPEG-4相比较,码流能够节约50%

H.264中规定了三种档次,每个档次支持一组特定的编码功能,并支持一类特定的应用,表2.1中对此进行说明。

表2.1H.264所规定的三种档次

档次类别

支持的编码功能及应用

基本档次

主要是使用I片和P片,它支持帧内编码和帧间编码,同时支持利用CAVLC进行的嫡编码。

它主要用于可视电话、会议电视、无线通信等实时视频通信。

主要档次

支持隔行视频,它使用B片的帧间编码和加权预测的帧内编码方式;支持利用CABAC的算术编码。

扩展档次

主要用于数字广播电视与数字视频存储;可以实现码流之间有效的切换(SP和SI片)、改进误码性能(数据分割),但不支持隔行视频和CABAC。

文献检索综述

(说明使用了哪些检索工具)

2可行性分析

传统的实时音视频采集与传输系统虽然性能稳定、技术成熟,但在实际应用中仍存在一些缺点:

(1)视频采集传输设备比较复杂,线路固定,成本及维护费用高。

(2)受地域限制。

(3)应用于工厂、仓库、商场等大型企业或者场所,不便于在更广泛的个人

视频通信业务中推广应用。

Android(安卓)是基于Java并运行于Linux开放性内核的移动终端操作系

统,近年来受到人们广泛的关注和青睐,并且已经超越诺基亚的Symbian(塞

班)系统成为全球最受欢迎的手机操作系统,而基于Android平台的程序开发也

逐渐成为一个热门的方向。

目前网络中的无线移动终端的功能日益强大,应用愈加广泛,无线移动终端

之间或者无线移动终端与桌面通信系统之间的即时通信已经成为人们的需求方

向,并且具有广泛的应用价值。

针对以上因素,本课题拟设计和实现一个基于Android开放平台和无线通信

的实时音视频通信系统。

该系统具有以下特点:

(1)采用无线传输,无须布线,成本低廉,操作简便。

(2)不受地域限制,具有实时性,高效性。

(3)应用场合广泛,满足不同需求,可以直接应用于家居安防监控、网络终

端即时通信。

最关键的问题是该系统可应用于教学工作中,可以替代粉笔的教学工作中的使用,解决粉笔灰污染问题。

3实现(或设计)方案

本系统实现所需要的硬件设备包括:

移动终端:

Android智能手机,手机支持100W像素的摄像头,内置WiFi。

PC机:

WindowXP、Windows7或Windows8操作系统,1G以上RAM,连入局域网。

本项目将用到下列开发工具:

(1)手机端App应用软件开发工具

Android平台:

Java集成开发工具Eclipse、JDK、Android-SDK、AndroidNDK、Android模拟器等。

开发环境:

JDK,AndroidNDK,Eclipse.

(2)PC端应用软件开发工具

MicrosoftVisualStudio2013集成开发环境。

Android手机端App的主要功能包括:

1、录制视频MediaRecorder

2、LocalSocket发送本地流

3、H.264编码

4、RTP打包

5、UDP发送

Android端视频采集使用Android多媒体系统中提供的MediaRecorder、AudioRecorder,Camera类,直接获取原始的视频数据并存入缓冲区,并采用H.264编码技术对缓存数据进行编码,然后调用RTP数据封装模块将编码后的数据进行RTP打包处理。

采集端有多个任务包括(系统程序和设备调用、视频数据采集、视频编码、RTP数据包封装)多任务之间并发进行。

视频采集线程负责不断从摄像头获取视频数据流,然后发送给视频编码线程,编码线程完成后,发送到RTP数据封装线程中,RTP数据封装线程不断从视频线程获取数据,发送给本地Socket和SocketServer,由本地Socket通过无线网络发送到PC端。

手机应用App与PC端应用的通信模型如下图所示:

 

 

 

 

图1手机应用App与PC端应用的通信模型

PC端服务器主要功能包括:

1、UDP接收

2、RTP接收

3、H.264解码

4、播放

5、视频录制(保存为视频文件,供以后使用)

PC机端应用程序主要完成视频流的接收和播放,也具有多个任务同时并发执行的特点。

具体的流程图如下所示:

 

 

 

图2PC端应用程序执行流程

4结论及讨论

本课题在对Android操作系统平台进行了深入的研究,对Android智能手机移动开发进行了长期实践的基础上,设计基于Android智能机的端到端的无线实时视频传输系统。

总结本文所做的主要工作,主要体现在以下几个方面:

1、深入研究了Android操作系统的系统架构以及Android操作系统的开发环境,并在此基础上利用Eclipse成功了搭建了Android操作系统的应用层开发环境及底层的C/C++开发环境。

2、在掌握H.264视频编码技术的基本原理的基础上,对H.264开源的编码工具X.264进行了深入的分析。

3、在准确理解系统各个模块功能的基础上,完成了系统总体框架的设计,Socket网络编程实现了整个系统的无线通信功能;从而完整的实现了基于Android智能机的端到端的无线视频实时传输系统

同时,由于本人的研究能力有限,此研究课题在实际实现上还存在着一定的缺陷。

同时,Android智能手机的底层应用的研究与开发是本课题的难点,也是本课题得以提升的要点,因此本课题在继续的改进下应该能够取得一定的成功。

参考文献(注意,此处应该是你所参考的文献)

[1]KP,K.KTInAndroidohMobileDevices:

AhEnergyPerspective,ComputerandInformationTechnology(CIT),2010IEEE10thInternationalConferenceon,June292010-July12010;2010;pp2421-2426.

[2]LeeS,JeonJWInEvaluatingperfo二二ceofAnroidplatformusingnativeCforembeddedsystems,ControlAutomationandSystems(ICCAS),2010InternationalConferenceon,27一30Oct.2010;2010;pp1160-1163.

[3]LinC-M,etal.InBenchmarkDalvikandNativeCodeforAndlroidSystem,InnovationsinBio-inspiredComputingandApplications(IBICA),2011SecondInternationalConferenceon,16-18Dec.2011;

[4]B.S.M,VK.M,ReliableReal-TimeApplicationsonAndroidOS[J].IEEEElectricalandComputerEngineeringElectricalandComputerEngineering.

[5]陈彬.基于H.264的视频点播系统客户端的设计[[J/OL].中国科技论文在线http:

//www.paper.edu.cn,2011.

[6]刘洁彬.宋茂强.基于Android平台的流媒体播放器的设计

[7]王学斌,赵安基于Android系统的视频传输方法[Pl.中国,CN201110213672.7.2011.07.28.

[8]孙松源,吴建国,基于RTP和Android的视频传输的研究实现方法[[J].电脑知识与技术,2012.02,8(4),903-905.

[9]Chun-ShianT,Hsuan-LiangC,TheImplementationofMultimediaDecoderFrameworkforAndroidonPACDuoPlateform}J}.2011,382-387.

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

当前位置:首页 > 工作范文 > 行政公文

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

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