当前位置:首页 >> IT/计算机 >>

基于Android平台的MID视频监控系统的设计与实现


中山大学 硕士学位论文 基于Android平台的MID视频监控系统的设计与实现 姓名:胡晓乐 申请学位级别:硕士 专业:软件工程 指导教师:倪德明 20100601

基于Android平台的MID视频监控系统的设计与实现

摘要

摘要
随着嵌入式技术、无线通信技术和流媒体技术的发展,基于嵌入式移动终端 设备和无线网络的远程视频监控已经成为监控研究领域的热点。该类监控系统的 实现涉及开发平台和硬件的选择、编解码、网络传输等诸多方面。本文所设计的 监控系统是TCL 3C融合项目的一部分,以充实TCL数字家庭的业务内容为目的。 论文主要研究了MID远程视频监控系统,重点设计并实现了MID监控客户端。 整个系统开发平台选用的是Android,它是由开放手机联盟于2007年11月发布 的基于Linux的开源手机平台,是首个为移动终端打造的真正开放和完整的移动 软件平台。系统服务器端采用freescale公司推出的MX27多媒体微处理器,其 内置H.264硬件编码能力,完成对视频数据的编码。客户端MID芯片采用TI公 司推出的OMAP3430,其内置ARM和视频加速器,具有很好的解码性能。编码标 准采用的是压缩性能好,网络适应能力强的H.264标准。网络传输协议采用RTP, 它作为流媒体传输协议,提供了实时端到端网络传输功能。 论文结合具体的开发项目,完成的工作总结如下: (1)对Android开发平台、无线局域网传输协议、RTP协议和H.264标准 及其视频数据的RTP封包算法进行了阐述与分析。 (2)分析了MID视频监控方案,然后对客户端软件进行了设计,根据监控 系统的结构层次把客户端软件系统分为四个单元:图形界面单元、控制单元、传 输单元和解码单元,并详细介绍了这四个单元的实现。 (3)给出了系统测试平台和方案,对系统进行功能与性能测试,并对测试 结果进行分析。测试结果表明系统达到预期设计目标。 关键词:远程视频监控、MID、Android、H.264、RTP

Desi目a and Implementation of MID Video Surveillance System Based

on

Android

Platfom

Abstract

Abstract

With technology

the

development of

embedded

technology,wireless

communication
on

and streaming media

technology,remote

video surveillance based


embedded mobile terminal devices and wireless network has become research.Implementation
of such surveillance system involves

hot field of of

the choice

development platform and hardware,Codil培and decoding,network transmission many other aspects.As


and

part ofthe

project which integrates TCL'3C,the

surveillance

system designed in the thesis will enrich the business ofTCL Digital Home.
The thesis
on

mainly

studies the MID remote video

surveillance system and focuses
client.The entire system by Open Handset

the design and implementation of the

MID surveillance

chooses Android as

the development platform.Android,released an
open Linux-based

Alliance in November of 2007,is open

platform and the first truly

and complete sothvare
to video

platform

created for mobile terminals.In order to adopts the ffeescale’S MX27-a kind of

complete the encoding
multimedia

data,the server

microprocessor

which has the capability of encoding video streams of

H.264.111e chip of client is

the OMAP3430

which has good performance of decoding in the of

because of
system is

its build-in ARM

and video accelerators.硼呛coding standard used

H.264

which has very good performance of kind of streaming

compression and adaptability
protocol
which

network.RTP—a

media

transport

provides

end—to-end real-time transmission of network,is chosen as network transport protocol in the surveillance system. The thesis
as

combines

with



specific project;its

main contents Can be saanmafized

the following: analyzing

(1)Introducing and protocol

the

Android platform,wireless local area network
tO put its

RTP,H.264 standard the plan of

and how
video

video data into RTP packets.
dividing unit of

(2)Analyzing

MID

surveillance,then
user

the

client soft:ware unit of

into four units:the unit of graphical

interface,the

control,the

Design and Implementation of MID

Video Surveillance System Based

on

Android Platform

Abstract

transmission and the unit ofdecoding based

on

hierarchy ofthe client software system

and describing the design and implementation of the four units in detail.

(3)Showing
function

out

the

system platform and plan of test,checking out the system’S

and

performance and analyzing the results of test which shows that the

system achieves the desired goals.

Key Words:remote video surveillance,MID,Android,H.264,RTP

基于Android平台的MID视频监控系统的设计与实现

部分名词对照表

部分名词对照表

缩写
MID
3C RTP RTCP BSS ESS

全称
Mobile Interact Devices Compute,Communication,ConsumerElectronic Real-time Transport Protocol

中文含义 移动互联网设备 计算机,通信,消费电子 实时传输协议 实时传输控制协议 基本服务集 扩展服务集 应用级成帧 集成层处理 同步源 贡献源 无线保真 视频编码层 网络提取层 最大传输单元 原始字节序列载荷 Java本地接口

I玎P

Control Protocol

Basic Service Set Extended Service Set Application Level Framing Integrated Layer Processing Synchronization Source Contributing Source


ILP

SSRC CSRC

MFI
VCL NAL M陌U

Wireless

Fidelity

Video Coding Layer Network Abstraction Layer

Maximum

Transmission Unit

lmSP

Raw Byte Sequence Payload Java Native Interface

ⅢI

论文原创性声明

本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论 文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文 的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。

学位论文作者签名:堇苤臼璺壁三
日期:趔!:笪:2

学位论文使用授权声明
本人完全了解中山大学有关保留、使用学位论文的规定,即:学 校有权保留学位论文并向国家主管部门或其指定机构送交论文的电 子版和纸质版,有权将学位论文用于非赢利目的的少量复制并允许论 文进入学校图书馆、院系资料室被查阅,有权将学位论文的内容编入 有关数据库进行检索,可以采用复印、缩印或其他方法保存学位论文。

学位论文作者签名:菰够娅翩签名:缎碉
日期:沙|拜名其|B

B期沙}D年毛旯f



基于Android.甲台的MID视频监控系统的设计与实现

第1章绪论

第1章

绪论

本章主要概括介绍了论文的研究背景、视频监控系统的发展过程、发展趋势、 MID监控系统的研究现状以及论文的内容安排。

1.1研究背景和意义
全球信息化的不断发展促进了人类生活方式和生活习惯的飞跃,人们对自己 的居住环境提出了智能化和人性化的需求,“智能家居”的概念由此诞生。智能 家居是指将家庭中各种与信息相关的通讯设备、家用电器、家庭安防装置等通过 家庭总线技术连接到一个家庭智能化平台上,进行集中或远程监视、控制和家庭 事务管理,并保持这些家庭设施与生活需求和住宅环境和谐与协调Ⅲ。 Internet及其相关通信技术的发展已经突破了传统通信方式的时空障碍, 大范围内的通信已成现实。在这样的背景下,各种多媒体技术在互联网上得到了 广泛的应用,如基于多媒体的远程视频监控也逐步发展成熟。由于与先进的网络 技术相结合,当前的远程视频监控系统适应了当前社会信息化的需求,它不仅能 处理文本、数据、图形,还可以完成对视频流的实时捕获、压缩和流媒体传输。 随着嵌入式技术和无线通信技术的不断成熟,使用移动终端设备进行远程监控已 经成为监控研究领域的热点。 远程视频监控是当前智能家居的一个重要组成部分。当家庭中有特别需要关 注的物体和场地时,家庭的主人可在其所处的家庭环境中安装摄像头,通过网络 远程观察其状况,当发生意外情况时也可通过网络监控事态的进展。 本文设计并实现了一款适用于移动互联网设备的远程监控系统,它是本人实 习单位TCL工业研究院的智能家居项目的子项目。该项目充实了TCL智能家居的 业务内容,同时对基于Android平台的视频监控系统的开发具有一定的借鉴意
义。

基于Android甲台的MlD视频jI:c控系统的设计与实现

第l常绪论

1.2视频监控系统的发展过程
迄今,视频监控系统的发展经历了三个阶段口1:模拟视频监控系统、数字视 频监控系统和智能网络视频监控系统。

1.2.1模拟视频监控系统
模拟视频监控系统产生于20世纪70年代,它的典型构成包括前段部分、模 拟传输部分、控制中心等。 模拟视频监控系统的主要缺点表现为口1: (1)扩展能力差。增加新的监控点和向系统中添加新的设备时,对系统的 改动较大。 (2)监控范围小。由于使用同轴电缆传输模拟视频信号的最大传输距离为 1KM,这决定了模拟视频监控只能用于小范围的场所。 (3)报警联动性弱。这是由于模拟监控系统的各部分相互独立运作,联动 只能发生在有限的范围内。

1.2.2数字视频监控系统
数字视频监控系统产生于20世纪90年代,它具有传输距离远、图像质量高、 应用灵活性好、数据保存成本低等优点“1,它的主要缺点是: (1)系统稳定性不够。在不适宜的监控点,图像会抖动。 (2)可扩展性不够。专用的压缩卡和解压缩卡只能支持有限的编码格式。 (3)结构复杂。视频前端包括采集、压缩以及通信等,涉及众多,可靠性 不高。

1.2.3智能网络视频监控系统
智能网络视频监控系统产生于本世纪初,它不仅能实现监控功能,还能实现 监控范围网络化、存储容量扩容化、监控智能化等啼1。传统的视频监控是被动接 收感受模式的,智能视频监控则主动对监控现场的视频进行分析与处理,其系统 结构如图卜1所示嘲。

基于Android平台的MID视频监控系统的设计与实现

第1章绪论

图卜l智能网络视频监控系统结构

