OVS视频服务器系统的组成

1 、Oracle Video Server简介

OVS(Oracle Video Server)是能适合较大规模视频点播系统(几百个以上的并行输出码流)的视频服务器软件。Oracle公司的视频服务器(Video Server)可在包括网络计算机(NC)和机顶盒(SetTo pBox)在内的系列平台上播放视频。同时还可以传送MPEG2、AVI格式视频及WAV音响数据流。Oracle使用Oracle8。Oracle在客户机一端的应用开发工具很强大,它提供全套Java系列和ActiveX控制工具,允许在播放环境下顺利进行集成。在规模化的能力成为产品的关键时,Oracle公司的视频服务器是个不错的选择。

2、 ORACLE视频服务器系统组成

ORACLE视频服务器系统包括以下几个部分:

ORACLE视频服务器(OVS) ORACLE视频客户机(OVC) ORACLE视频服务器管理器(VSM) ORACLE数据库

OVS的特点:

OVS是建立在简化的Unix操作系统,操作使用方便。 OVS是一个开放的网络系统结构,支持从局域网(LAN)、电缆电视系统(CATV)、数字视频广播(DVB)到卫星网络系统。 OVS遵循Client/Server 体系结构。Client可以是机顶盒(set top box)、微机、网络计算机等设备,它们具有通信功能并能解码MPEG-1或MPEG-2流,Server可以是一个或一组运行OVS服务的计算机。

3 、OVS系统上的视频通信过程

在OVS上一个典型的视频请求与播放过程有以下几步组成:

应用服务器上的软件使得客户机能通过定制的视频接口导航。 当客户机发出一个视频请求,请求命令被送到视频服务器。 OVS收到请求后,如确认有足够的资源发送视频内容,就从硬盘的存储区中取出视频内容。 OVS通过视频流将视频内容"流"到客户端。 OVC收到视频流在PC或电视上播放。

3.2 客户端与服务器之间的RTSP通信

客户端应用程序使用实时流协议(RTSP)与视频服务器通信,RTSP是一个应用层的协议它提供了一个可控、点播发送实时数据如声音和视频的可扩展框架。

另一方面,OVS内部过程的通信是通过Oracal媒体网络(Oracle Media Net)。Oracal媒体网络是使用异类网络协议的亚网络结构,它使得OVS各部分在分布式网络结构中有效地通信。它是Oracle的 CORBA实现。另外它还负责OVS的错误与警告消息的日志纪录。 为使得OVS和OVC能互相通信,OVS包括作为中间层的RSTP服务,它处在RTSP客户端与基于网络的OVS媒体过程之间。RSTP服务接受来自客户端的基于RTSP的请求,并将RTSP请求映射到适当的基于网络的OVS调用,通过执行合适的OVS过程上的媒体网络调用,并将响应对应到RTSP,然后发送到客户端。

3.3 OVS与不支持RTSP协议的客户端通信

对于不使用RTSP通信的客户端,可使用桥服务器与RTSP服务器通信。例如桥服务器使得客户端能使用对象代理协议(Object Request Broker protocol) ORB与RTSP服务器通信。这种情况下,桥服务器将ORB调用翻译成他们各自的RTSP请求。单一的桥服务器能服务来自多个客户端的请求,将它们翻译成RTSP并复合在一起,然后通过一个单独的控制通道连接到RTSP服务器,同时这个单独的控制通道也被桥服务器用来接收来自RTSP服务器的复合应答。

3.4 OVS处理视频请求的内部过程

当客户端请求视频,OVS必须分配适当的资源,从存储库里查找数据,然后发送视频到客户端。图14-5图解说明了OVS处理视频请求的主要内部服务。这些服务包括:

会话与回路服务(vscsmsrv) 流服务(vsstrmsrv) 内容服务(vscontsrv) MDS 目录服务器 (mdsdirsrv) 视频泵(vspump)

括号中的术语如vscsmsrv和vsstrmsrv是OVS认可的内部过程名。管理OVS的所有程序遵守这些命名惯例。

3.4.1 会话与回路服务(vscsmsrv)

会话与回路服务的主要任务(vscsmsrv)是建立和保持客户端/服务器端的会话,并为客户端设备管理一批OVS资源。当客户端请求一段视频,会话与回路服务首先建立一个会话,每个会话包括:

一个客户端标识, 客户端与(OVS)之间控制消息与视频传输的一个或多个回路, 客户端及其连接到OVS的资源或状态信息。

每个客户端设备仅允许一个会话,当客户端结束它的会话,会话与回路服务释放所有会话的回路和资源。每个会话和一个或更多回路相关联。一个回路由客户端与服务器端的一个或多个通信通道组成。有单一通道组成的回路叫对称回路,又两个通道组成的回路叫非对称回路。

共有三种类型的通道:

上流,描述从客户端到服务器端的连接。 下流,描述从服务器端到客户端的连接。 双向流,描述从客户端到服务器端的双向连接。

在一个方向上(上或下)通信的回路叫单向回路,在两个方向上(上和下)通信的回路叫双向回路,在宽带网络中,机顶盒设备与OVS通过低带宽上行信道通信,同时通过高带宽下行信道接收视频,这是使用的是非对称双向回路。

3.4.2流服务

在通信会话建立后,客户端的视频请求接着被送到流服务处理,流服务完成下列处理:

通知内容服务把对逻辑内容标题的请求解析成一个或多个标题文件

读取与逻辑内容标题相关的标题文件,每个标题文件对应了要发送的请求文件的某个部分。

告诉视频泵要播放内容文件的哪个部分。

指示视频泵以实时流的形式发送视频数据。

3.4.3内容服务(vscontsrv)

