基于WEB的音视频交互组件设计与研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
网络信息多元化发展,使音频、视频数据的实时交换成为WEB应用的必要组成部分。提供这种服务的关键点在于,如何在HTTP协议本身的无状态性以及WEB浏览器基于文本的信息处理方式等约束条件下,使音视频实时交互服务能与WEB元素无缝协作。
     本文以现有的多媒体及网络技术为背景,阐述了一个基于COM技术、能与WEB页面元素平滑交互的音视频通用组件的设计方案。本通用组件运行于Win32环境下Internet Explorer浏览器中,可配置成在线直播(一对多)、远程监控(多对一)、视频会议(多对多)、视频聊天(一对一)等应用模型。组件各模块及其自身均为COM组件并遵循DirectShow框架。组件基于ATL开发,以Activex控件形式封装,嵌入WEB页面中通过属性与事件的方式与WEB脚本进行通讯;网络通讯协议以RTP/RTCP为主,音频数据压缩采用G.729标准,视频编解码部分采用遵循MPEG-4标准的XviD项目。组件可配以辅助服务程序来提高服务质量。辅助服务程序运行在不同操作系统上,使用标准HTTP协议与WEB应用模块通讯,进行客户身份认证及其他数据通讯业务。采用此组件的WEB应用中,音视频会话逻辑完全由WEB设计人员负责设计,组件与具体WEB应用开发环境无关。
     文中首先介绍组件所涉及的几项关键技术,在此基础上提出系统的整体结构设计,并给出数据定义。论文主体介绍了组件各部分的详细实现方式,并给出各种应用模型及对应的测试数据,最后提出了完善此组件的方向与方法。