1.3视频监控系统的发展趋势
如今,视频监控系统已经被应用在各行各业发挥它的安防作用。 前端一体化、视频数字化、监控网络化、系统集成化是视频监控系统公认的 发展方向,而数字化是网络化的前提,网络化又是系统集成化的基础,所以,视 频监控发展的最大的两个特点就是数字化和网络化口1。数字化主要指系统中的数 据流从模拟态向数字态转变,网络化是指系统的结构从集中式向集散式转变。

1.4

MID视频监控系统的研究现状
目前市场上,移动互联列终端基于的平台主要有三种:Symbian、Windows

Mobile、iPhone,这三者与Android相比,Symbian太强势,Windows Mobile太 昂贵,iPhone太封闭。Android的最大优势在于其开放性,自2007年11月推出 后,Android得到了众多手机制造商、电信运营商、半导体公司和软件公司的大 力支持。



基于Android甲台的MID视频jl:f控系统的设计与实现

第1章绪论

截至今年五月份,国内推出基于Android平台手机的公司主要有华为、联想 和TCL等,也有多家厂商推出了基于Android平台的MID。由于Android在国内 方兴未艾,加上出于商业目的的考虑,在移动终端上实现远程监控往往需要与其 它商业应用(例如智能家居)相结合,大部分公司在其产品中都未提供远程监控的 功能。本文正是在TCL智能家居项目的背景下,基于其自主研发的MID,设计并 实现了一个视频监控系统。 目前,远程视频监控系统由两部分构成:服务端和客户端。服务端的主要任 务是采集图像、编码、封包和通过网络发送给客户端;客户端的主要任务是接收 数据、解码和显示。基于移动终端的远程视频监控系统涉及到硬件、网络通信和 编解码等诸多方面。 当前,受处理器主频等其他因素的制约,嵌入式设备还不能像PC那样完全 使用软解,要想获得良好的性能,在嵌入式设备中的解码一般由硬件完成。 在远程视频监控系统中,受网络带宽和存储的限制,往往要对采集的视频信 息进行压缩。目前两大主流的压缩标准是:H.26X和MPEG—X。H.264具有高压缩 率、网络友好性和容错能力,使得它非常适合用于各利一无线网络传输IfI。 编码后的视频信息要通过网络进行传输,这时选择合适的传输协议十分重 要。TCP是面向连接的,能够提供可靠的传输服务,但是TCP的网络传输开销大 且时延较大,比如TCP建立连接时的三次握手,保证无误的差错控制方式及其大 量的反馈包都使得它的传输时延较大且容易造成网络的拥塞,不适合传输突发性 的大量数据或实时性数据。为此,IETF针对多媒体数据传输制订了RTP协议, 它适合传输大量、连续、实时的流媒体数据。当前,基于嵌入式的监控系统大多 采用RTP/UDP/IP传输视频信息,用TCP/IP传输数据和控制信令。

1.5论文的主要工作与内容安排
本文通过对Android平台、无线传输协议、实时传输协议、H.264标准等内 容的研究,结合实习期间TCL智能家居的项目,在TCL MID上基于Android平台 设计并实现了MID远程视频监控系统,它基本满足了智能家居的室内监控要求。 由于整个项目涉及重多软硬件,本论文的侧重点在于客户端软件的设计与实现以



基于Android甲台的MID视频监控系统的设计与实现

第1章绪论

及服务端的视频数据RTP封包。同时,为了使监控软件的处理器资源占用率尽可 能低,实际工作中还包括对软件进行代码的优化。本论文的内容安排如下: 第一章介绍视频监控系统的发展过程、发展趋势以及MID视频监控的研究现 状。 第二章对本文中的MID远程监控系统所涉及到的技术进行介绍与分析,它包 括Android开发平台、无线局域网传输协议、RTP协议和H.264标准及其视频数 据的RTP封包。 第三章详细阐述MID视频监控方案,并对监控系统软件的相关功能单元进行 了详细的设计。 第四章对监控系统的客户端软件中的功能单元的具体实现进行详细的介绍 与分析。 第五章给出MID监控软件的测试环境、功能测以及性能测试的结果,并对测 试结果进行分析。 第六章总结本监控软件的特点、优点及其不足,并对接下来的工作进行展望。

基于Android平台的MID视频监控系统的设计与实现

第2章MID视频监控系统的相关技术

第2章

川D视频监控系统的相关技术

本文中所设计的远程视频监控系统是基于Android平台开发的,选用H.264 标准作为视频压缩标准,采用RTP协议作为传输协议,并在客户端针对系统的需 要给予了具体实现。整个系统实现是基于c/s模式的,客户端为TCL MID,服务 端为TCL智能家居服务器。

2.1

Android平台介绍

2.1.1 Android

本文中的监控系统是基于Android平台开发的。Android是由开放手机联盟 于2007年11月5日发布的基于Linux的开源手机平台。它由操作系统、中间件、 用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件 平台。市场分析机构信息通信与媒体研究公司Informa曾经做出预测,Google Android手机平台会在将来三年内超越iPhone操作系统。
2.1.2

Android的优点

与其他手机操作系统相比,Android有四个无可比拟的优点姐1: (1)开放性:不存在专有权障碍,也无需承担任何授权许可费用。 (2)所有应用程序平等:系统的核心应用和第三方应用都是完全平等的。 (3)应用程序间无界限:开发人员可以把Web上的数据与本地结合起来, 应用程序也可以通过声明供其他应用程序使用。 (4)快速方便的应用程序开发:开发人员可以基于Android提供的应用 库和工具快速地创建自己的应用程序。
2.1.3

Android系统结构

从软件分层的角度来看,Android平台由应用程序、应用程序框架、Android 运行时、库以及Linux内核5部分组成,如图2-1所示。

%十Android平台的MID襁%%控系缱的设"与蜜现

镕zm MID视频%控系统的柙戈拄术

图2-I Android系统架构

i)应用程序框架 应用程序框架层(如图2—2所示)保证了应用程序平等和无界限等特性

图2



Android应用程序框架

基于Android甲台的MID视频监控系统的设计与实现

第2章MID视频监控系统的相关技术

2)应用程序 Android平台默认包含了一系列的核心应用程序(如图2-3所示),这些应 用程序都是以Java程序语言编写的,开发人员可以用自己编写的应用程序替换 Android提供的应用程序。

图2-3 Android核心应用程序

3)Android运行时 Android运行时包括核心库和Dalvik虚拟机两部分,其结构如图2-4所示。 核心库包括两部分,一‘部分是Java程序语言所需要调用的功能函数,另一部分 为Android自身的核心库:Dalvik虚拟机是一种基于寄存器的Java虚拟机,专 为移动设备设计。

图2-4

Android运行时

4)系统库 它是Android为应用程序框架提供的函数库,其架构如图2-5所示。

旗于Android甲台的MID视频I牖控系统的设计与实现

第2章MID视频jI;c控系统的年H灭技术

图2-5 Android函数库架构

5)Linux内核 采用Linux内核是Android平台开放性的基础,Android平台中的操作系统 采用了Linux2.6版的内核,如图2-6所示。

Linux内核

键盘驱动

Wifi驱动

Audio驱动

电源管理

显示驱动

摄像头驱动

内存驱动

Binder驱动

图2-6 Android的Linux内核

2.2无线传输协议802.11标准
2.2.1 IEEE

802.11系列标准

802.11标准是一组规范,这组规范通常指定了在无线网络节点和网络基站 之间或者两个无线网络节点之间的大气介质上传输射频信号∞1。IEEE 802.11任 务组批准和采用的WLAN标准如表2-1所示。

10

基于Android平台的MID视频监控系统的设计与实现

第2章MID视频监控系统的相关技术

表2-1 802.11系列标准

标准
802.11

说明 传统802.11标准,它定义了卜2Mbps的无线联网,其中使用FHSS, DSSS和IR,RF带宽为2.3GHz 定义了在5GHzRF带宽中提供高达54Mbps的数据传输的WLAN和正交 频分复用(OFDM)编码 又称为802.11高速率和WIFI(无线高保真),它所定义的1|『LAN提供 了在2.4GHz RF带宽中使用DSSS调制方式传输1Mbps、2Mbps、 5.5Mbps和11Mbps 所定义的WLAN能够在2.4GHz[IF带宽中提供高达54Mbps的传输速


802.1 la

802.1lb

802.1 lg 802.11i 802.11IR

这个标准改进了WLAN安全标准 定义了使用漫射光纤技术传输的2Mbps
WLAN

2.2.2 IEEE IEEE

802.11拓扑结构

802.1l标准中定义了两种网络拓扑结构模式:基础结构模式和自组织

模式。 1)基础结构模式 在802.11无线基础结构网络中,至少包含一个无线站和一个连接到分配系 统的接入点,可以使用两种配置:基本服务集(BSS)和扩展服务集(ESS)。 A.基本服务集(BSS) 通常情况下,BSS中的接入点充当无线节点和分配系统之间的网桥,如图2—7 所示。

图2-7 BSS结构

基于Android平台的MID视频jI;f控系统的设计与实现

第2带MID视频监控系统的十H火技术

B.扩展服务集(ESS) 一个ESS是若干个BSS组成,这种布局允许在不重新配置节点或者网络的情 况下变换无线节点的位置。


图2—8 ESS结构

2)自组织模式 这种模式的网络构建在独立基本服务集或者等效的对等无线网络之上,不需 要接入点,无线站点直接与覆盖范围内的其他站点进行通信。该模式实质上是一 个对等无线网络结构。在这种结构中,相互覆盖的任何两个无线站点问都能够进 行通信,如图2-9所示。

节点

-w点

图2-9自组织模式结构图
12

基于Android平台的MID视频监控系统的设计与实现

第2章MID视频监控系统的相关技术

2.3实时传输协议RTP
实时传输协议RTP(Real-t ime Protoc01)是用于Internet上

Transport

针对多媒体数据流的一种传输协议n们。
2.3.1

RTP的设计原则
Level

