资源描述:
《基于+Android+的移动流媒体实时传输系统设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、摘要摘要随着互联网、智能操作系统和移动通讯技术的发展,特别是3G无线通讯技术的成熟,伴随着三网融合,移动多媒体应用已成为当前IT领域关注的热点。同时,流媒体技术极大地推动了音视频等多媒体在互联网的应用。本课题主要研究在Android平台下的音视频技术以及实时传输技术等,构建一个基于Android操作系统的移动流媒体实时传输系统。本文深入研究了Android操作系统开发架构,移动多媒体开发框架,实时传输协议rtp/rtcp,H264视频压缩技术及以WowzaMediaServer流媒体服务器等相关技术,在此基础上完成基于Android的移动流
2、媒体实时传输系统。本系统主要完成三个子系统,分别是手机采集端、服务器端和手机播放端。手机采集端主要完成提取H.264视频数据和ARMNB音频数据;根据RFC3984文档,打包成RTP数据包,发送给服务器端;服务器端将数据推送给WowzaMediaServer,WowzaMediaServer实现基于SDP协议的流数据发布;手机播放端使用JNI技术调用第三方底层库函数,建立RTSP连接,同时接收、解析RTP并重组NAL单元,在手机播放端实现的过程中,本文移植了FFMPEG进行H.264解码,使用Android的多媒体框架OpenCore框架和
3、多线程技术实现音频和视频的同步独立播放。本系统成功实现了移动终端音视频采集、编解码、播放、流媒体实时传输、无线传输、视频保存等功能。在实际的运行环境中,播放流畅,延迟较小,具有较高的实用价值和很强的可移植性。关键词:Android实时传输流媒体H.264RTP基于Android的移动流媒体实时传输系统设计与实现AbstractAbstractMultimediaapplicationonmobilephoneplatformisahottopicinInformationTechnologyindustryaccompanyingwitht
4、headvancesoftechnologiesinInternet,smartoperatingsystemandwirelessnetwork,especiallyforhighavailabilityof3Gwirelessnetwork.ThedevelopmentofstreamingmediatechnologyboostedtheaudioandvideoapplicationovertheInternet.Thearticlediscussestheaudioandvideostreamingapplication,real
5、-timetransmissiontechnologyandsoon,implementsareal-timestreamingmediatransmissionsystembasedonAndroidoperatingsystem.ThisarticleincludesthestudyofAndroidplatformsuchasinfrastructure,mobilemultimediaframework,realtimetransmissionprotocol(RTP/RTCP),H264videocompressiontechno
6、logy,WowzaMediaServerandsoon,Onthisbasisitcompletesareal-timestreamingmediatransmissionsystembasedonAndroidplatform.Thesystemismainlyofthreesubsystems:phonecollection,serverandphoneplayer.ThecollectionisresponsibleforextractingH.264videodataandARMNBaudiodata,AccordingtoRFC
7、3984,packingintoRTPpackets,sendingtotheserver;TheserverisresponsibleforpushingdatatoWowzaMediaServer,WowzaMediaServerimplementsstreamingdatareleasebasedonSDPprotocol;Thephoneplayercallstheunderlyinglibraryfunctionsofthethird-partclientusingJNItechnology,establishesRTSPconn
8、ection,andreceives,parsesandrestructuresNALunits.Intheprocessofimplementingtheplayer,this