(计算机软件与理论专业论文)基于java平台的多媒体网络教学实时录播系统的设计与实现.pdf_第1页
(计算机软件与理论专业论文)基于java平台的多媒体网络教学实时录播系统的设计与实现.pdf_第2页
(计算机软件与理论专业论文)基于java平台的多媒体网络教学实时录播系统的设计与实现.pdf_第3页
(计算机软件与理论专业论文)基于java平台的多媒体网络教学实时录播系统的设计与实现.pdf_第4页
(计算机软件与理论专业论文)基于java平台的多媒体网络教学实时录播系统的设计与实现.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

(计算机软件与理论专业论文)基于java平台的多媒体网络教学实时录播系统的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 由于计算机软硬件技术、计算机网络技术及音视频压缩技术的快速发展, 使得在普通的软、硬件平台上实现实时的音视频处理和传输具备了可能性。因 此,近些年来,基于i n t e m e t 的多媒体技术成为学术研究和商用开发中一个非常 活跃的领域,这就促使各种基于多媒体网络的教学应用系统应运而生,于是教 育方式面l 临着一场巨大的变革。本文从实际的教学需求出发,提出了一个多媒 体网络教学实时录播系统的设计方案,并给出了该方案在j a v a 平台下的一种实 现方法。 本文首先详细讲述了系统的设计方案。讲述的内容包括构成系统的三个模 块( 教师机、服务器和学生机) 各自拥有的功能及其工作方式,三个模块之间 所具的关系以及这三个模块是如何协同工作从而构成一个完整系统的。 接下来对系统所涉及的各项技术作了简单的介绍,这些技术对系统的实现 至关重要,它们包括多媒体技术、j m f 、口多播、r t p 、音视频压缩编码技术、 多媒体传输同步技术等等。 最后,详细讲述了系统的实现方法及实现过程。讲述的内容包括教师机三 路数据( 尤其是教师机屏幕数据) 采集的实现方法,教师机软件的结构及其运 行机制,服务器录播的三种实现方法的对比,服务器软件的结构及其运行机制, 教师机软件与服务器软件之间控制连接的实现方法,学生机软件的结构及其运 行机制。 关键词:多媒体、网络、i p 多播、j a v a 、j m f 、线程、s o c k e t 、x m l a b s n 乜c t a b s t r a c t b e c a u s eo ft h ef 瓠td e v e j o p m e n to ft e c h l l i q u e so fc o m p u t e rs o n w a r e ,h a r d w a r e , n e 觚o r ka n da u d i o v i d e oe n c o d i n g ,i ti sp o s s i b l et l l a tr e a l t i m ea u d i o v i d e op r o c e s s i n g a n d 咖s f c ra r ed o n eo no r d i n a r ys o f 呐砒ea i l dh a r d w a r ep l a t f o m t h e r e f b r e , m i l l t i m e d i at e c l l n i q u c sb a s e do ni n t e m e tb e c o m eav e r ya c t i v ea r e ai nr e c e n ty e a r s t h i sc a i l s e sa l ll ( i n d so f t e a c l l i n g 印p l i c a t i o n sb a s e do nm 1 1 l t i m e d i an e t 、o r kc o m ei n t o b e i n ga n dm e 、v a yo ft e a c h j n gi sf k i n gah u g er e i l o v a t i o na c c o r d i n g l y t 1 l i sp 印e r s t a n s 、j t har e a lt e a c i l i n gr e q u i r e l n e 她a n d 也e np r e s e n t sad e s i 印o fr e a l t i m e m u l t i m e d i an e t 、v o r kt e a c h i i l gr e c o r d i n ga i l d p l a y i n gs y s t e m ,a tl a s taj a v ab a s e d i m p l e m e n t a t i o nm e t h o do f t h i sd e s i g ni sd e s c r i b e d f i r s t ,m ed e s i 驴o ft h cs y s t e mi sd c s c 咖e di nd e t a i l t 1 l i si n c l u d e st l l ef b a t u r e s a i l dt 1 1 eo p e r a t i o nm o d eo f t h r e em o d l l l e so f w l l i c hm ew h o l es y s t e mi sc o m p o s e d ,出e r e l a t i o l l s l l i po f t l l r c em o d u l e sa i l dt l l ew a yi nw h i c ht l l r e em o d u l e si n t e m p e r a t e s e c o n d ,t h er e l e v 趾tt e c l l i l i q u c st l l a ta r ev e r yi i n p o n a l 】tt ot 1 1 ei 1 1 】p l e m 曲t a t i o no f m es y s t e ma r ed e s c 曲e db r i e n y t h e s et e c h i l i q u e sa r em u h i i n e d i at e c h i l i q u e ,j m f ,i p m l l l t i c a s t ,r t p ,a u d i o ,d e oe n c o d i i l g ,m l l l t i m e d i at i a i l s f e rs y n c l l r o n i z a t i o na n ds o o n f i n a l l y t l l ei i n p l e m e n t a t i o nm e t l l o do ft l l es y s t e mi sd e s c r i b e di i ld e t a i l n l i s i n c l u d e st 1 1 ei l l l p l 锄e n t a t i o nm e t l l o d so fc 印t u r co ft h r 优、v a y so fd a t a ( e s p e c i a l l y 廿l e s c r e e nd a t a ) ,t l l es o f t 、a r es t m c n l r ea n dt l l eo p e 栅o nm o d eo ft e a c h e r sc o m p u t e r 也ec o m p a r eo fm r e ei m p l e m e n t a t i o nm e t h o d so fs e r v c r sr e c o r d i n ga 1 1 dp l a y i n g ,t l l e s o f t w a r es m l c t i l r e 锄dt l l eo p e r a t i o nm o d eo fs e r v e r t l l ei i i l p l e m e n t a t i o nm e m o do f c o n 缸d lc o n i l e c t i o nb e 锕e e nt e a c h e r sc o m p u t e ra i l ds e r v e ra 1 1 dt l l es o r w a r es u c t i l r c a i l dt h eo p e r a t i o nm o d eo f s t i l d e m sc o m p u t e l k e yw o r d s : m 1 1 l t i m e d i a ,n e 呐o r k ,i pm u l t i c 龇j a v a ,j m f ,t 1 1 r e a d ,s o c k e t , x m l 目录 图表目录 图1 1多媒体网络教学实时录播系统结构 图2 1 连续媒体与离散媒体 图2 2 非实时媒体与实时媒体 图2 3 细粒度同步控制影像文件格式 图2 4 视频流的媒体单元时间关系图 图2 5 音频流的媒体单元时间关系图 图3 1 录播系统的对象关系图 图3 2 屏幕采集线程一次捕获整个屏幕 图3 3 屏幕采集线程分若干次分别捕获屏幕的不同区域 图3 4 教师机软件中控制服务器录播的选项卡 图3 5 教师机软件中音视频调节选项卡 图3 6 教师机软件中设置配置参数的选项卡 图3 7 控制连接的消息格式 图3 8 服务器软件的运行界面 图3 9 学生机软件的本地模式 图3 1 0 学生机软件的网络模式 表3 1 教师机软件的配置参数 表3 2 教师机发送的启动参数 表3 3 服务器软件的配置参数 表3 - 4 学生机软件的配置参数 3 8 4 2 4 7 7 7 o 1 8 o 1 2 3 3 6 8 3 4 4 6 一 一 一 一 一 一 一 一 一 一 一 一 _ _ 棚 棚 捌 馏 瑚 棚 拖 朋 棚 “ 堋 棚 渊 埘 描 ;| | | | | | ; i | | | | | | | | ; | | 第一章绪论 1 1 课题的背景和意义 第一章绪论 当今的时代是一个计算机技术飞速发展的时代。进入九十年代中后期,随 着计算机硬件软件技术的发展,p c 机的多媒体性能进一步得到提高,已经可以 进行视频音频的实时采集、解压工作。i s p 也越来越多地提供诸如a d s l 、i s d n 、 1 0 m 1 0 0 ml a n 等高速的i i l t e m e t 终端接入手段,并且主干网吞吐率得到大幅度 提升,这使得i n t e m e t 不再仅仅是一个窄带的、简单数据报业务的网络。同时, 视频音频压缩编码技术获得了重大的进展,出现了诸如e g l 、m p e g 2 、m p e g 4 等标准所涉及的各种高效数据压缩技术。这些压缩技术极大地减少了视频、音 频数据对网络带宽的占用,使得在普通的软、硬件平台上实现实时的视频音频 处理和传输具备了可能性。因此,近些年来,基于i n t e m e t 的多媒体技术成为学 术研究和商用开发中一个非常活跃的领域,这就促使各种基于多媒体网络的教 学应用系统应运而生,于是教育方式面临着一场巨大的变革。本文从实际的教 学需求出发,提出了一个多媒体网络教学实时录播系统的设计方案,并给出了 该方案在j a v a 平台下的一种实现方法。 多媒体网络教学实时录播系统是在计算机网络环境下,借助现代化多媒体 技术进行教学的计算机辅助教学系统。与传统教学方式相比,多媒体网络教学 具有无可比拟的优势: 1 资源的共享。利用计算机的海量存储,集中了大量而丰富的教学信息, 为教学服务。 2 教学和学习方式的多样性,适合学生的个性发展。网上可以传输声音、 图像、视频、文本、动画等,真正做到声情并茂,使得学习更加生动。 3 突破了时间和空间的限制。学生可根据自己的实际情况确定学习内容、 安排学习进度,从而满足了社会普通性和个体独立性学习的需要,实现持续教 育和终身教育。 由于多媒体网络教学实时录播系统使用i n t e m e t 和通用的硬件平台,较之使 用专门网络和硬件的可视通讯系统,成本大大降低。又因为其功能基本靠软件 第一章绪论 实现,所以便于修改、易于升级、利于维护。而在对协同工作的支持方面,又 实现了“见其人,闻其声”,使得交流的效率大大提高。这样的平台在远程教学、 视频会议、协同设计等领域,将有着广泛的应用前景。 1 2 本文的主要工作和创新点 本文详细讲述了一个多媒体网络教学实时录播系统的设计方案和实现方法。 按照这个设计方案和实现方法开发出来的系统不要求用户购买特殊的硬件设 备,仅仅使用普通的p c 机、普通的摄像头以及普通的麦克风就行,这在一定程 度上减少了用户的投资。此外,此系统还有以下特点: 1 系统支持同时对多个教师的授课过程进行实时录播 系统使用一台专门的机器( 服务器) 执行录播工作,将录播过程与数据采 集过程分离开来,这样不仅减轻了教师机的压力,而且便于集中管理录制好的 多媒体文件。 2 学生机的数量不会影响系统的录播效果 服务器采用m 多播机制将教师机采集的数据转发给学生机。使用i p 多播机 制,服务器协议软件不会为每一台学生机创建待转发数据的副本,而是仅仅将 数据转发到一个特定的多播组地址,只有加入到这个多播组地址的学生机才能 够接收到服务器转发的数据。多播数据包在到达多播组里的所有学生机之前可 能会被路由器复制,但是这个复制工作仅仅是在必要的时候进行。因此,采用 i p 多播机制不仅可以有效减少系统对网络带宽的占用量,而且可以有效降低服 务器的负担。 3 系统易于使用 服务器的行为由教师机控制,一般情况下只需要对教师机软件进行配置而 不用修改服务器软件的配置参数。教师机软件是一个界面友好的g u i 应用程序, 所有配置参数都有合理的默认值,几乎不要做什么修改。学生机软件则需要在 系统提供的网站上下载,只需要下载一次,不要安装,直接运行就可以。针对 学生的不同需求,网站会自动为学生机软件生成配置文件,学生要做的工作仅 仅是将下载的配置文件保存到学生机软件所在的文件夹。因此,系统使用起来 非常方便。 4 系统可跨平台 整个系统是基于j a v a 平台开发的,代码都是纯j a v a 代码,所以系统能够方 第一章绪论 便的运行于不同的操作系统,特别是可以利用l i n u x 这类高性能操作系统执行录 播操作。 1 3 本文的整体结构 本文首先详细讲述了系统的设计方案。讲述的内容包括构成系统的三个模 块( 教师机、服务器和学生机) 各自拥有的功能及其工作方式,三个模块之间 所具的关系以及这三个模块是如何协同工作从而构成一个完整系统的。 接下来对系统所涉及的各项技术作了简单的介绍,这些技术对系统的实现 至关重要,它们包括多媒体技术、j m f 、p 多播、r t p 、音视频压缩编码技术、 多媒体传输同步技术等等。 最后,详细讲述了系统的实现方法及实现过程。讲述的内容包括教师机三 路数据( 尤其是教师机屏幕数据) 采集的实现方法,教师机软件的结构及其运 行机制,服务器录播的三种实现方法的对比,服务器软件的结构及其运行机制, 教师机软件与服务器软件之间控制连接的实现方法,学生机软件的结构及其运 行机制。 1 4 多媒体网络教学实时录播系统的设计 在实际的教学工作中,很多教师的授课过程需要实时的录制成多媒体文件, 课后通过一定的方式回放给更多的学生学习。如发布到教学网站上,供学生下 载或在线收看或者制作成光盘,供学生学习。除此之外,还可能有许多学生利 用计算机( 学生机) 通过i n t e m e t 或者局域网实时收看教师的授课过程。为满足 以上需求,就需要有一种机制能够实时采集课堂上教室的视频信息、教师的声 音以及教师所操作的计算机( 教师机) 的屏幕信息,并对这三路数据分别以一 定的压缩格式进行编码,再将编码后的三路数据以一定的方式保存成多媒体文 件,同时也将这三路数据通过网络发送给学生机,以实现对教师的授课过程进 行实时录播。为此我们设计了一个多媒体网络教学实时录播系统,这一系统不 要求用户购买特殊的硬件设备,仅仅使用普通的p c 机、普通的摄像头以及普通 的麦克风就行。系统结构如图1 一l 所示。 第一章绪论 图l 一1 多媒体网络教学实时录播系统结构 在本系统中,教师机上安装有摄像头、麦克风。摄像头、麦克风和教师机屏 幕是三路实时数据的来源,要设计专门的软件从这些设备中实时采集数据,然 后将三路实时数据分别编码,再将编码后的数据通过以太网、以一定的协议传 送给服务器。服务器在接收到三路数据后,同时进行两项操作,一是录制:即 将三路数据保存成多媒体文件,二是播放:即将三路数据转发给学生机。实验 表明,对三路数据的采集以及对三路数据进行录制都需要占用很多的系统资源, 所以,如果采集和录制都在教师机( 普通的p c 机) 上来进行的话,将影响整个 系统的录播效果。因此,在本系统中,录制过程在一台独立的服务器上来进行, 目的是减轻教师机的压力,以提高录播的质量。 系统可以对多个教师同时授课进行实时录播。多个教师机同时将各自的三路 数据传送给服务器,服务器分别进行录制和转发。因此,服务器的处理能力至 关重要,在实际应用中要根据教师机的数量来对服务器进行合理选择,避免服 务器成为整个系统的瓶颈。 教师机除了要将其采集的三路数据传送给服务器以外,还应该通过某种方式 ( 如t c p 连接) 发送一些控制信息来控制服务器的行为。例如在上课的时候告 诉服务器授课开始,下课的时候通知服务器授课完毕,这样服务器就知道何时 开始从教师机接收三路数据进行录制和转发,何时停止这些行为。教师机还可 以将所授课程的名称与授课教师的姓名等信息发送给服务器,以方便服务器给 录制生成的多媒体文件命名。 4 第一苹绪论 学生机可能位于不同的物理网络中,为提高数据转发的性能,服务器采用i p 多播的方式将各路数据转发给学生机。每台正在授课的教师机对应一门课程, 对每台教师机指定一个多播组地址与其对应。服务器将来自教师机的三路数据 向该教师机对应的多播组地址进行转发,这样,学生机只要加入某个教师机对 应的多播组地址,就能实时收看到该教师机上正在讲授的课程。服务器采用多 播的方式来转发数据可以减少整个系统对网络带宽的占用量,也能减少对服务 器处理资源的占用量。因为服务器要将数据转发到多个接收端,采用多播方式, 每一个i p 数据包在转发时不需要生成多个副本,在传输过程中只会在必要的时 候进行复制,以最终被多播组中的每个成员接收到。这相对于采用点对点方式 传输数据而言大大地减少了网络带宽占用量和服务器处理资源的占用量( 点对 点方式中,待转发数据在转发时,针对每个接收端都要生成一个副本,因此, 服务器的协议软件要处理同一数据的多个副本,而且多个副本将占用更多的网 络带宽) 。 系统以网站的形式与学生进行交互。学生能够在网站上浏览到哪些课程正在 进行,哪些课程已经授完。对于正在进行的课程,学生机可以加入特定的多播 组,实时收看教师的授课过程;对于己经授完的课程,学生则可以将录制好的 多媒体文件下载或是在线收看。 第二章多媒体网络教学实时录橘系统所涉及的技术 第二章多媒体网络教学实时录播系统所涉及的技术 实现上述系统将涉及多种技术,如多媒体技术、j m f 、i p 多播、r 1 p 、音视 频压缩编码技术、多媒体传输同步技术、j a v a 多线程技术、“l 技术等,本章 将对涉及的各项技术做简单的介绍。 2 1 多媒体技术 “多媒体( m u l t i m e d i a ) ”【7 8 】一词大约在1 9 6 0 一1 9 6 5 年开始使用,其中 “m u l t i ”是“许多”的意思。术语“多媒体”的原意是指“通过计算机、电视、 电话等散布和表现用图形、动画、音频、视频、文本等格式编码的信息”。多 媒体可以理解为多种媒体数据加上一系列交互,其中多种媒体数据是指多种源 的、多种类型的和多种格式的数据( m u l t i s o u r c e ,m u i t i 咖ea i l d 舢1 t i f o r l l l a td a t a ) 的集合;交互则是多媒体成分之间的交互,由复杂的关系组成,如果没有这些 关系,多媒体只能是音频数据、视频数据与其他数据的简单集合。 多媒体技术是指使用计算机对音频、视频、文本、图形、图像等媒体信息 进行综合处理,使多种信息建立逻辑连接,进而集成为一种交互式系统的技术, 它涉及许多方面,其中最重要的是多媒体信号处理技术、多媒体数据存储技术、 传输技术、表现技术、安全技术等。一般所说的“多媒体”,不仅指多种媒体 信息本身,而且指处理和应用多媒体信息的相应技术,因此“多媒体”常被当 作“多媒体技术”的同义词。 按照媒体的显示域的连续性,媒体可以分为连续媒体( c o n 血u o u sm e d i a ) 与离散媒体( d i s c r e t em e d i a ) 两种类型。如果媒体的显示域是一个连续域,这种 媒体一般称为模拟媒体( a n a l o gm e d i m ) 或连续媒体( c o n t i 肌o u sm e d i u m ) ; 如果媒体的显示域是一些离散的点,这种媒体一般称为离散媒体( d i s c r e t e m e d i u m ) 。如图2 1 所示。 第二章多媒体网络教学实时录播系统所涉及的技术 连续媒体:时间和幅度均连续离散媒体:时间和幅度均不连续 图2 1 连续媒体与离散媒体 如果从网络连接的角度划分,媒体又可以分为非实时媒体与实时媒体两大 类。如图2 2 所示。 2 2 j m f 图2 2 非实时媒体与实时媒体 j m f ( j a v a 多媒体框架) 是s u n 公司推出的一个功能齐全的视频、图像和音 频数据的采集、编辑、控制及处理的工作平台,也是目前在多媒体p c 中较为流 行的多媒体处理手段,是j a v a 2 平台标准版( j 2 s e ) 多媒体处理功能的扩充。它 是特别为利用j a v a 平台的特性而设计的,使多媒体p c 具有播放和处理数字视频 的能力,而无需增加专门的硬件设备。j m f 为媒体播放器、媒体的获取以及媒体 会议定义了统一的体系结构、消息处理协议和程序设计接口,自正式发布以来, 在视频音频等产品中得到广泛应用并且还在不断的发展完善。 第二章多媒体网络教学实时录播系统所涉及的技术 使用j m f 能够编写出功能强大的多媒体程序,而不用关心底层复杂的实现细 节。j m fa p i 的使用相对比较简单,但是能够满足几乎所有多媒体编程的需求。 1 j m f 所支持的功能 下面是j m f 所支持的功能的一个概述。 1 ) 可以在j a v a a p p l e t 和应用程序中播放各种媒体文件,例如a u 、a v i 、m i d i 、 m p e g 、o u i c k t i m e 和w a v 等文件。 2 ) 可以播放从互联网上下载的媒体流。 3 ) 可以利用麦克风和摄像机一类的设备截取音频和视频,并保存成多媒体 文件。 4 ) 处理多媒体文件,转换文件格式。 5 ) 向互联网上传音频和视频数据流。 6 ) 在互联网上广播音频和视频数据。 为了更好地说明j m f 的功能,让我们用立体声音响做一个简单的比喻。当c d 机播放c d 唱片的时候,c d 唱片向系统提供音乐信号。这些数据是在录音棚中用 麦克风和其他类似的设备记录下来的。c d 播放机将音乐信号传送到系统的音箱 上。在这个例子中,麦克风就是一个音频截取设备,c d 唱片是数据源,而音箱 是输出设备。 2 j m f 的功能模块 j m f 的功能结构和立体声音响系统非常相似,其功能模块大致如下: 1 ) 数据源( d a t as o u r c e ) 2 ) 捕获设备( c a p t l 鹏d e v i c e ,包括视频和音频捕获设备) 3 ) 播放器( p l a v e r ) 4 ) 处理器( p r o c e s s o r ) 5 ) 数据格式( f o n i l a t ) 6 ) 管理器( m a n a g e r ) 1 ) 数据源 就像c d 中保存了歌曲一样,数据源中包含了媒体数据流。在j m f 中, d a t a s o l l r c e 对象就是数据源,它可以包含多媒体文件中的数据,也可以包含从互 联网上下载的数据流。对于d a t a s o u r c e 对象,一旦确定了它的位置和类型,对 象中就包含了多媒体的位置信息和能够播放该多媒体的软件信息。当创建了 d a t a s o u r c e 对象后,可以将它传递给p l a y e r 对象进行播放,而p l a y e r 对象则不 第二章多媒体网络教学实时录播系统所涉及的技术 需要关心d a t a s o u r c e 中的多媒体是如何获得的。 在某些情况下,需要将多个数据源合并成一个数据源。例如在制作一段录像 时,需要将音频数据源和视频数据源合并在一起。j m f 支持数据源合并。 2 ) 捕获设备 捕获设备指的是可以捕获到音频或视频数据的硬件,如麦克风、摄像机等。 捕获到的数据可以传递给p l a y e r 或者p r o c e s s o r 对象进行播放或处理。 3 ) 播放器 在j m f 中对应播放器的接口是p l a y e r 。p l a y e r 对象将音频视频数据流作为 输入,然后将数据流输出到音箱或屏幕上,就像c d 播放机读取c d 唱片中的歌 曲,然后将信号送到音箱上一样。j m f 为p 】a y e r 对象定义了六种状态,在正常 情况下p l a y e r 对象需要经历每个状态,然后才能播放多媒体。下面是对这些状 态的说明。 u n r e a l i z e d :在这种状态下,p l a y e r 对象已经被实例化,但是并不知道它需 要播放的多媒体的任何信息。 r e a l i z i n g :当调用r e a l i z e ( ) 方法时,p l a y e r 对象的状态从u n r e a l i z e d 转变为 r e a l i z i n g 。在这种状态下,p j a y e r 对象正在确定它需要占用哪些资源。 r e a l i z e d :在这种状态下p l a y e r 对象已经确定了它需要哪些资源,并且也知 道需要播放的多媒体的类型。 p r e f e t c l l i n g :当调用p r e f e t c h ( ) 方法时,p l a y e r 对象的状态从r e a l i z e d 变为 p r e f e t c l l i n g 。在该状态下的p l a y e r 对象正在为播放多媒体做一些准备工作,其中 包括加载多媒体数据,获得需要独占的资源等。这个过程被称为预取( p r e f e t c h ) 。 p r e f e t c h e d :当p l a y e r 对象完成了预取操作后就到达了该状态。 s t a n e d :当调用s t a n ( ) 方法后,p l a y e r 对象就进入了该状态并开始播放多媒 体。 4 ) 处理器 处理器对应的接口是p r o c e s s o r ,它也是一种播放器。在j m f a p i 中,p r o c e s s o r 接口继承了p l a y e r 接口。p m c e s s o r 对象除了支持p l a y e r 对象支持的所有功能外, 还可以控制对输入的多媒体数据流进行何种处理以及通过创建一个新的数据源 对象来向其他的p l a y e r 对象或p r o c e s s o r 对象输出处理后的目标数据。 除了在播放器中提到的六种状态外,p r o c e s s o r 对象还包括两种新的状态, 这两种状态是在u e a l i z e d 状态之后,在r e a l i z i n g 状态之前。 第二章多媒体网络教学实时录播系统所涉及的技术 c o n f i g u r i n g :当调用c o l l f i g u r e ( ) 方法后,p r o c e s s o r 对象进入该状态。在该状 态下,p r o c e s s o r 对象连接到数据源并获取输入数据的格式信息。 c o n f i g u f e d :当完成数据源连接,获得输入数据格式的信息后,p m c e s s o r 对 象就处于c o n f i g u r e d 状态。 5 ) 数据格式 f o r n l a t 对象中保存了多媒体的格式信息。该对象中本身没有记录多媒体编 码的相关信息,只是保存了编码的名称。f o m a t 的子类包括a u d i o f o m a t 和 v i d e o f o r n l a t 类,v i e d e o f o m a t 又有六个子类:h 2 6 l f o m a t 、h 2 6 3 f o r n l a t 、 i n d e x e d c o l o r f o 丌n a t 、j p e g f o m a t 、r g b f o r m a t 和y u v f o h n a t 类。 6 ) 管理器 j m f 提供了下面四种管理器: m a l l a g e r :m a i l a g e r 相当于两个类之间的接口。例如需要播放d a t a s o u r c e 对 象中的数据,可以通过使用m a j l a g e r 类创建一个p l a y e r 对象来播放它。使用 m a n a 2 e r 类可以创建p l a v e r 、p m c e s s o r 、d a t a s o u r c e 和d a t a s i n k 对象。 p a c k a g e m a n a g e r :该管理器中保存了j m f 类注册信息。 c a p t u r e d e v i c e m a n a g e r :该管理器中保存了捕获设备的注册信息,可以使用 此管理器获取捕获设备的具体参数。 p l u g i r n v i a i l a g e r :该管理器中保存了j m f 插件的注册信息。 在j m f 编程中,最常见的工作就是创建一个p l a y e r 对象。可以通过m a n a g e r 类的c r c a t e p l a y e r ( ) 方法创建p l a y e r 对象,该方法使用多媒体的u r l 或 m e d i a l o c a t o r 对象来创建p l a y e r 对象。当获得了个p l a y e r 对象后,可以通过 调用g e t v i s u a l c o m p o n e n t o 方法得到此p l a y e r 对象的可视部件( v i s u a l c o m p o n e n t ,在可视部件上可以观看到多媒体的视频) ,然后将可视部件加入到 应用程序或a p p l e t 的界面上。也可以调用g e t c o n 伽l p a l l e l c o m p o n e n t 0 方法得到 p l a y e r 对象的控制面板部件( c o n t r 0 1 p a n e l c o m p o n e n t ) ,用于控制多媒体的播放。 p l a y e r 类中的很多方法只有在p l a y e r 对象处于r e a l i z e d 状态下才会被调用,为了保 证p l a y e r 对象已经到达了该状态,可以使用m a i l a g e r 的c r e a t e r e a l i z e p l a y e r ( ) 方法来 创建p l a v e r 对象。 第二章多媒体网络教学实时录播系统所涉及的技术 2 3i p 多播 i p 多播( 也称多址广播或组播) 技术,是一种允许一台或多台主机( 多播 源) 发送单一数据包到多台主机( 一次的,同时的) 的t c p i p 网络技术。多播 作为一点对多点的通信,是节省网络带宽的有效方法之一。在网络音频,视频广 播的应用中,当需要将一个节点的信号传送到多个节点时,无论是采用重复点 对点通信方式,还是采用广播方式,都会严重浪费网络带宽,只有多播才是最 好的选择。多播能使一个或多个多播源只把数据包发送给特定的多播组,而只 有加入该多播组的主机才能接收到数据包。目前,i p 多播技术被广泛应用在网 络音频视频广播、a o d v o d 、网络视频会议、多媒体远程教育、“p u s h ,技术( 如 股票行情等) 和虚拟现实游戏等方面。 i p 多播通信必须依赖于i p 多播地址,在i p v 4 中它是一个d 类i p 地址,范 围从2 2 4 o o o 到2 3 9 2 5 5 2 5 5 2 5 5 ,并被划分为局部链接多播地址、预留多播地 址和管理权限多播地址三类。其中,局部链接多播地址范围在 2 2 4 o o o 2 2 4 0 0 2 5 5 ,这是为路由协议和其它用途保留的地址,路由器并不转 发属于此范围的i p 包;预留多播地址为2 2 4 0 1 o 2 3 8 2 5 5 2 5 5 2 5 5 ,可用于全球 范围( 如i n t e m e t ) ;管理权限多播地址为2 3 9 o 0 o 2 3 9 2 5 5 2 5 5 2 5 5 ,可供组织 内部使用,类似于私有i p 地址,不能用于i n t e m e t ,可限制多播范围。 使用同一个i p 多播地址接收多播数据包的所有主机构成了一个主机组,也 称为多播组。一个多播组的成员是随时变动的,一台主机可以随时加入或离开 多播组,多播组成员的数目和所在的地理位置也不受限制,一台主机也可以属 于几个多播组。此外,不属于某一个多播组的主机也可以向该多播组发送数据 包。 要实现i p 多播通信,要求介于多播源和接收者之间的路由器、集线器、交 换机以及主机均需支持i p 多播。目前,i p 多播技术已得到硬件、软件厂商的广 泛支持。 1 主机 支持i p 多播通信的平台包括w i n d o w sc e2 1 、w i n d o w s9 5 、w i n d o w s9 8 、 w i n d o w sn t4 和w i n d o w s2 0 0 0 等,运行这些操作系统的主机都可以进行i p 多 播通信。此外,新生产的网卡也几乎都提供了对i p 多播的支持。 2 集线器和交换机 第二章多媒体网络教学实时录播系统所涉及的技术 目前大多数集线器、交换机只是简单地把多播数据当成广播来发送接收,但 一些中、高档交换机提供了对i p 多播的支持。例如,在3 c 0 ms u p e r s t a c k3s w i t h 3 3 0 0 交换机上可启用8 0 2 1 p 或i g m p 多播过滤功能,只为己侦测到i g m p 数据 包的端口转发多播数据包。 3 路由器 多播通信要求多播源节点和目的节点之间的所有路由器必须提供对i n t e m e t 组管理协议( i g m p ) 、多播路由协议( 如p i m 、d v m r p 等) 的支持。当一台主 机欲加入某个多播组时,会发出“主机成员报告”的i g m p 消息通知多播路由 器。当多播路由器接收到发给那个多播组的数据时,便会将其转发给所有的多 播主机。多播路由器还会周期性地发出“主机成员查询”的i g m p 消息,向子 网查询多播主机,若发现某个多播组己没有任何成员,则停止转发该多播组的 数据。此外,当支持i g m p v 2 的主机( 如w i n d o w s9 8 2 0 0 0 计算机) 退出某个多 播组时,还会向路由器发送一条“离开组”的i g m p 消息,以通知路由器停止 转发该多播组的数据。但只有当子网上所有主机都退出某个多播组时,路由器 才会停止向该子网转发该多播组的数据。使用多播路由协议,路由器可建立起 从多播源节点到所有目的节点的多播路由表,从而实现在子网间转发多播数据 包。 2 4 r t p 协议 r t p 协议,即实时传输协议,是i n t e m e t 上实时数据传输的标准。自1 9 9 6 年初期以来,其规范就一直没有改动过。r t p 被设计成一种在尽可能小的带宽 下传输多媒体的机制,s u n 公司也在j m f 中采用r ,r p 作为流媒体的传输机制。 利用r t p 协议能够在一对一( u 1 l i c a s t ,单播) 或者一对多( m u l t i c a s t ,多 播) 的网络环境中实现流媒体数据的实时传输。r 限通常使用u d p 来进行多媒 体数据的传输,但如果需要的话可以使用t c p 或者a t m 等其它协议。r t p 协议 的设计目的是提供实时数据传输中的时间戳信息以及各数据流的同步功能。i 盯p 协议提供序列号字段使接收方通过检测收到的分组序列号判断是否有分组丢 失,并可重新恢复发送时的分组顺序;提供时间戳字段用于重新建立原始音频、 视频的时序,帮助接收方确定数据到达时间的一致性或变化;提供同步源标识 第二章多媒体网络教学实时录播系统所涉及的技术 符( s s r c ) 字段,在接收端为包分组从而进行回放。r t p 本身并不能为按序传 输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由实时传输 控制协议r t c p 来负责完成。通常r t c p 会采用与r 1 p 相同的分发机制,向会 话中的所有成员周期性地发送控制信息,应用程序通过接收这些数据,从中获 取相关资料,从而能够对服务质量进行控制或者对网络状况进行诊断。 当应用程序开始一个r t p 会话时将使用两个端口:一个给r t p ,一个给 r t c p 。在r t p 会话期间,各参与者周期性地传送i h c p 包。r t c p 包中含有已 发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利 用这些信息动态地改变传输速率,甚至改变有效载荷类型。r t p 和r t c p 配合使 用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送 网上的实时数据。 2 5 音视频压缩编码技术 2 5 1 多媒体数据冗余 音视频数据的数据量是庞大的,但音视频数据往往又是高度相关的。数据 的相关性带来了信息的冗余,使信息量小于数据量,它们之间的差值就是冗余 量。 i = d d u ( i 为信息量,d 为数据量,d u 为冗余量)公式( 2 一1 ) 音视频数据的冗余包括以下几种类型【1 2 】: 空间冗余:在一幅图像的背景及其景物中,在某点自身与其相邻的一些区 域内,常存在有规则的相关性。这种相关性的图像部分,在数据中就表现为冗 余,空间冗余是视频图像中常见的一种冗余。 时间冗余:对于电视动画类的图像,在其序列的各前后相邻的两幅图像中, 其图像呈现较强的相关性,这就反映为时间冗余。如某一帧图像经过t 时间后, 在某下一帧图像中带有较强的相关性( 即画面像素相似) 。 信息熵冗余( 编码冗余) :信息熵是指一团数据所携带的信息量,根据信息 论的有关原理,信息量一般被定义为: 第二章多媒体网络教学实时录播系统所涉及的技术 e = 一见l 0 9 2b 公式( 2 2 ) ,= o 其中,k 为数据类数和码元的个数,p i 为y i 的发生率。为使单位数据量d 接 近于或等于e ,应设: d = 乏:p ,6 ( y ,) 公式( 2 3 ) 其中,b ( y i ) 为分配给码元类y i 的比特数,理论上应取1 0 臣p 。但是,在实际 应用中,我们很难准确地估计出p i 的值,实际计算的d 必然大于理论上的e ,因 而带来信息熵冗余或编码冗余。 结构冗余:有些图像部分区域内存在着非常强的纹理结构,或者图像各个 部分之间存在某种关系,例如自相似性等。这些都是结构冗余的表现。 知觉冗余:是指那些处于人们听觉和视觉分辨力以下的音视频信号。若在 编码时舍去这种在感知门限以下的信号,虽然会使恢复原信号产生一定的失真, 但并不能为人们所感知,为此,此种超出人们感知能力部分的编码就称为知觉 冗余。例如:一般的视频图像采用2 8 的灰度等级,而人们的视觉分辨力仅达2 6 的等级,此差额即为视觉冗余。 以上这些形式的冗余就是视频压缩编码的出发点,编码算法要尽可能地消 除这些冗余,以降低表示视频所需的数据量。 2 5 2 数字音频压缩标准 1 m p 3 标准 m p 3 是目前使用用户最多的有损压缩数字音频格式。它的全称是m p e g a u d i ol a y e r _ 3 ,它所使用的技术是在v c d ( m p e g 1 ) 的音频压缩技术上发展出 的第三代,而不是m p e g 3 。 m p 3 的编码方式有c b r ( 固定编码率) 、v b r ( 可变编码率) 和a b r ( 平 均比特率) 三种。v b r 是目前最常用的编码方式,它采样的压缩比率依声音中 信息多寡,并利用人耳的掩蔽效应来减少冗余数据,压缩比率可达1 :1 0 1 :1 2 , 而拥有近似c d 的音质。 2 w m a 标准 w m a 是w i n d o w sm e d i a a u d i o 的缩写,是微软力推的数字音频格式。微软 官方宣布的资料中称w m a 格式的可保护性极强,甚至可以限定播放机器、播 第二章多媒体网络教学实时录播系统所涉及的技术 放时间及播放次数,具有相当的版权保护能力。 3 a d p c m 标准 这种格式常用于声音录制,尤其是采访和课堂录音等场合。它的体积与m p 3 和w m 相比更小,但音质较差。比如作为采访时的录音,3 2 m 的闪存,用这 种格式录制,可以存储大约2 个小时的录音。从音质和文件大小的统一性来说, 应该是目前一个较好的解决方案。 4 q 7 2 3 标准 g 7 2 3 语音编码器是一种用于多媒体通信,编码速率为5 3 k b i t s

温馨提示

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

评论

0/150

提交评论