RTP的设计遵循ALF(Application
(Integrated Layer

Framing,应用级成帧)和ILP

Processing,集成层处理)的原则n¨。它抛弃了主流的网

络协议设计的层次原则,集成实现不同层次的功能。这样的设计思想是基于以下 三点: (1)为了满足多媒体数据实时播放的各种复杂要求。 (2)多媒体数据的传输有相似之处,可以将共性的部分提取出来。 (3)多媒体数据的多样性使得很难针对这些媒体的传输给出一个统一的接 口和处理方法,设计时就将个性部分留给应用程序。
2.3.2

RTP的相关概-念

RTP提供了时戳、顺序编号、源标志、载荷类型和混合器等结构来控制实时 数据的传输。 (1)时戳:发送端在数据包中插入的一个时间标记,随着时间的推移而增 加。 (2)顺序编号:发送端在数据包中插入的一个编号标记,每发送一个RTP 数据包,顺序号就增加1。 (3)源标志:发送端生成的唯一数值,用来帮助接收端区分多个同时的数 据流。 (4)载荷类型:对传输的音、视频等数据类型和相关的编码方式的说明, 接收端据此确定如何解码和播放负载数据。 (5)混合器:接收来自一个或多个发送方的RTP数据块,并把它们组合成 一个新的RTP分组继续转发n别。
2.3.3

RTP的工作原理

RTP工作在一对一或一对多的传输情况下,提供时间信息和实现流同步。传

基于Android甲台的MID视频监控系统的设计与实现

第2章MID视频监控系统的卡H火技术

统的传输层协议注重数据传输的可靠性,而RTP更加侧重数据传输的实时性,它 一般是基于UDP实现的。RTP协议在网络中所处的位置如图2—10所示m1。RTP和 UDP协同工作,共同完成运输层协议功能。UDP承载RTP数据单元并负责传输数 据包。RTP利用UDP的多路复用支持显示的多点投递,满足多媒体会话的要求。 应用程序
RTP/RTCP
UDP IP TCP

图2一10 RTP在网络巾的位置

2.3.4

RTP数据包格式

RTP协议负责对流媒体数据进行封包并实现实时传输,每一个RTP数据分组 由头部和负载两个部分组成,RFC3550n钔中定义了RTP包头部的格式(如图2一II 所示‘151)。
0-i V=2 2 P 3 X 4-7 CSRC count 8 M

9-i5 Payl oad Type

16-31

序列号(SN)

时间戳(Time Stamp) 同步源标志(SSRC) 贡献源标识(CSRC)

图2一11 RTP头部格式

图中各字段的含义解释如下: (1)V:RTP协议的版本号,占两位,当前值为2。 (2)P:填充标志,占l位,如果P=I,则在该报文的尾部填充一个或多个 额外的八位组,它们不是有效载荷的一部分。 (3)X:扩展标志,占一位,若X=l,则在RTP报头后跟有一个扩展报头。
(4)CSRC count:CSRC计数器,占四位,表示CSRC标识符在固定头后的

14

基于Android平台的MID视频监控系统的设计与实现

第2章MID视频监控系统的相关技术

个数。 (5)M:标记,占1位,不同的有效载荷有不同的含义,对于视频,标记一 帧的结束;对于音频,标记会话的开始。
(6)Payload

Type:有效载荷类型,占7位,用于说明RTP报文中有效载

荷的类型。 (7)SN:序列号,占16位,用于标识发送者所发送的RTP报文的序列号。 接收者通过序列号来检测报文丢失情况,重新排序报文,恢复数据。
(8)Time Stamp:占32位,时戳反映了该RTP报文的第一个八位组的采样

时刻。接收者使用时戳来计算延迟和延迟抖动,并进行同步控制。 (9)SSRC:同步源标志,占32位,用于标识同步信源,它是随机选择的。 (10)CSRC:每个CSRC标识符占32位,可以有O~15个。每个CSRC标识 了包含在该RTP报文有效载荷中的所有特别信源。

2.4

H.264标准
H.264是ITU-T的视频编码专家组和ISO的活动图像编码专家组联合制定的

新的编码标准n61。
2.4.1

II.264标准的优点

与当前的其它压缩标准相比,H.264标准具有如下优点: (1)高压缩比,码率低n"。H.264采用的压缩技术大大节省了存储容量、信 道带宽及用户的下载时间和数据流量收费。 (2)图像质量高。H.264能提供连续、流畅的高质量图像。 (3)容错能力强。H.264提供了解决在不稳定网络环境下容易发生的丢包等 错误的必要工具。 (4)网络适应性强。H.264中增加了网络适应层,使得H.264的文件能容易 地在不同网络.卜传输。 (5)应用范围广。H.264提供了四个不同档次的Profile,在实际应用中可 根据时延要求选择不同的档次。
2.4.2

lI.264标准的档次与级别

基于Android.甲台的MID视频监控系统的设计与实现

第2章MID视频监控系统的棚天技术

档次详细指定了语法(即算法),级别详细指定了不同的参数(如解决方案、 帧率、比特率等)。H.264分为十多个功能等级,对性能、带宽和内存需求进行 了限制。每个等级都规定了从QcIF(公用分辨率格式)到HDTV(高清晰度电视) 等各种分辨率所对应的比特率和编码速率(每秒宏块数)。分辨率越高,要求的 等级就越高。H.264标准定义了四个档次n引,如下所述:
(1)Baseline Profile(基本档次):支持帧间和帧内编码,支持I帧和P

帧,支持CAVLC等,主要用于视频会议、基于IP的视频以及移动应用等。
(2)Main Profile(主要档次):支持交错视频,支持B帧,支持CABAC等,

在帧间编码,权重预测,熵编码时使用。它主要用于大范围内的广播。
(3)Extended SI Switching

Profile(扩展档次):不支持交错视频和CABAC,但增加了
Switching

I帧和SP

P帧,提高了错误恢复能力。它主要用于移

动和因特网流媒体应用。
(4)High Profile(高级档次):在初始的规范完成之后,增加了逼真度范

围改善。从而向规范里加入了以下四种附加的档次:高级档次、高级10档次、 高级4:2:2档次和高级4:4:4档次。
2.4.3

II.264标准中的一些基本概念

1)图像、帧 H.264的一个视频序列包含一系列的编码图像。一幅编码图像既可以表示一 个完整的帧,也可以表示一个单独的场n引。 一帧视频是由一个包含偶数行的顶场和一个包含奇数行的底场交错放置而 形成的场。H.264标准中的帧包括三种类型:I帧(帧内编码帧)、P帧(帧间预 测编码帧)和B帧(双向预测编码帧)。I帧是一种自带全部信息的独立帧,无 需参考其它图像便可独立进行解码,视频序列中的第一个帧始终都是I帧。P帧 需要参考前面的I帧或P帧的不同部分才能进行编码。B帧需要同时以前面的帧 和后面的帧作为参考帧。 2)视频流格式YUV H.264编码器支持的视频流格式是YUV,Y代表亮度信号,U、V代表色差信 号,Y、U、V是相互独立的。YUV格式包括三种取样格式:4:4:2,4:2:2,4:

16

基于Android平台的MID视频监控系统的设计与实现

第2章MID视频监控系统的相关技术

2:0,其中H.264编码器编码的1『UV视频流对是4:2:0格式的。 3)H.264编解码单元 宏块是H.264中最基本的编解码单元,它在编码前被分割后包含4个亮度块 (8木8)和2个色差块(8宰8)啪1,如图2—12所示。





口口
色差





亮度

图2—12 H.264的宏块分割

4)S1ice和Slice组 S1ice是指当不使用FMO(flexible
macroblock

ordering)时,由一系列宏

块按光栅扫描方式组成的宏块序列,如图2-13所示。当使用FMO时,一个Slice 组是根据宏块到slice group映射图定义的一组宏块。

Slicel


Slice2;

S1ice3

图2-13图像分成Slice示意图
2.4.4

II.264标准的分层结构

H.264的压缩系统包括视频编码层(VCL)和网络提取层(NAL)两部分,如 图2—14所示瞳¨。VCL和NAL分别完成高效率编码和网络友好性的任务。VCL包括 基于块的运动补偿、混合编码和一些新特性。NAL从VCL获得数据,包括头信息、 段结构信息和实际载荷,并将它们正确地映射到下层的传输协议上。NAL层的引 入大大提高了H.264适应复杂信道的能力。

基于Android甲台的MID视频l监控系统的设计与实现

第2带MID视频il:c控系统的相天技术

视频编码层(VCL) 数
据 控

宏块
1r



数据分区 分片/分匝




1 r

网络抽象层(NAL)

11.320

H.323/IP

MP4FF

Ⅶ)EG-2

图2一14 H.264分层结构

1)视频编码层(VCL) 视频编码层实现视频数据压缩编码和解码。它采用变换编码,并使用了空间 和时间预测的混合编码。每一帧视频数据划分为片、宏块、子块、块,其层次结 构如图2-15所示。

图2-15 vCL层次结构

3)网络提取层(NAL) 网络提取层负责对视频数据进行封装打包后使其在网络中传送。VCL中的数 据要封装至UNAL单元中才可以传输或存储,NAL头中包含了数据载荷类型,NAL的 RBSP中存储了视频图像的相关信息,RBSP是封装于网络抽象的数据,包括视频编 码数据和控制数据,它是NAL的基本传输单元。NAL单元格式如图2—16所示蚴。

18

基于Android甲台的MID视频监控系统的设计与实现

第2章MID视频监控系统的相关技术

Il

NAL头

RBSP

NAL头

I国SP

图2—16 NALU格式
2.4.5

II.264的码流结构

H.264的码流结构如图2—17所示乜31。H.264的主流编解码器一般都可以对YUV 格式的图像进行编码,并且支持两种格式的H.264文件输出:RTP格式和Annexb 格式‘2引。