The development of network information in different directions pushes it to be a necessary role that supplying real-time audio and video data exchange service for WEB applications. The key point of supporting this service is how to make it seamlessly corporated with WEB elements while the HTTP protocol is stateless and the main information for browser is based on text files.With the background of multi-media and network technologies, this paper presents a COM based audio and video communicating component which can work smoothly with the elements on WEB pages. The component runs in Internet Explorer browser on Win32 platform. It can be configured to operate at models of live broadcasting(one to many), remote monitoring(many to one), video conferencing(many to many) and video chating(one to one). Every module of the component is also a COM object which is built under DirectShow framework. The component is based on ATL and encapsulated as an ActiveX control which is embedded in WEB page and supplies properties and events for communication with WEB scripts. The protocol is designed using RTP/RTCP for data transmission and the XviD of MPEG-4 is used as codec. The sustaining server program can run on diferent platforms and uses standard HTTP protocol to communicate with WEB modules for client authenticating and information exchanging. When using this component, the control logic for session of audio and video exchange is totally handled by WEB developers. The component is independent to the environment in which the WEB application server is running.Firstly, several key technologies are introduced in this paper, then is the overall design of framework of this audio and video system and the data definitons. The main content of this paper is the description of how to implement such a component. Constructing every applicable model and the corresponding statistics is given after that. The ways of perfecting this component are represented in the end of this paper.
引文
[1] 徐进.交互式多点视频会议系统的纯软件实现[J].计算机工程与设计,2003,第24卷,第9期:19-21
    [2] 张朝鹏.一种基于组播并支持多接入方式的IP网视频会议系统的设计和实现[J].计算机工程与应用,2004,第24期:218-222
    [3] [美]Don Box著,潘爱民译.COM本质论[M].北京:中国电力出版社,2001.8
    [4] [美]Dale Rogerson著,杨秀章译.COM技术内幕:微软组件对象模型[M].北京:清华大学出版社,1998.12
    [5] 潘爱民著.COM原理与应用[M].北京:清华大学出版社,1999.12
    [6] [美]Tom Armstrong等著,董梁等译.ATL开发指南(第二版)[M].北京:电子工业出版社,2000.11
    [7] [美]BRENT RECTOR CHRIS SELLS著,潘爱民译.深入解析ATL[M].北京:中国电力出版社,2001.10
    [8] 陆其明 著.DirectShow开发指南[M].北京:清华大学出版社,2003
    [9] 陆其明著.DirectShow实务精选[M].北京:科学出版社,2004.7
    [10] 微软公司.DirectX 9.0 Programmer's Reference
    [11] Home of the XviD codec[EB/OL], http://www.xvid.org/
    [12] XviD的历史与特点[EB/OL].http://www.liumeiti.org/tech/mpeg/200412/4291.html, 2004,12
    [13] 微软公司.Internet Component Download [EB/OL].http://msdn.microsoft.com/library/default.asp?url=/workshop/delivery/download/overview/entry.asp
    [14] IETF. RFC 1889. ATP: A Transport Protocol for Real-Time Applications[S]. 1996,1
    [15] IETF. RFC 1890. RTP Profile for Audio and Video Conferences with Minimal Control [S]. 1996,1
    [16] IETF. RFC 3016. RTP Payload Format for MPEG-4 Audio/Visual Streams[S]. 2002,11
    [17] [美]Anthony Jones and JimOhlund著. Network Programming for Microsoft Windows, Second Edition[M]. Microsoft Press, 2002, 2
    [18] IETF. RFC 2516 A Method for Transmitting PPP Over Ethernet (PPPoE) [S]. 1999,2
    [19] 郑力明.分布式IP视频会议系统中声像同步技术的研究与实现[J].计算机工程与应用,2002.11:227-229
    [20] IETF. RFC 768-User Datagram Protocol[S]. 1980,8
    [21] ITU. Recommendation G. 729 Annex A [EB/OL]. http://www.itu.int/rec/T-REC-G.729-199611-I!AnnA/e, 1996,11
    [22] ITU. ITU-T Recommendation H. 323. Packet-based multimedia communications systems[S]. 1998,2
    [23] VoiceAge公司. Product Introduction[EB/OL]. http://www.voiceage.com/prodg729.php#a
    [24] [美]Eric Tall等著,章巍等译.ActiveX开发人员指南[M].北京:机械工业出版社,1997.3
    [25] [美]Jerry Anderson著,张知一 等译.Visual C++5 ActiveX编程指南[M].北京:清华大学出版社,1998.5
    [26] 微软公司.利用晚期绑定的威力编写您自己的COM调用传输[EB/OL].http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/dntaloc/html/comleverage.asp, 2000,11
    [27] [美]George Shepherd, Brad King 著. Inside ATL [M]. Microsoft Press, 1999, 8
    [28] 微软公司. ATLCPImplMT encapsulates ATL event firing across COM apartments[EB/OL]. http://support.microsoft.com/kb/q280512/, 2004,8
    [29] 微软公司. Microsoft DirectX 9.0 SDK[M]. Using the video Mixing Renderer-Using the VMR for DShow Filter Developers-Stream Control, 2003,12
    [30] 微软公司. Microsoft DirectX 9.0 SDK[M]. Dynamic Graph Building-Dynamic Reconnection, 2003,12
    [31] 微软公司. Using INF Files [EB/OL]. http://msdn.microsoft.com/library/default.asp?url=/workshop/delivery/download/overview/inf.asp
    [32] 微软公司. Getting a Software Publisher Certificate [EB/OL]. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/HTML/_vccore_getting_a_software_publisher_certificate.asp
    [33] 微软公司. Making a Test Software Publisher Certificate [EB/OL]. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/HTML/_vccore_making_a_test_software_publisher_certificate.asp
    [34] IBM公司.将Win32 C/C++应用程序迁移到POWER上的Linux,第3部分:信号[EB/OL]. http://www-128.ibm.com/developerworks/cn/linux/es-win32linux-sem.html,2005,4
    [35] 李卓恒 翟华等著.Linux网络编程[M].北京:机械工业出版社,2000.1
    [36] [美]Devin Watson著.Linux Daemon Writing HOWTO[EB/OL]http://www.linuxprofilm.com/articles/linux-daemon-howto.html, 2004,5
    [37] IETF. RFC 3489. STUN-Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs) [S]. 2003,3
    [38] 李河.P2P网络中使用UDP穿越NAT的方法研究[J].吉林大学学报(信息科学版),2003,第21卷,第3期:275-279
    [39] 微软公司. IEHelper-Attaching to Internet Explorer 4.0 by Using a Browser Helper Object [EB/OL]. http://support.microsoft.com/kb/q179230/, 2004,8
    [39] iLBC Freeware. iLBC Project [EB/OL]. http://www.ilbcfreeware.org/
    [40] Peter Quax. A Multi-Oser Framework Supporting Video-Based Avatars[J]. NETGAMES' 03 Redwood City, California USA

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700