基于JAVA的远程视频监控系统设计

更新时间:2024-05-29 23:19:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘要

随着移动通信技术不断更新发展的时代到来人们越来越方便的使用手机来连接网络;用手机来监听家里或者其他室内场所状况,将带来很大便利。所以远程视频监控系统在近年来得到越来越广泛的关注。

基于JAVA和JMF技术设计出了一种通用的远程视频监控系统,拥有执行性好,移植性强等特点。远程视频监控系统主要包括两部分,分别为手机远程控制端和本地受控端,重点研究了系统本地受控端软件部分,本地受控端模块通过摄像头采集视频图像形成流媒体,会在本地电脑受控端显示出来,并对图像压缩通过TCP/IP 协议Socket通信技术发送至手机远程控制端来实现对远程本地受控端的视频监控。实现了远程视频的实时监控,可以随时随地的查看本地受控端的监控画面。并且通过测试,实现远程监控功能,并且画面流畅,清晰,达到设计所预期要求。

关键字:远程视频监控 JAVA媒体框架 TCP/IP协议 Socket通信技术

ⅠI

Abstract

With the mobile communication technology development people use mobile phones to connect the Internet more and more convenient. It will bring great convenience to using mobile phones monitor home or other indoor location. So the remote video monitoring system is getting more and more attention in recent years.

A universal remote video monitoring system based on JAVA and JMF technology is designed, which has the characteristics of good performance, portability, and so on. Remote video monitoring system mainly includes two parts, respectively are mobile phone remote control terminal and locally controlled end.The paper focuses on the local system controlled end software.Locally controlled end module through the camera acquisition video image formation of streaming media, which will be displayed at the end of the local computer controlled. The compressed video image is sent to the remote control terminal by TCP / IP protocol socket communication, which realized the remote and local controlled end of video surveillance. Real time monitoring of remote video had realized at any time and anywhere. Through testing, the picture is smooth, clear, which meets the expected requirements of the design.

Key words: video surveillance JAVA media frame TCP/IP protocol Socket

communication technology

II

目录

第一章 绪论 ...................................................................................................................... 1

1.1课题背景及研究意义 .............................................................................................. 1 1.2视频监控系统的基本原理 ...................................................................................... 1 1.3视频监控系统应用现状 .......................................................................................... 2 1.4视频监控系统的发展趋势 ...................................................................................... 4 1.5论文组织结构 .......................................................................................................... 5

第二章 远程视频监控总体方案和环境搭建 ......................................................... 7

2.1远程视频监控系统设计 .......................................................................................... 7

2.1.1远程视频监控系统网络结构设计 ................................................................ 7 2.1.2远程视频监控系统总体结构设计 ................................................................ 9 2.2远程视频监控系统开发环境Eclipse ...................................................................... 9 2.3远程控制端Android平台 ..................................................................................... 11

2.3.1 Android平台介绍 ........................................................................................ 11 2.3.2 Android系统的优点 .................................................................................... 12 2.3.3 Android 应用程序结构 ............................................................................... 12 2.4本章小结 ................................................................................................................ 13

第三章 本地受控模块软件设计与实现 ................................................................ 14

3.1JAVA媒体框架(JMF) ............................................................................................ 14 3.2基于JMF的传输模型的整体设计 ....................................................................... 17

3.2.1视频采集 ...................................................................................................... 17 3.2.2视频图像编码 .............................................................................................. 19 3.3本章小结 ................................................................................................................ 21

第四章 远程控制端连接与数据图像传输 ............................................................ 22

4.1远程控制端总体方案设计 .................................................................................... 22 4.2通信连接技术 ........................................................................................................ 24

4.2.1通信协议 ...................................................................................................... 24 4.2.2 socket通信连接 ........................................................................................... 25 4.3本章小结 ................................................................................................................ 28

第五章 总结与展望 ...................................................................................................... 29

5.1总结 ........................................................................................................................ 29 5.2展望 ........................................................................................................................ 29

参考文献 ........................................................................................................................... 31 致谢 .................................................................................................................................... 32 附录 .................................................................................................................................... 33

第一章

第一章 绪论

本章主要介绍视频监控的发展历程及国内外的现状,并通过介绍模拟视频监控、数字视频监控、网络视频监控来概述监控系统的组成和结构,为移动远程视频监控的定位和实现做准备。

1.1课题背景及研究意义