层一:A

jmnexb格式

B.Im格式



层三:Slice

ck

层六:l!lesidual



Data

图2-17 H.264的码流结构

19

基于Android甲台的MID视频临控系统的设计与实现

第2帝MID视频嗌控系统的十H火技术

2.5

H.264视频数据的RTP封包
为了使用RTP协议进行传输,H.264数据包必须以RTP协议进行封装。封装

的方法遵循RFC3984‘251协议。

2.5.1封装原则
与传统的基于块的封包有很大的不同,H.264的封包是基于NALU进行的。 一般要遵循以下原则: (1)具有较低的额外开销,MTU的大小设计在64-100Kbyte内。 (2)在不用对分组内的数据解码的情况下,易于区分分组的重要性和次要 性。 (3)负载规范应该保证在无需解码的情形下,能够检测出比特丢失而造成 的分组不可解码。 (4)能够支持单个NALU分割到多个RTP数据包中。 (5)能够支持将多个NALU汇集在一个RTP包中。 (6)无需解码整个数据流就能够检测出数据的类型。

2.5.2封装的分组类型和传输模式
RFC3894标准中提出了针对H.264视频流的RTP负载格式和打包规则,主要 有以下三种分组类型和三种传输模式啪1。 分组类型: (a)单个分组:RTP载荷中只有一个NALU,NAL头部就是RTP头部。 (b)聚合分组:用于合并多个NALU放入一个RTP分组中,它有四种类型: 单一时间聚合分组类型A,单一时间聚合分组类型B,16比特偏移多时间聚合分 组、24比特偏移多时间聚合分组。 (c)分割分组:一个NALU被分割放到多个RTP包中。 传输模式: 单一NALU模式,即一个RTP分组中放入一个NALU。 非交叉模式,这种模式适合于低时延的实时系统,因为它对视频流的打包是 按编码出来的顺序进行的。

基于Android甲台的MID视频监控系统的设计与实现

第2章MID视频监控系统的相关技术

交叉模式,这种模式适用于对时延要求不高的系统,它打乱编码出来的视频 流的顺序,然后进行打包。

2.5.3封包算法研究
H.264视频数据的RTP封包就是把NALU打包进RTP包的负载中,如图2-18 所示。现有的打包算法有:固定包长打包算法乜"、面向实时流媒体的混合模式打 包算法乜81、基于NALU大小的单个或者分割打包算法∞3等。 固定包长打包算法较简单,但它可能导致NAL单元被不合理化分到不同的 RTP包中,增加了包间相关性。面向实时流媒体的混合模式打包算法基于最小化 包间相关性的考虑,将帧组或者整帧打包进一个RTP包的同时,把参数集连同拷 贝到包中。因为基于帧组的打、拆包会导致比较大的时延,因此这种打包算法仅 适应于时延要求低的实时流媒体系统中。基于NALU大小的单个或者分割打包算 法较好地克服了前面两种算法的缺点,但是它会造成一定的浪费。因为NALU分 为VCL NAL和Non-VCL NAL类型,Non-VCL NAL大小较小,把它单独打包进RTP 包是对带宽的浪费。基于以上考虑,本文使用了基于NALU大小和类型的打包算 法。

图2—18 NALU打包示意图

基于NALU大小和类型的打包算法与之前的算法的最大的不同就是对
Non-VCL

NALU采取分组打包的方法,节省了带宽。算法流程如图2-19所示。

旗于Android甲台的gID视频JI;f控系统的设计与实现

第2章MID视频jl;c控系统的卡}I火技术

图2-19基于NALU大小和类型的打包算法流程

2.6本章小结
本章介绍了本文中的远程视频监控系统的相关技术,包括系统开发平台,无 线传输协议802.11,实时传输协议RTP、H.264标准以及H.264视频数据的RTP 封包,为后面的设计与开发工作提供了技术和理论基础。

4十Android■自∞MlDt^%*jl;i控系统的mil%实现

第3章MIO∞控方案”析与∞控#件设*

第3章

MID监控方案分析与监控软件设计

3.1.1客户端和服务端硬件配置
视频监控功能r¨客户端采刖TCL工业研究院自主研发的MID,它作为终端请 求、接收服务器的监控数据,使用3G或WIFI方式连接到服务_l{{},该服务器域名 为:tsmarthome
vicp

net。客户端解码芯片采用TI公司的OMAP3430,其内部

结构如图3 l所示。

服务器端使用智能家居服务器,其采用飞思卡尔推出的基于A1裥926核心IP 的MX27多媒体微处理器,MX27内置H 264硬件编码能力,完成对采集到的视频 信息进行编码。


1.2视颓监控总体环境
如图3-2,在小区网络中.中心服务器与家庭终端服务器连接,完成用户注

册的功能,并保存有用户名、密码及对应的家庭服务器的地址及端口号(可临时 分配)。中心服务器及占终端服务器可通过公共网络与MID进行通信。

基十Android甲台的MID虹靴视频m控系境的设”与丈目

第3*M T0%控目粜丹折5%控轼*Ⅵ“

图3-2视频监控总体阿络环境图

3.1.3远程视顿监控流程
(i)MID终端应用通过输入用户名和密码(用户已向服务器注册用户名和 密码)登录终端,并仅以用户名向中心服务器发送请求,使用TCP协议。中心服 务器的域名、IP地址和端口(通常是6062)采用配置文什的方式读取,通过域

名访问中心服务器,失败再采用IP地址发送请求。
(2)中心服务器接收到请求,通过用户名查询对碰的家庭终端服务器地址 (该地址可与中心服务器的地址一样)及分配端口号,通过TCP协议发送同应, 回应中应包含需要监控的端口号。 (3)MID接收到请求回应,解析出端口号,以此地址、端口及用户登录的

密码对向家庭终端服务器发起数据请求,使用UDP协议。此请求采用命令字(包
括了对密码的md5加密后的数据)。

(4)服务器接收到数据请求,向MID发送视频监控数据。
(5)MID接收到数据后,从缓冲区中读取数据,调用TI接口进行解码、转 换及显示播放。
24

基于Android平台的MID远程视频监控系统的设计与实现

第3章MID监控方案分析与监控软件设计

(6)在监控过程中,MID终端可以切换通道,即可以切换到不同监视器, 包括模拟j|ff视器和数字航视器。MID发送相应命令到终端服务器,并接收对应监 视器的数据。 (7)在监视过程中,MID终端可以设置视频质量,发送视频质量等级命令 请求到服务器,服务器发送调整帧率后的数据。

3.2软件需求分析
3.2.1功能需求 远程监控软件的功能包括基本功能和扩展功能,基本功能需求包括: (1)开始远程监控 MID向远程视频监控服务器发送开始监控的请求,并接收服务器发送的rtp 数据包,对rtp包进行解码并显示。做到延时较少,控制在几秒之内,播放视频 比较流畅。 (2)停止远程视频监控 MID向远程视频监控服务器发送停止监控的请求,以此停止对远端视频监控。 远程监控软件扩展功能需求包括: (1)切换监视视频通道功能 MID提供切换视频通道功能,可选择5个视频通道,对应不同的摄像头。 (2)设置视频质量功能 MID提供设置视频质量的等级,即高、中、低级别视频质量。 (3)根据用户帐号、密码获取房间IP地址和端口号功能 MID向小区中心服务器发送用户帐号,接收小区服务器返回的房间端口号, MID据此向终端服务器发送请求视频数据。 视频监控的数据流图如图3—3所示。

基于Android甲台的MID远程视频舱控系统的设计与实现

第3章MID监控方案分析与jl}c控软件设计

图3-3视频监控数据流图

视频监控的状态转移图如图3-4所示。



图3-4视频监控状态转移图

基于Android甲台的MID远程视频监控系统的设计与实现

第3章MID监控方案分析与监控软件设计

3.2.2性能需求 根据实时监控的特性,系统的性能需求体现在以下个方面: (1)播放监控视频的时候缓冲延时较小,控制在5秒之内;视频播放要平 滑,出现较少的“马赛克”或“花屏”问题。 (2)处理器资源占用率控制在20%以内。处理器资源的占用率与应用软件 的设计有很大的关系。本系统也将考虑如何提高监控软件的效率,降低其占用处 理器资源的比例。

3.3软件功能结构分析与划分
3.3.1软件总体结构
客户端软件系统主要包括人机交互(界面单元)、视频数据的接收与Qos控 制(传输单元)、监控控制(控制单元)、数据分析与处理(解码单元)四大部分, 如图3-5所示。

RTP包火序处 理模块

A 视频流预处理 V。 模块





解码模块

图3—5软件总体结构图

摹十^11droifl甲台竹MID远柙视额峨控系统的设¨与实现

第3审MIDm控方宰”折与m控戟件谢

3.3.2图形界面单元 良好的操作界面在嵌入式系统中占有重要的地位.因为它能极人地方便非专
业用广的使用,如今图形用户界面(GUI)在嵌入式系统得到了广泛的应用。 术监控软件的界面是基于Android的6Ul系统实现的。它由C语言框架和 Java语言框架组成。对下层,Android的GUI系统通过调用显示输出设备和输入 设备的驱动,从而将Android的软件系统和底层的硬件联系起来。对上层, Android的6UI系统提供了Java层次的绘图结构,Android的Java框架层调用 这些绘图接口来构建各种uI元素,这些绘圈接口也可供Java应州程序层来调用。 用户通过在MID浏览{|}}中输入嘲址进入远程控制登陆界面,如图3-6所示。

图3_6远程登陆界面