映射客户端请求的逻辑内容标题到存储在MDS的相关内容文件的信息保存在数据库中,由内容服务管理。当客户端应用程序请求一段视频,内容服务将请求一个逻辑标题的请求解析为一个或多个标识文件,这些标识文件接着被送到流服务,流服务通知视频泵发送视频。

3.4.4 MDS目录服务器(mdsdirsrv)

MDS目录服务器控制对MDS文件的访问,并管理它们在磁盘上的排列。读取或写入MDS文件的进程必须首先获取对MDS文件的访问权。例如,当视频泵获得命令播放一段视频,它向MDS目录服务器发送一个消息,得到一个描述要打开的文件在磁盘上排列的数据结构,从而可以打开文件。有了这些信息,视频泵就可以直接获取文件的内容,防止MDS目录服务器成为I/O瓶颈。

3.4.5视频泵(vspump)

视频泵从MDS上读取视频文件,然后将它们实时发送到网络上。在一个视频请求过程中,视频泵从流服务接收消息,从MDS上读取文件的对应部分,然后通过合适的下行信道从网络上将视频数据发送到客户端。 速度控制速度控制是流服务和视频泵一起工作时提供的一种功能。速度控制使得客户端像录像机控制键的功能去控制和重定位流视频。OVS支持下列速度控制功能:

暂停-停止视频播放并保持当前状态 恢复-继续从停止点播放视频 搜索-直接跳到视频的前点或后点 扫描-直观快速向前或回绕

3.5 Oracle视频客户端回放接收的视频流

一个典型的客户端应用程序进行视频回放的构成包括三个逻辑部分:

前端:识别从键盘或鼠标、远程控制、或其它输入设备来的用户命令。这一部分也可以通过图形用户界面提供用户控制。 服务器端:管理到视频服务器控制信道,将用户命令转换成服务器命令,并处理从服务器来的响应。 流解码器:读取服务器从数据信道发送来的视频流,管理流的任何异常,同时把流数据解压并译码,并在客户端显示设备上播放。

5 管理与配置OVS

管理OVS包括以下任务:

系统规划 基本配置 启动、停止OVS 查看系统日记 监视用户端 管理视频存储 实况视频编码和流播出 配置逻辑内容服务和节目预定服务 提高网络负载平衡能力

5.1系统规划

OVS 是端到端遵循client/server结构的软件解决方案,它提供数字视音频的存储、管理、播放。要成功地实施OVS系统首先要考虑下面几个方面的问题:

同时服务多少用户 计划同时服务的用户数量影响对系统的整体配置,如服务器的处理器数量、网络带宽及系统提供的MDS文件系统的总量。 要提供的视音频的的质量 存储的视频文件数量即需要的硬盘空间 是否要不停顿提供服务

另外要提及的是编码速率与能同时服务的用户量是相互关联的,也就是编码速率越低,能同时服务的用户量越大,视频文件占用的存储空间越小。

5.1.1硬件规划

OVS的性能和扩展性直接与服务器硬件相关,要对用户提供连续的流媒体服务,要求服务器应具有充足的处理能力、系统I/O和内存。

处理器越多支持的视频泵越多 要提供的流服务数越多,视频流的位率越大,需要的内存越多 硬盘驱动器I/O能力越强,视频服务器服务与扩展能力越强 要提供更多的负载平衡能力与带宽,应考虑视频服务器支持多网卡。

5.1.2规划Oracle媒体数据存储

OVS将内容存在Oracle媒体数据库中(MDS),MDS是一个存储和发送连续实时视频的实时文件系统。配置MDS主要是确定以下几个方面的配置:

视频内容的位率 RAID大小 存储的内容多少 同时提供的视频流数

5.2 基本配置

OVS提供两种管理界面配置服务器:OVS管理器(OVSM)和UNIX命令行。启动与停止OVS可以使用这两种管理界面。

OVS管理器:

OVS管理器提供了一个图形化用户界面来管理和监测OVS,除去操作任务,OVS控制台提供了完成基本配置任务的界面。但是,OVS控制台只允许配置值使用一个视频泵的过程,如果系统使用一个视频泵足已,OVS管理器就可作为主要的配置工具使用。

UNIX 命令行:

如果需要更复杂的配置,如需要提供多个视频泵过程来支持用户需要,就需要使用UNIX 命令行。使用UNIX 命令行要通过编辑ovsstart文件来实现,ovsstart文件作为OVS服务与过程的的启动脚本和配置文件。

基本的配置任务包括:

设定最大的用户数 调整视频流位率 为多处理器服务器配置视频泵 提高网络负载平衡

5.3 配置视频存储

Oracle媒体数据库是一个用来存储和实时播放多媒体数据到多用户的文件系统,访问MDS由MDS目录服务mdsdirsrv来控制,MDS的配置由配置文件voltab配置文件确定。voltab配置文件是定义所有OVS能访问的MDS卷的配置文件。 配置MDS有以下几个方面的内容:

创建新的MDS卷 建立到MDS卷的路径 配置MDS卷的访问模式 改变MDS卷的名字 MDS卷的碎片整理 配置MDS卷能使用FTP访问 MDS内容的档案管理

创建新的MDS卷:

如果视频文件库增长,系统的存储需求超过了原有的存储能力,这是就需要增加新的MDS卷。创建新的MDS卷要执行以下几个步骤:

1. 关闭OVS. 2. 编辑voltab文件来包括要创建的新的MDS卷。 3. 使用mdsvolinit 设备初始化卷。MDS卷只有初始化之后才能被OVS访问。 4. 使用mdsvolstat确定MDS卷的最大持续吞吐量。 5. 使用新的 voltab文件来启动OVS