随着改革开发的不断深入,人民的生活水品不断提升,国民经济和科学技术的不断提高,生活环境和人们日常工作环境的要求越来越高。介于目前情况下,人们越来越希望在一些环境恶劣,位置偏远或者在某情况下可能危及人身健康甚至生命的条件下。无人职守作业已经成为许多行业的迫切需要。鉴于现今各行业的安全要求,每天随时随地的派出人员去现场值班工作是对人力和物力的一种浪费,而且对于一些突发状况,也不能及时的处理。鉴于这种状况程的视频监控系统的设计就被提出。

应用于公用网络或者专业网络,远程控制中心可对远程施工现场实时监看,还可以对现场的施工状况进行录像。拥有这样功能的监控系统的开发,可以很大提高工作效率,而且能够确保安全。对于系统加以改动,就可以应用于其他的远程视频监控方面。随着电信网络行业的不断发展,视频监控系统不断被应用到各行各业,得到了广泛的关注。

视频监控系统拥有信息含量丰富、监看直观有效、查看方便等特点。近年来被不断应用到工业、生产、交通、银行等公共场所中。传统的安防监控已经不能满足现代的需要,视频监控应逐步与管理信息系统结合,以达到信息共享,提供更有效、更方便的决策方案。

本课题主要目的在于开发一套执行高、可靠性强、使用便捷、可移植性的远程视频监控系统,适用于普通家庭。

1.2视频监控系统的基本原理

无论监控系统发展怎样迅速,都不会偏离其宗旨,视频监控系统组成包括三个模块单元:前段摄像、传输、后台处理。视频监控必需解决视频如何采集、如何传输和如何使用三个问题如图1.1所示。 1.前端摄像部分

前端摄像部分负责在前端通过监控现场的各种摄像设备对监视区域进行数据采集。目前市场上的主流摄像机仍然是CCD(Charge Coupled Device)摄像机,其分类如表1.1所示。

1

2.传输部分

传输部分主要通过同轴电缆、光纤、双绞线、光线等有线传输介质,或者电磁波等无线传输介质,来充当信号的信道。传输方式一般是在小于两千米的距离采用电缆线或者双绞线,大于两千米的距离则采用光纤传输。 3.后台处理部分

后台处理部分的主要责任为存储信息、显示视频信息和管理视频信息,主要包括监控管理平台、显示设备、监控客户端。

表1.1 CCD分类

分类依据 灵敏度 分类情况 一般型(像素在38万以下)高分辨率型(像素在38万以上) CCD靶面大小 1英寸、2/3英寸1/2英寸、1/3英寸、1/4英寸 供电电源 AC220V、AV24V、DC12V 同步方式 内同步、外同步、功率同步、机外同步 扫描制式 PAL制式、 NTSC制式 分类依据 形状 分类情况 枪式、针孔形、半球形 图1.1 视频监控系统基本原理图

前端摄像部分 传输部分 后台处理部分 监控管理平台是视频监控系统的处理信息部分,可以对控制视频采集端摄像机所采集到的视频信息会进行存储和回放。在监控客户端用户可以登录监控管理平台,对远程视频图像进行监控。管理平台可分三个平台,分别为运维信息管理平台、报警与监控系统平台。监控管理平台需要实现的功能为编码设备的连接与认证、用户的连接与认证、前端设备和解码设备的同一控制、码流的连接和分发、业务管理和级联管理。如图1.2所示。

监控客户端分为电脑客户端和可移动客户端,每一类又可以分为C/S模式和B/S模式两种。C/S模式需要在客户端安装软件,B/S模式用户可以在浏览器中安装所需插件。电脑客户端拥有实时监控、多屏多画面查看、画面回放、语音双向对讲等功能。

1.3视频监控系统应用现状

现当代人们对于安全越来越重视,在安全领域中视频监控技术占有重要的地位。

2

视频监控技术拥有信息含量丰富、监看直观有效、查看方便等特点,不断被应用到工业、生产、交通、银行等场所中,特别在重要的部门和重大的事件中,例如奥运会、上海世博会、亚运会等安防监控中。在进入新世纪以来,威胁到人名安全的因素原来越多,例如恶性突发事件和恐怖分子的破坏与袭击。这些威胁相比以前来讲在规模、范围、频率、技术手段、危害性方面达到了极为严重的地步。所以视频监控技术作为安防系统的重要部分,关注度和重视程度不断提高。目前在各个国家智能化视频监控系统已达到战略高度,无论从经济方面还是政治方面都得到巨大的投入。 公安监控部 监控 服务 数据报表 数据报表 操作客户运维管理平台 监控客户端 接警终端 数据报表 领导终端 公安运维部公安领导决数据报表 公安接管中 报警服务 报警与监控系统平台