3.3.3控制单元 控制单元的主要功能是实现MID与服务器之间的会话交互,比如肩动监视、
停止监视、设置视频质量和设置视频通道等操作。 为了实现MID通过无线网络对智能家居室内进行远程视频监视,本系统设计 了相应的监视协议。 1)协议工作原理 视频监视功能中视频流采用H 264压缩算法,使用RTP协议进行数据流传输。 终端向服务端发送ODP协议的控制命令与服务端进行交互.获取数据流后调用 TI接口对码流进行解码井播放。就样就可以实现远程的监视功能。 2)通信环境

通信环境如图3 7所示。

基}An血old十台的MID远程视短牦&系统的设计与实现

第3章WID监控方案分析与监控软件设计

札。。。—团 ㈣


图3—7 WID通信环境



3)控制命令定义 为了实现远程控制,系统中定了以下控制命令.如表3—1所示

表3一l远程控制命令

协 控制命令 功能 议

端 内容


回复 长度

数据
认证密码经过MD5 数据

startvideo

启动监视

UDP

80

加密后形成的字符

42

流 停j}监视 设置视频质量 无 x代表流量大小.可
qualityX UDP 80 8

StOpVideo

UDP

80



无 无

取1,2,3 x可取0,1.2.3.4:0

表示数字摄像头.
channelX

切换视频通道

UDP

80





i,2,3,4分别表示4 路模拟摄像头

其中各控制命令的意义如下所述: (1)启动监视:终端采用UDP协议向服务端的80端口发送命令,命令的内 容为控制命令和密码加密串(字符串组成规则:2个字符串直接相连,即

startvideo】0(XXXXXX,).整个命令使用字符串的形式发送,服务器端收到控制命 令后将按照原路回应RTP视频数据流。所以终端需要在发送控制命令的源端口处

基于Android甲台的MID远程视频jl{c控系统的设计与实现

第3章MID峨控方案分析与豁控软件设计

接收RTP数据流。同时,在监视过程中需要定时发送此命令来保持心跳。 (2)停止监视:使用UDP协议发送字符串stopvideo到服务端的80端口。 (3)设置视频质量:此功能为设置流量参数,1为最小流量清晰度最低,3 为最大流量清晰度最高。 (4)切换视频通道:0表示数字摄像头。1,2,3,4分别表示4个模拟摄像头。 视频切换过程中,必须先关闭当前的监视视频(stopvideo),然后执行切换通道 命令(channelX),最后再启动监视(startvideo)。 4)控制流程 处于监视状态时,需要每隔10秒重复发送启动监视功能的命令一次,当30 秒没有发送后,服务端将停止发送视频流。监视过程中终端与服务端的交互如图 3-8所示。

送视频流◆

图3-8终端与服务端的交互示意图

3.3.4传输单元
H.264视频流通过RTP进行传输,这要求H.264视频数据需要根据RTP规 范封装成数据包。采用简单打包的方案,发送端把H.264的NALU放入负载中, 配置RTP包头的一系列参数,从而形成一个完整的RTP数据包,通过网络发送给 接收端,实现端到端的视频流传输。H.264的视频传输框架如图3-9所示∞Ⅲ。

基于Android平台的MID远程视频监控系统的设计与实现

第3章MID监控方案分析与监控软件设计

图3-9

H.264视频传输框架

本系统具体实现了RTP协议,并使用其传输数据流。传输单元要完成的两个 主要流程是‘3¨: (1)客户端与服务端建立RTP会话。 (2)为解码模块提供RTP数据包。 1)建立RTP会话 建立RTP会话即初始化会话上下文和建立Socket连接的过程: (1)程序先读取配置文件中服务器端的相关信息。 (2)根据(1)中的信息与服务器建立Socket连接。 (3)初始化相关数据结构成员。 2)接收RTP数据包 接收RTP数据包的流程包括以下四个步骤: (1)建立数据接收缓冲区。 (2)调用recvfrom()函数从套接口的描述字中接收数据存储到新建的缓 冲区中。 (3)新建缓冲区,将(1)中的缓冲区内容复制到其中,对(1)中的缓冲

基于Android-甲台的MlD远程视频监控系统的设计与实现

第3章MID监控方,案分析与jl{c控软件设计

区进行置零操作,分析当前缓冲区中的数据得到RTP报文分组,从中取得数据负 载并保存到指定的文件描述字中。 (4)先后释放(3)中和(2)中的临时所占内存。

3.3.5解码单元
解码单元的功能是从缓冲区中读取数据,调用TI接口进行解码、转换及显 示播放,它包括RTP包失序处理模块、视频数据分析与预处理模块和解码播放模 块。RTP包失序处理模块对从网络接口传送过来的RTP包进行失序处理,保证解 码顺序;视频数据分析与预处理模块主要对RTP包进行组包、消除网络抖动和丢 包处理等;解码播放模块主要对视频数据进行解码,格式转换并由播放器播放显 示出来。 解码单元中各模块之间的关系如图3-10所示。

,r



,r



,r



RTP包 RTP包

视频数 据分析
≥ :>

解码 播放 模块




失序 处理 模块
L / L

与预处 理模块

图3-10解码单元各模块关系图

整个软件中有一个进程:主进程;三个线程:网络数据接收线程、解码线程 和播放线程。软件实现中要对多线程进行同步和互斥处理。

3.4本章小结
本章首先提出了MID远程视频监控的方案,接着对监控软件进行需求分析与 功能设计,将系统化分为四个单元:图形界面单元、传输单元、控制单元和解码 单元。界面单元负责与用户的交互,传输单元负责视频流的传输与控制、控制单

基于Android平台的MID远程视频监控系统的设计与实现

第3章MID监控方案分析与监控软件设计

元负责客户端对服务端的监控控制,解码单元负责视频流的解码播放及其Qos控 制。

基于Android平台的MID视频监控系统的设计与实现

第4章KID监控软件的实现

第4章

MI

D监控软件的实现

4.1软件开发环境
MID监控软件的开发环境如下: (1)操作系统:Linux,具体版本是Ubuntu (2)开发工具:ecl ipse3.4和Source
8.10:

Insight3.5:

(3)开发工具包:Android平台中多媒体框架OpenCore集成的TI公司的 ti包和Android
SDKl.5。

4.2软件实现总体技术

软件实现中使用到了JNI技术,JNI是Java

Native

Interface的缩写。JNI

是本地编程接口,它使得Java虚拟机内部运行的Java代码能够与其他编程语言 (如C、c++和汇编语言)编写的应用程序和库进行交互操作口扣。 在Android中提供JNI的方式,让Java程序可以调用C/C++语言程序。 Android中很多Java类都具有native接口,这些native接口就是本地实现, 然后注册到系统中的。 JNI在Android层次结构中的作用如图4—1所示。在本监控软件中,Java 层提供对上层应用的接口,使用Java语言编写实现;JNI层实现相应的功能, 使用C++语言编写实现;网络数据接收层提供RTP数据传输的功能,使用C语言 编写实现。

基于Android甲台的MID视频;l}【控系统的设计与实现

第4章MID Jl{i控软件的实现

JNI




图4-1

们++本地库
JNI在Android层次结构中的作用

本软件中,JNI层实现是通过建立一个视频监控类,包括登录、启动、停止、 切换通道和视频质量大小等操作。程序中需要对JNI方法进行注册方可被上层调 用。注册JNI方法的过程由函数registerNativeMethods()调用
registerNatives static

0完成,其关键代码如下: registerNativeMethods(JNIEnv*
env,

int

const

char*

className,JNINativeMethod,Ic gMethods,int numMethods)

jclass clazz:

clazz=env一>FindClass(className):

if(clazz—NULL){
return

JNI_FALSE:

if(env一>RegisterNatives(clazz,gMethods,numMethods)<0)(

基于Android平台的MID视频;|}c控系统的设计与实现

第4章MID监控软件的实现

return

JNI—FALSE:


return

JNI_TRUE:

其中,gMethods是一个数组,程序中定义如下:
static

JNINativeMethod gMethods[]={

{”native—StartVideo’,’(Ljava/lang/String:Ljava/1ang/String:I)Y’, (void*)android_media_RemoteMonitor_StartVideo),
f∥ 一



prepare,

一()V一,

(voi d*)androi d—media_RemoteMoni tor_prepare), {”native—release”, (void木)android_media_RemoteMoni tor_release),
t {”nativenatlve_setup”,


’0Y’,

’(…Ljava/’‘lang/…Obj‘ect:)Z”, :J Z,

(void*)android_media_RemoteMonitor_native—setup), {”native—finalize”, (void*)android_media_RemoteMonitor_native—finalize),
f—t
?

一()V一,





L091n,
,f

”(Ljava/lang/String:)I”,(void*)android_media_RemoteMonitor_Login}, {”setChannel’。 (void*)android_media_RemoteMonitor_setChannel), {”setQuality”, (void*)android_media_RemoteMonitor_setQuality},
f一
-?

’(I)V”,

一(I)V一,





stopvideo,

∥()V一,

(void*)android—media_RemoteMonitor_StopVideo),

4.3图形界面单元的实现
用户界面是基于Android的GUI系统实现的。具体由类VideoMonitor实现,

37

F自的NID‰频%控东缱的设{|与蛮现

镕4#MID

4—2所示

-m^:hmn

-stop:自№

?Ⅲ融№w:Th¨时r -n翮晌0挑w:S响。帅w

-r|6Ll巾∞Ha№c§施∞№Her

-mPam:SnW

-r向%wOⅢ:S口mO -mH0n怕栩Hl:女ring

+mh蛳m∞l:RadioGroup +rr妇舶mL虻hannel:lhdioGmup

+n鼬纰:Ra洲on +怖蛐:RaGrx:48ul:ton
+mh如1:hd∞unOn
+mhdOmanneH

+||Rad咖mell:Radb&m。n +哝adOmame口勋凼D&m∞ +m%dm帆0 bdb&m帅
R}曲htt。n +Ⅱ由dod%me6:Ra曲Bm卟 -nRep啪br:胁m0№Hon如r
。rnChsngeRadio:RadbGroup

