浅谈多媒体调度系统特点及实现方法

时间:2022-05-20 12:06:06

浅谈多媒体调度系统特点及实现方法

【摘要】 随着IP网建设的逐渐完善,现有调度的局限性也逐渐显现出来,基于IP的多媒体技术无疑为我们提供了一个很好的思路,本文就多媒体调度系统的特点进行了简要阐述,并对实现方法进行了合理探讨。

【关键字】 调度系统 多媒体 FMS AS 3.0

一、现有调度局限性

通过对上图分析,可知现有调度系统局限性如下:

1) 现有交换网不支持视频、数据等多媒体业务。传统电路交换网络采用PCM编码和窄带交换方式,大量的拨号数据业务造成语音网络的拥塞,且传统交换网无法适应各种多媒体业务的应用。2) 系统扩容受设备硬件容量限制,设备后期扩容投资成本高。3) 调度交换网络是一个封闭的网络,开放性不够,用户的接入实现起来步骤比较繁琐。4) 现有调度系统通过扩展IP板提供网络接口,来实现与IP网的互联。严格而言,仍是独立于IP网存在,因此需单独配备相应的管理和操作维护人员,以保证网络的畅通和提供高质量的服务。这就造成网络管理的维护工作量大。5) 现有调度系统硬件组成复杂。

二、多媒体调度的一种实现方法

2.1 多媒体调度组成图及原理图

1)硬件组成

服务器计算机、客户端计算机、网络交换机、摄像头、麦克风、扬声音响。多媒体调度硬件组成原理,如图1。

2) 软件组成

Windows server 2003及以上版本、windows xp操作系统、Flash Media Server 4(FMS)和Flash Player 10.1应用软件。多媒体调度软件实现,如图2。

2.2 多媒体调度系统调度功能实现的简介

多媒体调度系统主要实现指挥员对用户的音视频调度指挥、音视频数据的录制、检测用户在线状态、非会议用户的请离等调度功能,完全能满足团站调度指挥的需要。

本调度系统是基于Flash Media Server 4的二次开发,利用AS 3.0脚本语言编程实现。调度软件在Flash Media Server4应用软件配合下,实现多方音视频会议、数据传输、音视频数据的录制等调度功能, 通过服务器实现音视频数据的共享转发和对调度用户的控制。

2.3多媒体调度软件设计实现思路

1)利用NetConnection对象和SharedObject对象

当用户申请连接时,通过NetConnection对象报告其状态,实现显示与FMS连接成功与否的告知;sharedObject 对象中的数据(即聊天记录)被任何一个client(用户)所修改,那么FMS会把当前的sharedObject 中的最新聊天记录广播给所有的client (用户),使得client (用户)聊天窗口中显示的数据刷新。sharedObject实现原理,如图3。

通过针对这两个对象的编程,可实现对用户和服务器连接情况的检测和连接后的用户聊天记录的广播显示。

2)打造在线视频录制和回放

a.创建一个 NetConnection 对象。 b.使用 NetConnection. connect() 方法连接到服务器上的应用程序实例。 c.创建一个 NetStream 对象,以便在连接中创建数据流。 d.使用NetStream.attachAudio() 方法捕获音频并通过该流进行发送,然后使用 NetStream.attachCamera() 方法捕获并发送视频。 e.使用 NetStream.publish() 方法为该流指定唯一的名称,然后通过该流将数据发送到服务器,以使其他用户能够收到该数据。您还可以在数据时进行录制,以便用户可以在日后回放该数据。f. publish () 方法:将音频流、视频流和文本消息流从客户端发送到 Flash Media Server,并可选择在传输期间录制该流。参加会议的用户将自己本地摄像头捕捉到的画面publish到FMS,存放在FMS端userList这个集合对象中,集合中存放的是每个用户名也就是他们视频的名字。每当有新用户加入或者退出会议的时候,FMS就把这个userList广播给每个还在线的用户。用户取得userList只需播放其他几个用户的视频即可。在线用户视频会议实现原理,如图4。

通过针对这些方法的编程可以实现,用户之间音视频会议的建立,音视频数据的录制保存及在线用户的显示。

3)服务器端的asc文件和客户端

asc文件中有2个重要的类:

Application类:Application类包含有关一个Flash Media Server应用程序实例的信息,它会一直维持这些信息直到这个应用程序实例被卸载。

Client类:Client类让你处理连接到一个Flash Media Server应用程序实例的每一个用户或说client。

Application类有几个重要事件如下:

Application.onAppStart 当这个应用程序被服务器装载时调用。

Application.onAppStop 当这个应用程序被服务器卸载时调用。

Application.onConnect 当一个客户机连接到这个应用程序时调用。

Application.onDisconnect 当一个客户机从这个应用程序断开连接时调用。

Application类有几个重要方法如下:

Application.acceptConnection() 接受一个来自客户机的至一个应用程序的连接。

Application.broadcastMsg() 向所有连接的客户机广播一条消息。

Application.disconnect() 从服务器断开一个客户机的连接。

Application.rejectConnection() 拒绝至一个应用程序的连接。

Client类有1重要方法如下:

Client.call() 在Flash客户机上异步的执行一个方法,并把值从Flash客户机返回到服务器。

通过针对这两个类的编程,实现服务器对客户机连接和断开连接请求的的响应,为指挥员断开某用户连接和向用户广播信息,提供主动控制功能。

4)利用Camera.getCamera()

通过Camera.getCamera()方法实现检测摄像头的使用情况。

5)实现登陆时动态设置FMS服务器链接地址

三、优点和不足

多媒体调度优点:1)支持视频、音频、数据等多媒体业务。2)立足现有设备构建,设备后期投资成本低。3)系统基于IP网络,开放性好,用户的接入方便。4)设备组成简单,便于维护。多媒体调度不足:1)音视频数据传输,对网络带宽要求高。2)音视频处理,对系统配要求高。

四、结束语

指挥调度通信系统是根据指挥关系建立的用于保障指挥的专用通信系统,在很多行业通信保障中发挥着重要作用。基于IP网络构建语音、视频和数据于一体的多媒体调度系统更成了一种必然要求。随着计算机技术、通信技术、多媒体技术的迅猛发展和社会需求的日益增长,使调度通信的宽带化、数字化、网络化、多媒体化成为可能。

参 考 文 献

[1] ActionScript 3.0编程精髓 Colin Moock 机械工业出版社

[2] Flash ActionScript 3.0开发王 张亚飞 电子工业出版社

上一篇:对中职学校计算机网络专业教学改革的思考 下一篇:大学生计算机教学效率提升途径探讨