人员组织 图1.2 监控管理平台结构示意图 监控资源 IT设施 联动 报警运维服务平台 报警资源 工作流程 现代科学不断发展特别是在计算机数据处理方面、网络传输方面、存储量方面的不断提高。视频监控技术随着视频信息处理技术的发展有了很大的提高,视频进入了全数字化、网络化、智能化的时代。

第一代模拟系统是由模拟摄像机和模拟录像机组成的模拟视频监控系统。数据传输、存储都是模拟方式。相对是比较容易实现的一种系统,但是图像存储的时间比较短,而且画面质量不高,查询的速度也慢,除此之外维护所需的费用也比较高,已经逐步退出市场。

第二代数字化系统是由模拟摄像机和数字硬盘录像机组成的视频监控系统。当前应用的视频监控系统主体,传输信号仍然为模拟信号,缺点是传输距离短、所需信道

3

宽。

第三代数字化系统是由网络摄像机和视频服务器组成。数字化系统在远程视频监控方面得到应用,是通过网络传输压缩后的数据,而且解决了传统视频传输的瓶颈。 对于上面所述的三代系统仅仅具有数据记录、简单的运动检测和报警功能,功能简单不具有目标辨别、行为自动理解、事件认知等能力,还需要专业人士来进行实时的查看、对图像不断分析,以此来得到现场场景的安全性评价,故而上述的视频监控系统都是非智能的。重要的目标或事件需要做到一刻也不能错过,尽管现在成像的设备、视频压缩技术、通信连接技术、数据存储等方面不断提高且技术日趋成熟,但是传统的监控系统仍然是以人为中心的被动工作模式,不具备智能性,无法识别威胁的存在,对于视频的分析和理解主要还是监控者来负责。视频分析技术的严重滞后对视频监控系统的智能化产生了严重的阻碍,使得视频检测系统只能简单的对时间进行记录,存储用作证据,不能对可能发生的威胁和危险进行分析和报警。

1.4视频监控系统的发展趋势

新时代的到来,随着社会的不断发展,经济水平的不断提高,用户不再满足于传统的视频监控手段,对于监控系统提出了更高要求,例如无间歇实时监控,无论身处何地都可以随时随地查看监控视频,在客户端可以看到流畅、清晰的高清画面等等要求。这些使得视频监控系统必须拥有网络化、智能化、数字化的特点。 1.智能视频监控

面对海量的视频监控数据,如何有效利用从而能及时地半段摄像机所面对的场景中的3W,即Who、Where、What。现近主要采用人工的方式应对该问题,包括人工查看、人工回放”检索“和对比分析。因此通过模式是被等人工智能技术,减轻人力负担,及时分析所监控的内容,提高监控的效率和准确性,是智能监控的主要目标。 目前智能视频监控技术已经能成功地应用于某些场景。例如,在摄像机出现被遮挡、被移动、模糊等情况时,能及时自动调整角度,并发出相应的报警信息以通知维护人员进行维护;通过识别目标的运动情况进行情况可疑目标检测,当目标超出监控范围时,摄像机可自动通知相邻的摄像机进行协同工作,由相邻摄像机继续跟踪目标,并发出报警信息。 2.高清视频监控

高清视频监控正在对整个视频监控产业产生广泛而深刻的影响。在高清视频标准中,视频从最低标准到较高标准一次为720线非交错式逐步扫描(简称720p)、1080线交错式隔行扫描(简称1080i)和1080线非交错式逐步扫描(简称1080p)。随着图像清晰度的不断提高,很多应用可以深度分析局部图像并获得更多的图像细节信息,大大缩小了识别精确度与用户期待的差距。在非高清监控的场景中,人脸识别技术往往只

4

能应用于经特别设计的出入口通道等场合,识别效率不高,而高清监控可以将人脸识别技术的应用拓展到更多常见应用场合,如城市治安监控、银行营业厅监控和车站广场监控等。 3.移动视频监控