?以hn∞曲…如如RadioG'oupO瞳h酣州曲a哔Ln"er
+帕eaIe由”dr胁n∞Sb№轧MleY
mⅢ慨幅):void
+*tusterc,tsO:vdd
void

0Il口m№dC№nge№ner

。playⅥdeo(p:Stdn9一password;靳i∞,p毗眦)void

+su晌哦№ng鼍d恒嘲∞k●*r:自向∞H。H%Fomt:¨w:眦h:h日:"Ⅺ +su向oH-棚№dsLrbo目州eR¥urfa∞Morder):void +su晌∞0目m∞”非una∞№№r:SugamHold日):voH
图4-2 VideoMonitor共图

终实现的效果幽如幽4 3所示。

图4-3监控界_血

基于Android甲台的MID视频j|;c控系统的设计与实现

第4章MID监控软件的实现

程序中,用户登陆/注册时输入的用户名需要通过服务端的认证,而且密码 要经过MD5算法加密。 MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子 分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32 位分组级联后将生成一个128位散列值‘331。

4.4控制单元的实现
客户端控制单元的丰要实现由类RemoteMonitor(如图4-4所示)完成,客 户端通过UDP协议发送命令字给服务端,服务端对命令字进行解析,采取相应的 措施。

-mNativeContext:int -rnlJstenerContext:int -mSurface:Surface —mSurfaceHolder:SurfacelloUer

±eH△胜醚EL△瞠△四正堡;lDi
‘mInitializationLooper:Looper

+getRemoteMonitorO:RernoteMonitor +RemoteMonitorO +setDisplay(sh:SurfaceHolder):void +finalize():vo础 +release():VOid +play(ip:String,password:String,POrt:int):void -native_setupOet_.this:Object):boolean ?native_finalize():void -native release():voⅪ +prepare():void +setChannel(channel:int):voⅪ +setQuality(quality_level):void +stopvideoO:vo妇 +Login(usernarne:Strhg):int ?native_StartV妇eo(v:String,password:Stnng,port:int):void

图4-4

RemoteMonitor类图

以用户点击监控按钮(即发送Play命令)为例,其函数调用过程如图4—5

基于Android甲台的MID视频j|;i控系统的设计与实现

第4章MID监控软件的实现

所示。

Java应用phy(String ip,String Password,int pon)



native_StartVideo(String ip,Stung
password,int

port);





android_media_RemoteMonitor_StartVideo(JNIEnv+env, jobject flfiz,jsujng strIPjstrig strPassword,jint port)

1r

RemoteMonitor::startvideo(const char+ip,const char’Password,int port)



Java_com_monitor_monitouStartVideo(eonst char*pathStr,
const char‘Password,int

usLocalPort)
△II曲卸m硅徊

创建网络接收线程


_煺_l盱H钠仕


pthread_ereate(&hReceiveTh

主进程

readNGLL,ReceiveTbreadN
切r上);

pthread._ereate(&hDecodeThrea d,NULL,I)ecodeThread,NULL)




—,

通过seIccc函数读取 网络数据包,直到 接收到上层应用的 停止命令

- 1 循环进行,直到退出



调用11解码接口进行解码播放,


直到数据为空

............一
图4-5开始监控函数调用示意图

摹于Android平台的MID视频jl;c控系统的设计与实现

第4章MID监控软件的实现

4.5传输单元的实现
4.5.1

RTP相关数据结构

在PTP.h的头文件中具体定义了RTP协议相关数据结构,如下所示: 数据报文结构:
typedef struct


rtp—hdr
rtp—.ext

*RTP header: *RTP extens i on:

.随Header RTP j}{ /,Ic extension of the header if exist

%|。 char long *payload; payload—lenj

沁payload portion of RTP packet≮|

?毒The

length of the payload卑?

)rtp_pkt:

RTP头部结构:
typedef struct


u_int8 flags:

序Version(2),Padding(1),Ext(1),Cc(4)

薯||


int8 intl6 int32 int32 int32 hdr:

mk_pt: sq_nb:
ts:
ssrC:

A Marker(1),PlayLoad Type(7)木/
捧Sequence Number蠢f .溶Timestamp≮{ k SSRC鼻| .椿CSRC。S table≮}









*csrc:

)rtp

头扩展结构:
typedef struct



基于Android甲台的MID视频监控系统的设计与实现

第4章MID监控软件的实现



intl6 intl6

ext—type:

h Extension profi 1e聿1『



ext—len: *hd_ext:

嘛Number

of extensions≮j|

u_int32

慷Extension’s table≮}

)rtp_ext:

同步源结构:
typedef struct contributor


u_int32
struct ssrc:

/,lc

SSRC for this contributor木/

contributor*next:

嘛Next contributor黑}

)contributor—t:

RTP会话上下文结构:
typedef struct


int u_int32 u_int32 u_int32 u_int8 u_int8 u_int8 u_int8 u_int8


conte xt_num; my_ss rej

泌Context number薯|
h SSRC number絮}

sendi ng_pkt—count j|≮Number of packets sent≮j| sendi ng_octet—count j|聿Number of bytes sent≮{ version: marker: padding: CSRCI en:
pt:

.障Version≮| 溶Marker flag≮|| .沁Padding length≮| .‰CSRC length≮} 陪Payload type≮}

int32 int32 int32

*CSRCListj

陬CSRC list≮{|



my_previous—ssrc:}鼍actually unused≮} init—RTP_timestamp:/木First value of timestamp



u_int32

RTP_timestamp:

/木current value of timestamp

基于Android平台的MID视频监控系统的设计与实现

第4章MID监控软件的实现

≮{


int32

time—elapsed;沁Time

elapsed since the beginning

≮j|


intl6 intl6

ini t—seq_no;|≮First
seq_no:

sequence

number≮}
number j}I|



}≮Current

sequence

rtp_ext

*hdr—extens i on: *conx—data:

.障Extens i on header≮11

void

.汊Network data≮|。

)sess—context—t:
4.5.2

RTP实现流程

图4-6 RTP实现流程

RTP实现的流程如图4-6所示,详细实现介绍如下: 1)为RTP会话上下分配内存并初始化,该部分由函数RTP_Create(context *the—context)完成,其先后调用ITP Context_Create(the_context),
RTP—Session

Save_Cxinfo(*the_context,conx_cc)完成会话上下文的创建与

初始化后上下文信息的保存。 2)创建和绑定RTP套接字,该部分由函数Create—Socket 0完成,其调用

基于Android甲台的MID视频豁控系统的设计与实现

第4章MID jl}c控软件的实现

sockfd=socket(AF_INET,SOCK DGRAM,0)创建套接字。如果创建套接字成功, 调用bind(sockfd,(struct sockaddr木)&local,sizeof(10cal)绑定套接字。 3)取得并保存本地IP地址,随机产生同步源标志并创建新的同步源,设置 规范名。 关键代码如下: gethostname(name,20): if((h=gethostbyname(name))!=NULL){ p=inet_ntoa(*((struct in_addr水)h->h_addr)): strcpy(src—ip_add,p): ) 其中,h为指向hostent结构体的指针,hostent结构体的定义如。卜.:
struct

hostent{

char*h_name:

char料h-aliases:
i nt h_addrtype: int h_length: char**h_addr;

}.I 其中,char*h_name表示的是主机的规范名;char**h_al iases表示的是 主机的别名;int h_addrtype表示的是主机ip地址的类型;int h_length表 示的是主机ip地址的长度;int**h—addr表示的是主机的ip地址,函数 inet_ntoa0将字节形式的网络地址转换成“.”点隔的字符串格式。 4)判断会话是否结束,若不是,进入(5);若是,结束网络数据接收线程。 5)接收RTP包,该部分由函数RTP—Receive(context
*payload,int*len,struct cid,int fd,char

sockaddr*sin)完成。接收RTP数据包的主要流

程包括: (1)创建接收RTP包的缓冲区,缓冲区大小在配置文件中指定。 (2)调用recvfrom接收数据并存储到缓冲区中,处理得到负载数据,最后 释放相关内存。

基于Android-甲台的MID视频监控系统的设计与实现

第4章MID监控软件的实现

其函数调用顺序如图4-7所示:

sz



r目2vfrom(fd,bur,MAX_PACKET_LEN,0,sin,&sin._len)

1L
IVIEM_SALLOC(msg。sz)


memcpy(msg,bur,sz)


memsetCouf,0,.NdAX_PACKET_LEN)


pkt 2

Cmt_RTP_Hdr(msg,sz)


mzmcpy(payload,pkt_>p∞7lo矗d,?len)

1L
free(nlgg)

Jr
Fme_Tmp_Mem(pld)

图4-7数据接收处理函数调用示意图

6)更新新包的顺序号。 7)设置时间标签和序列号信息。 8)将5)中接收到的RTP数据包加入视频帧缓冲区队列中,以备解码线程 解码使用。 9)回到步骤4)继续执行。

4.6解码单元的实现
4.6.1

RTP包失序处理模块

解码端接收到的数据包很可能是乱序的,这是因为RTP包在达到客户端前经 过的网络路径可能不同。为了对视频流进行正确的解码,在解码前有必要对失序 的RTP包进行重排序,确保解码播放的效果。服务端每发一个RTP包,序列号就

纂于Android甲台的MID视频监控系统的设计与实现

第4章眦D:I;i控软件的实现

增加1,本系统中对RTP包失序的处理正是基于序列号进行的,采用双向链表的 数据结构,其中链尾指钏‘指向序列号最大的RTP包,链首指针指向序列号最小的 RTP包,将当前RTP包从链尾开始比较,按序插入链表,整个算法流程如图4-8 所示。

返回


图4-8

RTP包失序处理算法流程

