基于Web的视频图像的实时传输_第1页
基于Web的视频图像的实时传输_第2页
基于Web的视频图像的实时传输_第3页
基于Web的视频图像的实时传输_第4页
基于Web的视频图像的实时传输_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、视频图像传输按其实现方式,可分为专用设备方式和计算机网络两大类。前者是采用专用线路,并配合相应设备实现;而后者则是通过计算机网络结合数字多媒体技术来传输视频图像信息的,随着因特网技术的迅速普及和多媒体技术的发展,这种方式的优势已越来越明显,必将成为未来视频监控系统的主流方式。本文结合我们在开发基于的机器人远程控制系统中Web 的应用,将技术与视频图像实时传输结合起来,利用Web 小应用程序和(实现Java Applet JMF Java Media Framework 了基于的视频图像的实时传输。该系统可广泛应用于基Web 于的远程监控、医疗诊断、多媒体教学等领域。Web 视频图像传输方案及语

2、言的支持1 Java 视频图像传输方案1.1 技术以技术为基础,具有简单、高效、跨平Web HTTP 台等优点,已经成为计算机网络的一种最普遍应用的信息交互平台。基于的监控系统采用的实现模式,由于采Web B/S 用浏览器作为统一的客户端,相对于传统的模式,它具C/S 有许多显著的优点:用户界面一致、友好,方便了用户的使用;软件的安装、维护和升级容易,客户端只要拥有一个通用的浏览器即可访问系统系统具有良好的可扩展性功; 能扩展的工作只需在服务器上完成,所有客户端软件都不需要改动。鉴于技术的以上优点,我们采用基于的结Web Web B/S 构实现视频图像的实时传输,用户可在任何一台接入网络的计算

3、机上通过通用的浏览器进入系统的登录界面,通过Web 基本信息验证以后,用户监控界面程序将自动地下载到客户端运行,实现远程监控。语言与技术1.2 Java Java Applet 作为一种优秀的面向对象的编程语言,具有简单、Java 可移植、分布式、多线程、安全稳定等诸多优点,最显Java 著的特点是其平台无关性,可以“编译一次,处处运行”,而且几乎从一开始就与网络联系在一起,是一种比较理Java 想的网络编程语言。尤其是技术,程Java Applet Java Applet 序是嵌入在文档中,在标准的浏览器中显示运行,这HTML 种方式不用专门的开发软件与网络的接口,是基于的网Web 络应用程

4、序的比较理想的选择。随页面一Java Applet HTML 同被下载,并在本地运行,增强了客户端的处理能力,减轻了服务器的负担,和其他应用程序不同,具有浏Java Applet 览器强制安全机制,可以阻止访问本地系统资Java Applet 源,它能以很小的代价、安全地传送并被执行,不会破坏网络资源。用户一旦载入,就可以安全地生成用户界面Applet 和完成复杂的计算,而不必担心病毒的入侵,这对于远程监控系统的安全性是很有帮助的。本系统正是采用了技术、网络编程、Java Java Java 以及在多媒体领域的扩展应用,实现了基于Applet Java JMF 的网络视频图像实时传输。Web

5、与协议1.3 JMF RTP 媒体框架(是一个应用程序接口,是在Java JMF Java 多媒体领域的一个扩展应用,它为管理音频、视频等时基媒体数据的获取、处理和传输提供了一套统一的体系结构和消息协议。支持大多数标准的媒体类型,为多媒体开发者JMF 提供了一个强大的、跨平台、可开发升级性强的软件工具。主要包括两个部分:和。前JMF JMF API JMF RTP API 者的主要功能是捕捉、处理、存储和播放媒体;后者的主要功能是在网络上对媒体流的实时传输和接收。实时传输协议(是网络上针对多媒体数据流的一RTP 种传输协议,为实时数据(如音频、视频等提供端到端的服务。通常运行在之上,是面向无连

6、接的传输RTP UDP UDP 层协议,避免了协议的重传机制、拥塞控制机制和报文TCP 头大小等在网络音视频等多媒体数据传输上的缺陷。能RTP 以有效地反馈和最小地开销使传输效率最佳化,特别适合传输网络上的实时音视频等多媒体数据。提供了对实时传输协议的支持。由框架和JMF RTP JMF基于的视频图像的实时传输Web 沈进棋,阮锋,诸静(浙江大学电气工程学院,工业控制技术国家重点实验室,杭州310027摘要: 介绍了在网络视频图像实时传输技术上的技术优势,并采用开放的网络体系架构模式,实现了视频数据在网络中的实时传Java B/S 输,具有简洁而又灵活的特点。该系统可广泛应用于基于的远程监控、

7、医疗诊断、多媒体教学等领域。Web 关键词:;视频传输;WebJava AppletReal-time Transmission of Video Image Based on WebSHEN Jinqi, RUAN Feng, ZHU Jing(College of Electrical Engineering of Zhejiang University, National Laboratory of Industrial Control Technology, Hangzhou 310027【Abstract 】The paper introduces the technical adv

8、antage about network video image real-time transmission based on Java, which opens exoteric network frame B/S mode.The real-time transmission of video image is made by using it. The system designs simple and flexible ,and can be widely used in the field of remote control ,medical treatment diagnosis

9、 and remote teaching etc.【Key words 】;Web Video transmission Java Applet第31卷第1期Vol.31 1计算机工程Computer Engineering2005年1月多媒体技术及应用中图分类号:TP37文章编号:10003428(200501 018702文献标识码:AJanuary 2005协议结合形成的结构如图所示,基于的RTP JMF-RTP1JMF多媒体传输示意图如图所示。RTP2 图结构1 JMF-RTP图传输示意图2 JMF-RTP视频图像实时传输的实现2 Java系统的所有软、硬件设计都在服务器端实现,硬件方

10、面服务器端只需普通的基于(的视VFW Video for Windows频捕获设备,通过提供的视频图像捕获方法采集视频信JMF号,由硬件(图像采集卡或者软件(内置的压缩算JMF法对数据进行压缩,然后通过协议把视频信号实时地RTP发送出去。在客户端,用户登录到服务器后,在通用的浏览器上下载并运行服务器端的程序,利用协议Java Applet RTP接收实时视频图像信息,并由内置方法对视频数据进行JMF解压,然后进行视频播放。服务器端功能实现2.1服务器端主要是独立运行的应用程序,负责完成客Java户端连接请求的监听、视频图像的捕获、媒体流格式的转换以及发送。服务器端监听程序作为一种实时传输协议,

11、实时性是其最大的特点, RTP为了保证数据能实时地传输到客户端,采用了主动推(Push技术,技术是指由服务器激发数据传输,并控制数据的Push流向,数据的传输是由服务器端“推”向客户端的。与传统的拉(技术相比,技术具有信息获取的高效性和Pull Push实时性,能充分利用网络资源,提高网络的吞吐量。在理论上,技术是指服务器不需要客户端的请求即可主动地将Push数据发送到客户端,但在实际应用中,这个服务的主动性有一定的限度,即应该对有需要的客户提供主动服务。因此,在服务器端需要建立一个后台监听的服务程序,不断监听来自客户端请求的信息,以便将视频图像信息及时地传送到有需要的客户端。我们在服务器端采

12、用类创建了一个固定端ServerSocket口的“监听”套接字,用来监听客户端的连接,若建立新的连接,则返回此客户端的地址等信息。类IP MySocketServer 为监听客户端连接的线程类,类为处理已AddTargetThread建立的连接的线程类,在这里,有socket AddTargetThread3个参数,分别是已建立连接的,用于显示目前连接信socket息的和用于视频图像捕获和传输的。对于每list1rtpTransmit一个建立连接的,实例化一个将它加socket AddTargetThread入目的会话地址。部分关键代码如下:监听客户端连接的线程类/MySocketServer

13、public class MySocketServer extends Thread 初始化和构造函数/public void run ( 创建“监听”对tryServerSocket s = new ServerSocket(port; /象while (true 接收客户端连接请求 try Mysocket = s.accept(; /if (Mysocket != null 实例化一个线程处理已建立连接的/AddTargetThread,socketAddTargetThread ATT = new AddTargetThread(Mysocket, list1, rtpTransmit

14、;ATT.run(;异常捕捉/处理已建立的连接的线程类/socketclass AddTargetThread extends Thread 初始化和构造函数/public void run( try InetAddress client = socket.getInetAddress(;获得地址/Internet获得客户端地址 ClientIP = client.getHostAddress(; /IPif (ClientIP != null 建立连接连接情况更新 list1.add(ClientIP + ; /list1rtpTransmit.addIPTarget(ClientIP;将获

15、得的客户端添加到目的会话地址/IP 异常捕捉区/视频图像的捕获与发送提供了访问系统的媒体捕获设备,如从麦克风捕获JMF音频、从摄像头捕获视频,并对所捕获的媒体流进行各种处理的功能。实现媒体数据捕获的步骤如下:通过调用类查询系统提供的捕获设(1 CaptureDeviceManager备,并获得捕获设备的对象;CaptureDeviceInfo从对象中获得所需设备的一个媒体定位(2 CaptureDeviceInfo器,并利用这个媒体定位器来创建一个数据源MediaLocator;DataSource创建这个数据源的一个播放器或者处理器(3 Player;Processor启动播放器或者处理器来

16、开始捕获过程。(4对视频图像进行捕获后,要传输流,必须使用处理RTP器产生编码的输出数据源,然后创建一个会RTP DataOutput话管理器或者数据汇集点来控制传SessionManager DataSink输。处理器的输入为当前捕获的实时数据,也可以是存储的媒体文件,整个传输过程如图所示。2通过会话管理器传输数据时,主要由RTP RTPManager 类实现。从处理器取回输出数据源后,构造一个DataOutput管理器,分别用本机和目的机的地址及端口号构造两RTP IP个会话地址,将它们赋给管理器,调用的RTP RTPManager(和的方法就可以开始createSendStream Se

17、ndStream start( 数据流的发送。关键代码如下:RTP为指定的媒体定位器定位并实例化一个适当的数据源/通过数据源创建一个处理器/配置处理器/设置输出内容描述为格式/RTPContentDescriptor cd=newContentDescriptor(ContentDescriptor. RAW_RTP;188(下转第198页自动绘制试运行中,绘制了张不同的实际电网图,二次布10线对象条,尚无一例失败。100规范化程度4.3本文算法更多地融入专家绘图的知识和经验,并充分考虑电网图的工程规范,同时各分支树及其图元的布局为自动布线又做了合理铺垫,因此基于产生式系统的布线规范程度高于其

18、他的布线算法。结语5将专家原本做得较好的工作交给计算机,若能够更多且恰当地将工作知识和经验融入应用系统,就能在不明显降低甚至不降低工作质量的前提下,突现计算机的工作特长。本文展开的研究是用人工智能的方法解决实际问题的一个成功尝试,其中的关键是对实际问题的智能方法描述和构建反映人类解决问题的知识和经验推理策略及算法;另外,面向对象的软件开发技术5,6,也使该系统易于嵌入其他电力系统可视化操作管理系统中 7。参考文献黄敏潘郁在电力调度自动化系统制图子系统中的1 , . AutoCAD应用南京工业大学学报自然科学版J.:,2003,25(2:94-97朱永利粟然电力系统厂站主接线图的自动生成电力系统

19、及其2 , . .自动化学报J,2000,12(1:41-44洪先农严晓浪超大规模集成电路布图理论与算法北京科学3 , . M.:出版社,1998:182-207蔡自兴徐光佑人工智能及其应用北京清华学出版社4 ,. M.:,1989: 14-126王萍王利军面向对象电网知识库系统的研究与实践电力系统5 , . .自动化J, 2002, 26(11:62-65范文涛薛禹胜面向对象技术及其在电力系统中的应用电力系6 , . . 统自动化J,1998,22(12:72-767 Xing Weiguo, Yu Yixin. A PC-based Distribution Automated Mappi

20、ng /Facility Management System. International Journal of Electrical Power & Energy Systems, 1998,20 (6(上接第页188Processor.setContentDescriptor(cd;从处理器获取输出数据源/DataSource dataOutput = processor.getDataOutput(;设置本机和目的地会话地址/rtpMgrs = RTPManager.newInstance(;rtpMgrs.initialize(localAddr;rtpMgrs.addTarget(d

21、estAddr;SendStream sendStreasm = rtpMgrs.createSendStream(dataOutput,0;开始数据流发送SendSrtream.start(; /RTP对新增加的客户端,用如下方法加入目的地会话地址: public String addIPTarget (String ipAddressInetAddress ipAddrs = InetAddress.getByName(ipAddress;SessionAddress destAddr = new SessionAddress(ipAddrs,Videoport;加入目的会话地址rtpMg

22、rs.addTarget(destAddr; /运行于客户端的程序实现2.2 Applet客户端实时媒体数据的接收和播放是由运行在客户端浏览器中的程序实现。这部分程序的主要功Java Applet Applet能是建立与服务器套接字的连接,以便于服务器获得Socket客户端地址等信息,同时也用来传输一些控制信息;然后IP将从服务器发送来的媒体数据进行接收和播放。运行在客户端浏览器中的关键类是实现视频数据接收和播放的类。在这个的中,主要从RTPPlayerApplet Applet init(程序中获得客户端所接收媒体数据的服务器地址和端HTML口,并由负责启动视频会话。StartSession

23、Manageraddress = getParameter(videosession;portstr = getParameter(videoport;StartSessionManager(address, StrToInt(portstr;在(中创建一个新的会话管StartSessionManager RTP理器,并将它注册为一个新的会话监听者。RTPSessionManager mymgr = new RTPSessionMgr(;mymgr.addReceiveStreamListener(this;SessionAddress sessaddr = new SessionAddress(destaddr, port, destaddr, port+1;mymgr.initSession(localaddr, mymgr.generateSSRC(, userdesclist, 0.05,0.25;mymgr.startSession(sessaddr,1,null;同时还要监视事件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论