如今移动视频监控在电信运营的推动下,也有了新的进展,但对移动视频监控尚无明确的标准定义。业界认为,无论是视频采集端还具有移动性还是后台移动端具有移动性,都属于移动视频监控的范畴。例如,车载摄像机可以将一些实时情况上传给监控中心。此外,在一些危险场景下(如易燃易爆、烈性传染病、生化等危险区域),可采用无线监控对其进行监控。上述应用属于采集端具有移动性。中国电信所研究开发的“全球眼”,实现了图像前端采集和后台监控端都具有移动的性能,使得监控更加方便,“全球眼”是一种基于IP技术和宽带网络技术的可以实时的远程视频监控业务。分散、独立的采集点图像信息通过网络视频监控业务平台进行联网处理,以实现可以跨区域的统一监控、管理、存储,以此来达到用户进行远程视频监控、管理、信息传递的需求。所以移动化、高清化、智能化是视频监控发展的必然趋势。 4.当前国内视频监控技术存在的问题

视频监控技术在国内还处于相对滞后状态,目前中国并没有真正属于自己品牌的智能远程视频监控系统产品,而且产品研发和市场推广存在明显的缺陷。

(1).缺乏自主知识产权。当前市面上销售的智能视频监控产品,大部分主要来自于美国、欧洲与以色列等国。大部分的产品售价较高、性能不可靠。国外的厂商控制了核心的技术,使得维护、安装等方面都必须使其全方位参加,而这些给国家安全带来巨大的威胁。这也使得我国的“金盾工程”等公共安全项目无法安全放心使用。 (2).国内生产和推广企业大多数处于非智能范畴阶段。对于目前“智能视频监控”还是停留在网络视频阶段的概念上,但是并不具备“智能化”视频监控的真正内涵。随着技术的不断进步,视频监控技术的应用领域也可以进一步的扩展。山洪灾害频发,如果能基于视频监控等技术建立起一套较为完善的山洪预警系统,则可以把灾害带来的灾难最小化,降低灾害带来的国民经济损失。

总之,智能化、高清化、移动化是视频监控发展的必然趋势,作为一个新时代富有挑战性的研究方向,对于安防事业、国内的研究机构、视频监控产业,都具有重要的理论研究意义和实用价值,然而要想真正实现监控技术的进步还需要大量的工作。随着相关科学技术的发展与成熟,真正智能化、高清化、移动化的视频监控系统必将在未来的生产、生活中发挥重要的作用。

1.5论文组织结构

本论文通过对视频监控的现状分析和总结,提出了一种远程视频控制系统。并在

5

本系统中研究了利用JMF框架来视频获取与通过TCP协议Socket通信视频图像传输等关键技术。

本论文的章节安排如下:

第一章为绪论,主要介绍课题背景及研究意义,视频监控系统的基本原理、应用现状与发展趋势。

第二章为远程视频监控总体方案设计和环境搭建,主要包括远程视频监控视频网络结构设计、远程视频监控总体结构设计与搭建远程视频监控系统开发环境eclipse,对Android平台进行了介绍,列举了Android系统的优点,Android应用程序结构进行了说明。

第三章为本地受控模块软件设计,介绍了JMF框架结构,并利用JMF对传输模型整体设计,并且重点研究了视频采集过程与实现与视频图像编码传输。

第四章为远程控制端连接与数据图像传输,重点是对远程控制端应用程序进行设计,对于通信连接关键技术进行重点研究与应用。

第五章为总结与展望。对全文的工作内容进行描述与总结并指出需要完善的地方和方法,对系统后续开发进行展望。

6

第二章 远程视频监控总体方案和环境搭建

随着计算机网络技术和电信行业的发展,手机作为视频监控终端在市场上崭露头角。传统的的电脑作为显示终端,具有可移动性差,实时传输延迟等缺点。随着Android手机的普及,手机作为监控终端已成为必然趋势。JAVA语言语法规则类似C++语言,是一种可以通过解释方式来执行的语言。同时,JAVA具有跨平台的程序设计语言。可以运行在任何平台和设备上,如跨越IBM个人电脑、MAC苹果计算机、各种微处理器硬件平台,以及Windows、UNIX、OS/2、MAC OS等系统平台,真正实现“一次编写,到处运行”为开发者缩短开发周期和成本。

2.1远程视频监控系统设计

本文设计方案为本地电脑为受控端,远程手机为控制端并通过TCP/IP协议Socket通信技术连接实现实时视频传输,远程视频监控。相对传统视频监控,拥有可移动性好、实时性高、成本低等优点。本地受控端由eclipse环境JAVA语言开发。