4.6.2视频预处理模块

基于Android平台的MID视频监控系统的设计与实现

第4章MID监控软件的实现

此模块包括对RTP包的组包、消除抖动和拥塞处理。 1)组包 由于传输过程中网络MTU大小的限制,一个较大的RTP包可能被分片传送到 客户端,所以客户端接收到的一个包可能不是一个完整的视频帧。为此,客户端 要进行组包,其算法流程如图4-9所示。

图4-9组包算法流程

2)消除抖动 系统中使用环形缓冲区来消除抖动,如图4-10所示。缓冲区大小为n。read 代表读指针,write代表写指针。一开始,read和write都指向缓冲区最开始的 位置,每向缓冲区中放入一个RTP包,write按图示方向移动到下一个缓冲位置, 每从缓冲区中读出一个RTP包,read也按图示方向移动到下一个缓冲位置。当 读read赶上write,表示缓冲区已字:当write赶上read,表示缓冲区已满。

47

基于Android甲台的HID视频jl{i控系统的设计与实现

第4蒂HID jI{c控软件的实现

/,。’

’同 I..一、

乒, 嘏、
日’
图4-10环形缓冲区示意图



3)拥塞处理 H.264标准中帧的类型包括三种:I帧、P帧和B帧。由于本系统中针对的 是H.264基线等级的编解码,没有使用B帧。由2)可知,缓冲区的大小是一定 的,当服务器编码端的发送能力大于客户端解码的处理能力,一段时间后就会产 生拥塞的情况口引。此时必须丢弃某些帧,根据I帧与P帧的特性,丢弃帧的时候, 应当首选P帧,其次才会丢充工帧。解码端丢包处理的流程如图4-11所示。

图4-11丢包处理流程

基于Android平台的MID视频豁控系统的设计与实现

第4章MID监控软件的实现

4.6.3解码播放模块
程序在主进程中通过新建一个新的线程,调用外部的解码函数来对视频帧进 行解码,关键代码如下: execv(”/system/bi n/Vi dDecTe乳一common’,cmd_argv) 其中VidDecTest—common是编译TI解码程序后形成的Android.mk可执行程 文件,其关键代码如下: LOCAL—PATH:=¥(cal l my—dir)
i nc l ude¥(CLEAR-VARS) LOCAL—PRELINK_MODULE:=fal se

LOCAL—SRC—FILES:=\
VidDecTest.c l

MPEG4DecFunctions.C\ MPEG2DecFunctions.C\
H264DecFunct i ons.C\ WMV9DecFunctions.C

LOCAt£INCLUDES?=|
¥(TI—0MX vIDEO)/video—decode/inc\

“TI—OMX_COMP-tINCLUDES) LOCAL—SHARED_LIBRARIES:=¥(TI_OMX-c0MP_SHARED LIBRARIES)
LOCAL—CFLAGS:=¥(TI-oMX_CFLAGS)
LOCAL_MODULE:=Vi dDecTest—common i nc l ude¥(BU I LD—EXECUTABLE)

cmd_argv是传入的相关参数,程序中定义如下:
char*cmd

argv口=

rVidDecTest—common”,”0”,’/tmp/rec.264”,”/tmp/rec.bc”,’/tmp/rec.yuv’,

’352”,”288”,”4。,’0”,”l”,”4”,”4”,”1”,”0”,”0”,”25”,(char木)0) 接着执行VideDecTest.C程序,其中调用H264DecFunction.C中的四个接口 函数完成解码过程,这四个函数如表4-1所示。

49

耩于Android甲台的MID视频;I:f控系统的设计与实现

第4章MID豁控软件的实现