2.1.1远程视频监控系统网络结构设计

C/S(Client/Server)结构即客户机和服务器结构。C/S结构分为Client端和Server端,该结构充分利用了两端硬件环境的优点,使得系统的通讯开销降低。

目前对于应用软件系统大多数采用此种结构,分布式的Web应用发展是现在的软件应用系统的趋势,此种情况下Web和Client Server应用和不同的模块共享逻辑组件的可以得到很好的应用。所以无论外部还是内部的客户都可以访问新系统和现有的系统,可以通过现有应用系统中的逻辑扩展出新的应用系统。目前应用系统的发展方向也是这样。

B/S(Browser/Server)结构即浏览器和服务器结构。Internet技术的不断发展,使得C/S结构发生改进,生成此种结构。通过WWW浏览器可以获得用户的工作界面,在客户端仅有极少事务逻辑实现,实现主要事务逻辑的地方是在服务器端,故而所谓三层结构形成。降低了客户端的荷载,系统维护与升级的成本和工作量减轻,使得用户的总体成本降低。

Client/Server结构建立基础是局域网,Browser/Server结构建立基础是广域网。总结它们主要的区别如下:

(1)硬件环境不同

C/S的建立基础一般是专用网络,局域网通信或者范围较小的网络环境,利用专门服务器达到通信连接与数据交换的目的,特点是数据传输较快。

B/S的建立基础为广域网,网络硬件环境要求较低,像一般的电话上网都可以,但是必须要有操作系统与浏览器,这点要求较高。

7

Android应用程序的四个组成部分之间是相互独立的,互相之间的调用和协调工作主要是由Intent协助完成的。Intent 负责对具体应用中的一次操作动作、动作所涉及的数据、附加数据等进行相应的描述,Android则根据此Intent 的相关描述,负责找到与之对应的组件,并将Intent传递给调用的组件,完成 组件的调用过程。

在Intent 的描述结构中,有两个最重要的部分,动作和动作对应的数据以及一个表示这个数据的URI 。Android使用了Intent这个特殊类,用于描述一个 应用将会做什么事,实现Activity与Activity之间的相互切换。 (3) Service

Service是运行在系统后台的生命周期长却没有用户界面的应用程序。例如 在一个多媒体播放器的应用过程中,会有多个让使用者可以选择歌曲并播放歌 曲的Activity 。然而,对于音乐重新播放这个功能并没有设置对应的Activity, 因为使用者会默认在导航到其它界面时音乐应该还会在继续播放的。媒体播放 器在工作的过程中,Activity会使用Context.startService ()来启动一个Service进程,用以保持音乐在后台的连续播放。与此同时,系统也会自动保持这个Service 一直执行,直到这个Service运行结束为止。为了使多媒体媒体播放器可以进行暂停、重播等操作功能,还可以通过使用Context.bindService ()方法,将其连接到一个Service上 (如果这个Service还没有运行将启动它),当连接到一个Service之后,还可以用Service提供的接口与其进行通讯。 (4) Content Provider

Content Provider可以保证应用数据与其他的应用进行共享,将应用程序中的数据保存到SQL数据库中、文件中、甚至是任何的有效设备中 。Content Provider是一个特殊的存储数据的类型,实现了一组标准的处理方法,提供了

一套标准的接口来获取和操作应用数据应用程序可以通过唯一的Content Resolver界面来使用某个具体的Content Provider ,Content Resolver提供的方法包括query ()、insert ()、update ()等,能够让其他的应用保存或者读取该Content Provider处理的各种数据的类型。在Android系统平台中,每一个应用程序都运行在各自的进程中,当一个应用程序要访问其他应用程序的数据时,就需要数据在不同虚拟机之间传递,这时候就需要Content Provider来解决不同应用包之间的数据共享。

2.4本章小结

本章主要对远程监控系统的网络结构进行了介绍并采用C/S结构,总体结构进行了设计,并对开发环境eclipse进行了搭建。阐明了eclipse开发环境的优点。重点介绍了Android平台的优点与应用程序的结构。

13

第三章 本地受控模块软件设计与实现

视频数据的采集是视频监控系统实现的第一步,也是视频压缩和视频传输的基础。本系统软件由JMF框架提供视频信息,在传输中,图片是不能直接传的,因此需要把图片变为字节数组,然后传输比较方便;再通过socket通信传输到手机上。

3.1JAVA媒体框架(JMF)

JMF 为JAVA语言程序的一个类包,拥有处理媒体的能力,对于JAVA平台的功能进行了扩展。主要能够实现的功能有:媒体捕获、压缩、流传、回放,对各种媒体形式和编码的支持,例如IBM 的HotMedia 和Beatniks 的Rich Media

Format(RMF)、Macromedias Flash、H.263、M-JPG、MP3、RTP/RTSP(实时传送协议和实时流转协议)等。Quicktime、Microsofts AVI 和MPEG-1 等媒体类型JMF2.11都可以支持。

了解JMF 的体系架构,是开发JMF 应用程序之前所必须要做的事情。接口和类是必须了解的。JMF系统架构和一般家用的摄像机系统类似。首先,摄像机拍摄到画面与声音,然后将拍摄到的画面与声音刻录在录像带中,录像带可以在播放机中播放,播放机将视频信号传输给显示设备,音频信号传输给音响设备,如此我们就可以在显示设备上看到画面,音响中听到声音。JMF API提供了相同的模型。

对于JMF结构的详细解析,我们可以做一个简单的比喻利用立体音响。CD唱片中所录制的数据是在录音棚中利用麦克风或者其他设备所录制下来的,当播放CD唱片时,唱片会将录制的数据提供给系统,播放机会将数据中包含的音乐信号传输到系统音箱中。在上述的例子中,音频截取设备为麦克风,数据源为CD唱片,输出设备为音箱。JMF的结构与立体音响类似,JMF的组成部分主要为以下术语: 数据源(Data source) 截取设备(Capture Device,包括视频和音频截取设备) 播放器(Player)处理器(Processor)数据格式(Format)管理器(Manager) 简单介绍下术语的意义。 1.数据源

数据源中拥有媒体数据流,就像CD唱片中所包含的歌曲一样。DataSource对象为数据源,可以为多媒体文件或者是数据流从互联网上下载而来。如果确定DataSource对象的位置和类型,多媒体的位置信息和能够播放该多媒体的软件信息就存在与对象中。DataSource对象被创建后,会被送入到Player对象中,Player对象不在乎DataSource中的多媒体是获得途径,以及格式。

14

在一些特殊情况下,需要将多个数据源合并成一个数据源。例如,需要将音频数据源和视频数据源合并在一起,制作一段录像。JMF支持数据源合并,在后面将介绍这一点。 2.截取设备

截取设备是指能够截取视频或者音频的硬件设备,如摄像机、麦克风等。Player对象可以处理截取到的数据。 3.播放器

在JMF中Player是对应播放器的接口。音频/视频数据流被Player对象作为输入,数据流被输出到音箱或者屏幕上,跟CD播放器能够读取唱片中的歌曲,然后信号被送到音箱上一样。在JMF中Player对象有六种状态,在一般正常状态下Player对象需要逐步经历每个状态,才能播放多媒体。对这些状态下面作简要说明。

● Unrealized:一般在此种状态下,Player对象已经被实例化,但是对于需要播放的多媒体信息却不知道。

● Realizing:当realize()方法被调用时,Player对象的状态从Unrealized转变为Realizing。在目前状态下,Player对象正在确定需要占用的资源。

● Realized:在此状态下Player对象已经确定所需要的资源,并且也确定播放的多媒体的类型。

● Prefetching:当prefectch()方法被调用时,Player对象的状态从Realized变为Prefetching。在此种状态下的Player对象正在为播放多媒体做准备工作,例如获得需要独占的资源,加载多媒体数据等。这个过程被称为预取(Prefetch)。 ● Prefetched:该状态为Player对象完成了预取操作后就到达。

● Started:当start()方法被调用后,Player对象就进入了该状态并播放多媒体。 4.处理器

Processor为处理器对应的接口,是一种播放器。在JMF API中,Processor接口继承了Player接口。 Processor对象不仅能够支持Player对象所支持的所有功能,而且能够控制输入的多媒体数据流进行的处理类型,通过数据源向其他的Processor对象或Player对象输出数据。

除了以上提到的六种状态外,Processor 对象还有两种新的状态,这两种状态是在Unrealized状态之后,但是在Realizing状态之前。

● Configuring:当configure()方法被调用后,Processor对象进入该状态。在此种状态下,Processor对象能够连接到数据源并获取输入数据的格式信息。 ● Configured:完成数据源连接,并获得输入数据格式的信息后,Processor对象就处于Configured状态。 5.数据格式

15

Format对象中能够保存多媒体的格式信息。此类对象中本身并没有记录多媒体编码的相关信息,但是保存了编码的名称。Format的子类包括AudioFormat和VideoFormat类,ViedeoFomat又有六个子类:H261Format、H263Format、IndexedColorFormat、JPEGFormat、RGBFormat和YUVFormat类。 6.管理器

JMF提供了下面四种管理器:

● Manager:Manager相当于两个类之间的接口。例如需要播放一个DataSource对象,便可以通过使用Manager对象创建一个Player对象来播放。Manager对象可以创建Processor、Player、DataSink和DataSource对象。

● PackageManager:此类管理器中保存了JMF类注册信息。 ● CaptureDeviceManager:该管理器中保存了截取设备的注册信息。

● PlugInManager:该管理器中保存了JMF插件的注册信息。 示例一:创建一个Player对象

在JMF编程中,最常见的工作就是创建一个Player对象。可以通过Manager类的createPlayer()方法创建Player对象。Manager对象使用多媒体的URL或MediaLocator对象来创建Player对象。当获得了一个Player对象后,可以通过调用getVisualComponent()方法得到Player对象的图像部件(Visual Component,在图像部件上可以播放多媒体的图像)。然后将图像部件加入到应用程序或Applet的界面上。Player对象还包含一个控制面板,在上面可以控制媒体的播放、停止和暂停等。 Player类中的很多方法只有在Player对象处于Realized的状态下才会被调用。为了保证Player对象已经到达了该状态,需要使用Manager的createRealizePlayer()方法来获得Player对象。另一种方法,利用start()方法,可以在Player对象到达Prefetched状态之前调用该方法,此方法可以自动将Player的状态转换到Started状态。 示例二:截取多媒体数据

在JMF程序中多媒体数据的截取是另一个非常重要的功能。可以按照下面的步骤截取数据:

● CaptureDevieceManager可以查询获得所希望使用的截取设备。 ● 获得该设备对应的CaptureDeviceInfo对象。

● 从CaptureDeviecInfo对象中获得MediaLocator对象,然后利用它创建一个DataSource对象。

● 使用DataSource对象创建Player对象或Processor对象。 ● 调用start()方法,开始截取多媒体数据。

可以使用CaptureDeviceManager对象获得系统中可用的视频和音频截取设备。通过调用getDeviceList()方法你可以获得设备的列表。每个设备都对应一个

16

CaptrueDeviceInfo对象。也可以通过调用CaptureDevieceManager对象的getDevice()方法来获得特定的CaptureDeviceInfo对象。在使用设备截取多媒体数据前,还需要从CaptureDeviceInfo对象中获得设备对应的MediaLocator对象。然后你可以直接使用MediaLocator来构造Player或Processor的实例,也可以用MediaLocator构造一个DataSource对象,然后将DataSource对象送入Player或Processor对象中。最后调用start()方法来截取多媒体数据。

3.2基于JMF的传输模型的整体设计

该系统分为客户端程序和服务器端程序。服务端程序安装在本地受控计算机上,实现视频的截取与传输,客户端程序安装在远程手机上,实现视频流的接收与播放。该系统的硬件包括相互联网的远程手机,本地计算机和一个普通的视频头。该视频头安装在本地受控计算机上,实时的截取图像,并生成视频媒体流。本地受控程序对视频流进行处理后通过网络向远程手机发送视频流,远程手机接收到视频流之后,在手机的屏幕上显示出来。系统整体模型如图3.1 所示。 捕获设备 数据源 图像处理 Internet 数据编码程数据源 数据源 数据编码图3.1 JMF的传输模型的整体模型 手机屏幕显示 3.2.1视频采集

通过JMF来获取视频信息,进行图像采集的程序实现流程图如图3.2 程序具体实现视频采集过程如下: 1.打开视频设备获取摄像头数据流 具体步骤如下:

先把所有的捕获设备调出来,所有的视频捕获设备的名字都是以vfw开头的,所以取得捕获设备列表中以vfw 开头的设备名字就是视频捕获设备。定位所需要用的捕获设备,可以通过查询CaptureDeviceManager来定位。CaptureDeviceManager是可在JMF中使用的全部捕获设备的注册中心。可以通过调用CaptureDeviceManager的getDeviceList方法获取可用的捕获设备列表。

17

本文来源:https://www.bwwdw.com/article/8kc6.html

Top