表4-I解码接[J函数

函数名 H264VlDDEC_Al locateResources
H264VlDDEC SetParamPortDefinition

函数说明 完成资源分配与解码设备初始化 设置解码需要的相关参数 向缓冲区填入数据进行解码 释放相关资源,关闭解码设备

H264VIDDEcj i I i_Data
H264VIDDEC_FreeResources

4.6.4多线程的同步与互斥处理
监控软件的缓冲结构如图4—12所示。网络接收线程从网络接口读取数据流, 把其放入接收缓冲区中,放入时可能要进行RTP包失序处理。解码进程从接收缓 冲区中读取数据,把其放入视频帧缓冲区中,放入时可能要进行组包。视频数据 环形缓冲区具有消除抖动的作用,当解码器有足够的资源处理视频数据时,它从 视频数据环形缓冲区中取得数据进行解码,否则将会进行丢包处理。解码器解码 后得到YUv格式的视频流,经转化为RGB格式,将其放入显示缓冲区中,播放器 从显示缓冲区中取得1fUV格式的视频流,最后播放显示出来。

网络接


接收缓
冲区

袭蕃藿吲鹏器吲嚣吲撇器 瓣萋吲解码器H嚣H播放器
图4-12 多级缓冲的数据流图

线程的引入是为了减少程序并发执行时所付出的时间和空间开销,使系统具 有好的并发性口51。从以上分析可以发现,网络接收线程与解码线程都要对接收缓 冲区进行操作。网络接收线程不能往“满”的接收缓冲区中放入数据,解码线程 不能从“空”的接收缓冲区中取走数据。所以,网络接收线程与解码线程需要进 行同步处理。同时,由于在缓冲区中要进行RTP包失序的缘故,两者还必须互斥。 在linux中,线程间的同步可以通过pthread_cond_t定义条件变量,用函 数pthread_cont—signai 0和int
pthread—cont—signal

0来实现,线程间的互
mutex—lock

斥可以通过pthread_mutex—t定义互斥体机制,用函数pthread
pthread_mutex

0和

10ck0来实现m1。下面的伪代码段(1)和(2)分别描述了两线

基于Android平台的MID视频监控系统的设计与实现

第4章MID监控软件的实现

程之间的同步与互斥:
(1) int pthread cont_wai t

0:

i nt

pthread_cont__wai t

0:

/水往接收缓冲区里放数据水/
i nt pthread—cont—s i gnal

/术从接收缓冲区里取数据木/
int pthread_cont—signal

0:

0:

(2)
int pthread_mutex—l ock 0: int pthread_mutex_lock 0:

/宰往接收缓冲区里放数据:lc/
int pthread_mutex—unlock

/水从接收缓冲区里取数据,lc/ 0:
int pthread_cont_unlock 0:

4.7本章小结
本章根据第三章的设计,具体实现了监控软件中各模块,重点是RTP协议的 实现、解码播放的实现和解码播放的Qos控制实现(包括RTP包的失序处理、组 包、消除拉动和拥塞处理)。

4十AndreId f7e的M[D‰频%拄最纽的槛,I与盘m

第5¥HID*额《&软件∞Ⅻ*

第5章

MID视频监控软件的测试

5.1测试环境
测试相关条件如下: (1)测试平台:Android(基于linux系统内核) (2)终端:TCL
MID

(3)网络:WIFI无线网络 (4)服务器:TC[。智能家居服务器 (5)测试码流类型:基于H 264杯准编解码 (6)辅勘测试计算机配置:Intel(R)Core Duo CPU (7)辅助测试工具eclipse3 删试Ⅱ1蒯络结构如图5 l所示。


E7400@2

80GHz(双核)

。时—卜禽
翔5lⅫI试环境州络结构罔

5.2软件功能测试

测试的丰璺1:作是验证监控软件在功能上是否满足设计需求以及软件的健 壮性。 功能测试结果如表5—1所示。

基十Android平台的um视频赫控系统的设“与实现

第sm mD规额%&#件∞女I*

表5-l功能测试结粜

预期功能 支持无线同络远程监控 支持用户的开始/停I【:监控操作

I测试结果 1满足预期设计 l满足预期鼓计

支持用户选择设置低、中和高视频质量操作 支持用户切换监控通道操作

l满足预期设计
l满足预期设计

图5-2是一个监控场景图。

图5-2某监控场景罔

5.3软件性能测试
测试时通过MID内置的智能监控软件Lite可以实时查看到处理器资源使用 率,如图5-3所示。

4十Androi df自的MIDm%*控东%的☆{1々女现

始5¥M10视频Ⅲ控戟件的月H

圈5-3处理器资源使用牢实时查看

为了较准确地测试软件的稳定性和其MPU占用率,实际测试时按如下步骤进 行: (1)将MTD与辅助计算机相连,在linux操作系统下kill除系统进程和监 控软件进程外的其它进程。 (2)在eclipse3 4开发环境下,每隔一秒读一次linux系统下的proc/stat 文件得到当前MPU的使用情况信息,并将其写入文本文件,然后将文本文件中的 数据导八EXCEL,对其进行分析处理,最终得到某段时间内MPU资源占用率统计 信息,删试结果如图5-4所示。

圈5-4处理器资源占用情况

基于Android.甲台的MID视频监控系统的设计与实现

第5章MID视频监控软件的测试

测试结果分析: (1)图中黄线代表处理器空闲资源,黑线条代表监控软件占用的资源,蓝 线代表系统内核进程占用的资源,红线代表系统负进程占用的资源(测试时由于 其值很低,在图中其几乎与横轴重叠,不能显著地看到)。从图中我们可以发现, 监控软件所占用的资源在9.9%-15.2%之间,系统所占用的资源比例在10%左右, 系统空闲资源比例大致在73%-81%之间。 (2)处理器使用率在19%一27%之间,监控软件运行较平稳,资源占用率在 9.9%一15.2%之间,基本达到了预期的效果。

5.4本章小结
本章提出了监控软件的测试环境,对监控软件进行了功能与性能测试,最后 对测试结果进行了分析。

基于Android平台的MID视频监控系统的设计与实现

第6章总结与展望

第6章

总结与展望

本文对MID监控软件进行了详细的分析与设计并最终实现,整个过程中通过 阅读相关的技术文档,深入学习嵌入式软件开发的一般流程和研究算法原理,进 一步提高了发现问题,分析问题和解决问题的能力。 系统的设计特点与优点: (1)采用H.264压缩标准,具有较强的容错能力与网络适应能力。 (2)软件设计时采用了模块化设计思想,系统具有较好的逻辑性,充分考 虑到以后的移植、维护和扩展。 (3)基于开源Android平台开发,可以根据客户的不同需求对软件进行定 制和扩展,具有一定的实用价值。 系统存在的不足和将来工作的展望: (1)监控软件运行时屏幕上画面偶尔会出现“花屏”或者马塞克。 (2)在传输控制方面,采用的是RTP协议,为了更好地对传输进行控制, 在今后的工作中可引入RTCP协议,进一步提高传输的可靠性与质量。 (3)服务器端的用户管理平台需要进一步的开发。 (4)本文对客户端的数据流的接收与传输进行了优化,解码前进行了预处 理,但对服务器端并没有进行相应的优化工作。

基于Android平台的MID视频监控系统的设计与实现

参考文献

参考文献
[1]原林于伸.嵌入式技术在智能家居控制系统中的应用.自动化技术与应用,
2006,25(1):72

[2]西刹子.安防天下——智能网络视频监控技术详解与实践,北京:清华大学
出版社,2010:3-10 [3]郭卫华.模拟视频监控系统之过去、现在和将来.中国安防,2008(Z1):54-57 [4]江潮等.基于网络的数字视频监控系统.武汉大学学报(自然科学版),2000,
46(5)

[5]石头张笑微周建雄.智能网络视频监控系统.兵工自动化,2009,28(12):
7l

[6]余腊生刘勇.基于网络的智能视频监控系统的设计与实现.计算机工程与设 计,2009(16):31 [7]李磊.视频监控关键技术及其应用前景.湖北:湖北省通信学会2006学术年 会论文集.2006:283-285 [8] E2Ecloud工作室.深入浅出Google Android,北京:人民邮电出版社,2009:


[9]

Ron

Price著,冉晓昊王彬王锋译.无线网络原理与应用,北京:清华大

学出版社,2008:137 [10]庄捷.流媒体原理与应用,北京:中国广播电视出版社,2007:27 [11]David
for


D.Clark and David L.Tennenhouse.Architectual Considerations New Generation of Protocols.ACM

SIGCO删Computer Comunication

Review,1990,20(4):200—208

[12]高旭沈苏彬.网络多媒体实时传输协议浅析.计算机应用研究,2002(2):


[13]郑亮.MPEG-4流式播放的设计与实现.武汉:华中科技大学,2005:13 [14]H.Schulzrinne,et
a1.RTP:A Transport Protocol for Real—Time

Applications,2003.7

基于Android平台的MID视频jl;f控系统的设计与实现

参考文献

[15]朱鹏李春文.基于RTP的网络视频传输系统的设计与实现.计算机工程与 应用,2003,39(26):19 [16]毕厚杰王健.新一代视频压缩编码标准:H.264/AVC,北京:人民邮电出版 社,2009:66 [17]楼剑陆亮虞露董洁.H.264标准的特点及其改进研究.数字电视与数字视 频,2003(6):14 [18]Keith Jack著,杨征出尊华张杰良陈虎译.视频技术手册,北京:人 民邮电出版社,2009:550 [19]Jerry
D.Gibson,Toby Berger,Tom Lookabaugh,Dave Lindbergh and

Richard L.Baker.Digital Compression for Multimedia:Principles and Standards.Morgan Kaufmann Publ i shers,Inc.1998

[20]陈倩高新波.符合H.264标准的一种基于内容的变尺寸宏块分割方法.中 国图像图形学报,2007,12(3):421 [21]黄健张琳.H.264视频技术研究.计算机与数字工程,2006,34(7):84 [22]高庆王志刚.H.264码流结构的分析.电脑知识与技术,2008(36):
2751-2752

[23]严晓飞.H.264码流结构的分析及其实现的优化.西安:西安电子科技大学,
2007

[24]魏于涛刘琚李善彬.基于H.264的流媒体服务器的设计和实现.现代电视 技术,2008(7):78-80 [25]S.Wenger,et
a1.RTP Payload Format for H.264 Video.RFC3984,2005.2

[26]肖娅.H.264视频流实时传输系统的研究与应用.北京:北京邮电大学,2008:
27

[27]M.G.Martini,M.Mazzotti,M.Chiani.Fixed—Packet—Length
for Error Resillent of Video the TransmiSSion 13th Over

Transcoding WCDMA Packet Radio Video

Links[J].Proceedings

International

Workshop.Apr i i,(2003):28—29

[28]魏聪颖等.基于实时流媒体传输系统的H.264组包算法研究[J].计算机科 学,2007(34):41-44

基于Android平台的MID视频监控系统的设计与实现

参考文献

[29]曲丽君.基于H.264的视频流式传输技术研究.哈尔滨:哈尔滨工程大学,
2007

[30]史凯雒江涛张治中.基于RTP的h.264无线视频传输和Qos控制.微计算 机信息,2009,25(2):162 [31]马川刘志镜.视频实时传输的RTP实现.现代电子技术,2004(20):41-43 [32]韩超.Android系统原理及开发要点详解,北京:电子工业出版社,2010:
96

[33]毛明陈少晖袁征贾永兴.关于Hash函数MD5的解析.计算机科学,2009,
36(11)

[34]Reza Rejaie,Deborah

Estrin,Mark

Handley.Quality Adaptation for
over

Congestion Controlled Video Playback Computer Communication

the Internet,ACM SIGCOMM

Review,1999,29(4):189—200

[353陈向群杨芙清.操作系统教程,北京:北京大学出版社,2001:134 [36]金惠芳陶利民张基温.Linux下多线程技术分析及应用.计算机系统应用,
2003(9):30—32

61

#十AndroidT台的MID视频龃控东统的设¨与盘现

仆#简月

作者简历
姓名:胡晓乐 籍贯:江西景德镇 性别:男 出生年月:1986年9月

参与课题


中国广东核电集团ue HR项目 TcL工业研究院HID项目 广州市科技立项项目一嵌入式人脸识别

≯ ≯

基于Android平台的MID视频监控系统的设计与实现

致谢

致谢

首先,我要向我的指导老师倪德明教授表达我最诚挚的感谢,感谢他在论文 的开题选材,写作过程中所给予我的指导与帮助。他严谨的治学态度和丰富的工 程实践经验对我影响深刻,让我受益终身。在此,还要特别感谢马争鸣教授,感 谢他多次帮我解答论文写作过程中遇到的问题。 其次,本论文的完成还要感谢TCL工业研究院Android平台项目组的陈吾云 技术总监、古晓峰软件经理、罗或成工程师以及其他同仁。感谢他们在我实习期 间给予我的技术上的指导及生活上的帮助。 最后,谨以此文献给我挚爱的父母、关心和帮助我的朋友,你们是我不断前 进的动力。谢谢你们!

胡晓乐 2010年5月

基于Android平台的MID视频监控系统的设计与实现
作者: 学位授予单位: 胡晓乐 中山大学

本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y1691294.aspx



相关文章:
基于Android的实时监控系统的设计与实现
基于Android的实时监控系统的设计与实现_计算机软件及应用_IT/计算机_专业资料。...将 视频流传送给以手机为平台的客户端上,使用户可以远程观看某些特定场所的画面...
基于Android的远程视频监控系统的设计与实现
基于Android的远程视频监控系统的设计与实现 - 摘 要 视频监控技术在安全领域发挥着重要作用,尤其是伴随移动通信的快速发展,视 频监控从有线网络监控发展到了移动...
基于Android的视频监控的研究与实现
作为 网 络数字视频监控系统的重要延伸和完善,有些媒体甚至把 3G 视频监控称为...基于Android平台的MID视... 66页 免费 基于Android平台的视频监... 60页 免费...
基于Android手机的远程视频监控系统的设计与开发
基于Android手机的远程视频监控系统的设计与开发_机械/仪表_工程科技_专业资料。基于...基于Android智能手机远程... 3页 免费 基于Android平台的MID视... 66页 免费...
基于android的智能手机视频监控系统的设计与实现
基于android的智能手机视频监控系统的设计与实现_IT/计算机_专业资料。移动流媒体...基于Android平台的视频监... 60页 免费 基于Android平台的MID视... 66页 免费...
基于Android平台的无线家庭监控系统的设计与实现
基于Android平台的无线家庭监控系统的设计与实现 - 摘要 随着嵌入式技术及无线通信技术的发展,将家庭中各种通讯设备、家用电器、 家 庭安防设备等利用现代计算机技术...
基于Android平台的手机视频监控客户端的设计_毕业设计(...
基于Android平台的手机视频监控客户端的设计_毕业设计(论文) - 本科毕业设计(论文) 题目 基于 Android 平台的手机视频监控客户端的设计 诚信承诺书 本人承诺:所呈....
基于Android手机的音视频监控软件的设计与实现毕设论文...
基于Android手机的音视频监控软件的设计与实现毕设论文 - 基于 Android 手机的音视频监控软件的设计与实现 学专班学姓 院业级号名 计算机学院 计算机科学与技术...
基于Android智能手机的车辆远程监控系统的设计与开发
基于Android智能手机的车辆远程监控系统的设计与开发_互联网_IT/计算机_专业资料。基于 Android 智能手机的车辆 远程监控系统的设计与开发 重庆大学硕士学位论文(学术学...
基于Android的3G手机移动视频监控系统设计
基于Android 的 3G 手机移动视频监控系统设计 摘要: 为了使视频监控更加灵活方便,能够随时随地地采集视频,采用 3G 手机作为视频 客户端和采集端, 通过 RTP 协议在...
更多相关标签: