You are on page 1of 109

视易 星云 KTV 系统培 训教材

2005/02 V1.1
郭峰

1
 时尚换肤功能:
 多套精美主题界面,根据喜好、节日自助选择更换,达到烘托包厢气氛的功能。
 多套开机启动画面,根据节日随时进行更换,衬托节日气氛。

 魔音插播:
视  一个客人在唱歌时,其它客人可以随时插播人声、掌声、鲜花、喝彩、起哄、狼嚎等配乐,
易 同时电视上显示对应的美女、手掌、鲜花、动物标志。调动所有客人参与搞笑、逗乐,让客
星 人 High 到最高点。
云  通过独家技术实现魔音插播,用户可以随时添加、更好魔音和图片,无需添加其它硬件,节
省投资成本。
KTV

 真彩叠屏:
系 利用独家在电视上显示真彩色 65 万色图片、文字的能力,在电视上显示真彩色祝福图片、文字提
示、操作提示图片等信息;后续还可在电视上以动画方式显示文字、图片。例如,客人生日时,在
统 播放插播的祝福歌曲前,在电视上显示笑飘四溢的生日蛋糕、火焰飘动的蜡烛、温馨的生日祝福语
卖 ,让客人有宾至如归的感觉。

介  视频屏保:

绍 当客人没有点歌时,在点歌的电脑显示器、电视上同步显示歌曲播放的画面;需要点歌时,再自动
切换回点歌界面,尽显包厢的档次和尊贵。
 个人歌库:
输入手机号即可建立自己的歌库。客人把自己拿手、喜爱的歌曲放入我的歌库,每次直接从我的歌
库中选择歌曲,省去查找歌曲之辛劳。

视  KTV 启动拉幕式设计:

易 国内首创的拉幕式启动设计,把系统启动的枯燥过程艺术化,如同歌舞表演开场前大幕拉开,满足
期盼的心情。

云  明了的状态提示:
点歌界面上有音量、播放状态、静音状态的操作提示,使客人清楚掌握目前的播放状态。
KTV

 偶像爬行榜:
系 歌星头像显示的顺序根据被选歌的次数决定,形成自动的歌星排行榜,使追星族们的热情空前高涨


卖  个性化广告发布:
点 支持广告条、屏保广告的发布方式,根据消费水平、客户口味需要,可以让不同的包厢显示不同的
介 广告内容。

绍  新歌发布:
歌星的最新主打歌、最新专辑及时通过新歌发布提供给客人,尽早把握流行动态。
 智能拼音匹配:
拼音选歌时,根据输入的字母和所有歌曲的首字拼音组合,自动屏蔽不匹配的其它字母。

视  强大的拼音查询功能:
易 对歌曲、歌星列表通过拼音随时进行再过滤,快速找到目标;支持精确、模糊方式的拼音查询,例
星 如输入”爱的”,则所有歌名中包含”爱的”的歌曲都会被查找出来。

KTV

 渐进式的编码查歌:
输入编码数字后,则自动显示以该编码数字开头编码对应的所有歌曲。例如输入一个 2 后,则所
系 有编码以 2 开头的歌曲都显示出来;再输入数字 6 后,则所有编码以 26 开头的歌曲都显示出来
统 ;直至找到对应的歌曲。

点  多种消息通知方式:
介 根据营业需要,包厢内显示吧台通知信息可以选择走马灯、弹出式对话框、全屏显示三种方式。

 人性化的音量调整:
当有客人接听电话而调小机顶盒音量时,则后续所有歌曲的播放都自动按照调小后的音量输出。
 祝福歌曲插播:
吧台可以在发送祝福信息的同时,指定包厢播放指定的祝福、祝寿歌曲;该包厢的屏幕保护图片也
视 可以指定为对应的祝福、祝寿图片。

星  多种歌曲排行榜:
云 提供各语种、流行歌曲、情歌、组合歌曲、总排行等多种方式的排行榜。
KTV

 每个包厢显示应该房间对应位置的逃生图:
系 根据每个包厢的位置不同,发出火警警报时显示该包厢对应位置的逃生图。

卖  机顶盒集中管理和零维护:

介 机顶盒端无需设置,只需要连接好线路。服务器端自动识别机顶盒,统一进行设置。机顶盒为软硬

绍 件一体化设计,采用嵌入式操作系统,最大程度保证了稳定性,轻松实现零维护。
音视频节目的基本概念
音视频节 目的 数字化 过程
 一部电影是由很多独立的照片底片组成的,由于人眼的视觉暂留效应,放映时一般每秒放
映 24 幅画面,才能看到正常连续的动作。

 由于胶片底片是以模拟方式记录图像信息的,通过一定的处理方式,可以把电影中每幅画
面生成对应的数字化的位图文件。这每一个位图文件术语叫做 ”帧 ”。
一部电影对应的所有位图文件大小总和非常大,不方便存储。国际上使用标准的 MPEG 音
视频压缩算法把对应的位图和声音压缩成一个文件。

根据 MPEG 压缩标准压缩成对
应的歌曲、电影节目。
压缩前,必需指定要采用的
MPEG 压缩标准、图像的大小
、节目的制式
MPE G 的编码 原理

 MPEG 编码原理可理解为对比压缩技术,根据视频位图序列,屏
蔽前后位图中相同部分,只记录变化的部分。

 MPEG 机制一般把不同的位图按照一定要求,编码成为 I 帧、 P
帧、 B 帧。
 I 帧,为帧内编码帧( intra coded frame ),基本由原始的
位图组成,压缩率是几种编码类型中最低的;
 P 帧,为预测编码帧( predictive coded frame ),采用前向
运动补偿预测和误差的编码机制,由其前面的 I 或 P 帧进
行预测 ; 是预测的图像,记录活动的部分;
 B 帧,为双向预测编码帧( bi-directionally predictive coded
frame ),采用双向运动补偿预测和误差的编码机制,由前
面和后面的 I 或 P 帧进行预测,所以 B 帧的压缩效率最高 ;
是插补图像,由原始的和预测的图象插补得到的图象;

 快进快退的实现原理:
由于 I 帧是记录了全部的场景信息,而 B 、 P 帧都是只记录与 I
帧不同的部分,快进快退其实就是只播放 I 帧,忽略 B 、 P 帧;
2 倍、 4 倍、 8 倍快进快退其实就是按比例抽取 I 帧播放;
音视频 节目 码率和 并发流 概念
 机顶盒播放节目时,根据 MPEG 标准解压缩还原出每帧对应的位图文件,同样也必需每秒
播放 24 帧画面,才能保证音视频播放的连贯性。

 点播时,服务器通过网络把节目文件传输给机顶盒,为了保证播放正常,就必需保证每秒
传给机顶盒包含 24 帧图片信息的数据量,这就要求服务器传送数据不能低于某个速度。这
个速度就时影音节目的码率,单位是 bit/ 秒

 服务器传输节目给机顶盒时,不可能无限制利用网络带㖄
音视频节 目的 制式概 念
 电视制式只是规定的问题,没有太多技术原因。 N 和 P 制的根本区别在于彩色信号处理方
法不同。 PAL 制式采用隔行倒相的信号处理模式,对电视机的器件和工艺要求较低,因此
我国当时选用此制式,而 NTSC 制式对电视机制造工艺要求很高。另外, NTSC 和 PAL 制
式的伴音载频不一致。

 早期的电视机输入只能支持单制式,现在的电视机都可以支持全部制式对应的不同频率。
如把输入制式设置为 ”自动 ”,这自动识别输入制式。

 视频节目在制作时,就必须指定制式,也就是所有的节目文件电视制式已经是固定的。如
果要改变制式,必需重新进行编码。

 当电视的输入制式与节目制式不同时,电视画面会出现下面两种情况之一:
 画面无颜色,为黑白灰度不同的效果。
 画面上下滚动。

 目前电视制式主要是 Ntsc Pal 两种,简称 N 制、 P 制。


音视频节 目 MP EG 标准区 别
 MPE G 压缩标准目前流行的有三种: MPEG1 、 MPEG2 、 MPEG4 。根本区别 在于音视频压缩 算
法不一样,决定了图像分辨率、节目的码率大小不一样、信息压缩比率不一样。
 视频节目的制式
PA L 制式:扫描频率为 50 Hz ,图像水平扫描线高于 NTSC ,但画面会有闪烁感。
NT SC 制式:扫描频率为 60H z ,图像水平扫描线低于 PA L ,但画面无闪烁感。
 MPE G1 标准 ( 常用于制作 VCD )
PA L 制 :V CD( 35 2*2 88 )
NT SC 制式 :VC D(3 52 *2 40)
可以有多音轨,每个音轨包含两路声音的单声道信息 。一般只有一个音轨,此音轨左右声道为原伴唱。一
般左声道为伴唱、右声道为原唱。
 MPE G2 标准 (SV CD 、标准清晰度 DV D 、高清晰度 DVD )
PA L 制分辨率: SV CD (35 2* 576 ) ;标清 DV D ( 72 0 、 704 、 480 、 35 2 ) *5 76 ,通常为 720* 57 6 ;
N 制分辨率: SV CD (3 52* 48 0); 标清 DV D ( 72 0 、 704 、 48 0 、 35 2 ) *4 80 ,通常为 72 0* 48 0 ;
高清 DVD (19 20 ×1 080 i 、 48 0P 、 72 0P )
多音轨格式:歌曲节目一般有两个音轨,分别对应原唱和伴唱,每个音轨包含一路声音的左右声道 ( 立体
声 ) 信息。
 MPE G4 标准 (Di vx AS F WMV R M)
分辨率可以按照 4:3 、 16 :9 任意设置,解码芯片输出时可指定 N 制或者 P 制。
音轨格式: MP3 、 MP2 等

 视频文件的扩展名只是一个标识,并不能决定视频文件采用的 MPEG 标准。把 VCD 文件扩展名由 .mpg 更改为 .vob ,


并不代表文件格式变成 MPEG2 的了。
音视频节 目文 件的结 构组 成
 音视频节目文件内部数据组成如下:
 视频数据:一般都只有一个视频流数据,流 ID 一般为 0XE0
 音频数据:一般有一个或者多个音频数据, MPEG 编码的音频流 ID 一般为 0XC0 、 0XC1 ; AC3 格式编码的音频流 ID
一般为 0X80 、 0X81 ;
 填充数据:为了达到某种需要,而填充的无用数据流;

视频内容 左声道 右声道 …… 左声道 右声道 其它内容


MPV
音轨1 音轨2
音频内容MPA
节目文件

 为了形象的理解上面的概念,可以把一个音视频文件看成是一根粗的绳子,由很多股小绳子组成。每股小绳子相当于
一个音频或者视频数据流,流 ID 就等同于每股小绳子的编号。这些每股小绳子有些是由两根绞在一起的线组成,等
同于由左右声道组成的不同音轨,每个声道就对应于组成每股小绳子的线。

 音视频节目内数据的组织:
 音视频数据在文件内,并不是单独视频数据、音频数据的简单堆积合成,而是以很多的大小为 4K 、 8K ,叫做 PES 的
数据包组成。每个 PES 数据包要么是视频数据,要么是音频数据,要么是填充数据,每个 PES 包都有上面提到的流
ID 标识自己的数据内容类别。一个或者多个 PES 包组成一个叫做 Pack 的数据包,一个音视频文件就是由这些 Pack
数据包组成的。
 一般一个 Pack 包内,同时有视频 PES 包、音频 PES 包、填充数据 PES 包。
 借用上面绳子的比喻,把粗的绳子截取一段 ( 等同于 Pa ck ) ,这个截取段是由多个每股小绳子段 (PE S) 组成;
歌曲的原 伴唱 区别
 KTV 用的歌曲肯定有原伴唱之分,不同 MPEG 格式的歌曲原伴唱标识并不相同。 MPE G 文件的
音 频 、 视频组 成方式如下:

视频内容 左声道 右声道 …… 左声道 右声道 其它内容


MPV
音轨1 音轨1

 左右声道方式的原伴唱 音频内容MPA
节目文件
VCD 都采用这种格式;有些重新编码制作成 MP EG 2 格式的歌曲,也有采用这种格式。
每个音轨包含两路声音的单声道 ( 非立体声 ) 信息。这两路声音就是通常说的左右声道,是在一个音轨内,播
放时同时解码出原唱和伴唱数据,只是根据需要输出左声道或者右声道内容。一般不会出现原唱、伴唱与画
面不同不的现象,除非节目本身制作有问题。
只有一个音频流 ID : 0xC0 ,左声道:伴唱,右声道:原唱
 多音轨方式的原伴唱:
声音数据一般有两个或者更多音轨,分别对应原唱和伴唱,每个音轨包含一路声音的左右声道 ( 立体声 ) 信息

 MPEG2 格式的音频编码:
音频流 ID 为 0XC0,0XC1 ,一般 0XC0 对应原唱, 0XC1 对应伴唱
 AC3 格式的音频编码:
音频流 ID 为 0X80,0X81 ,一般 0X80 对应伴唱, 0X81 对应原唱
 星云 KTV 歌曲原伴唱对应数值:
星云只是用 1 、 2 两个数字代表原唱和伴唱。
解码过程示意图

视频内容数据 视频内容数据 视频D/A 模拟视频


视频输出端口
(数字压缩) (数字非压缩) 数字转模拟 内容数据

网络接收缓冲区 视频、音频解码同步
(Video+Audio)
音轨1内容数据 音频D/A 模拟音频
(数字非压缩) 数字转模拟 内容数据
同时只能解码一个音轨
音频内容数据 音频输
原唱/伴唱?
(数字压缩) 出端口
音频2内容数据
音频D/A 模拟音频
(数字非压缩) 数字转模拟 内容数据
同时只能解码一个音轨

解码芯 片 视频 、音 频的 数字转 模拟 芯片
音视频 节目 码率大 小的 区别
 码率定义:保证正常播放每秒需要传送的数据,包括音频和视频数据。单位为 bit/S 。请注意是位,而不是字节。
有时简写为 bps ( bit per second )

 码率还有动态码率、恒定码率两种。动态码率是节目场景快速变化时,码率变高,比如追车场面。恒定码率不
管节目场景变化情况,固定用恒定的码率编码。

 网络速度: 100Mbit/s 1000Mbit/s 指的是每秒传输多少位,不是字节。

 VCD 码流一般为: <1.5Mbit/s ;

 SVCD 码流一般为:约为 2.5Mbit/s ;

 标准清晰度 DVD 码流一般为: 4~10Mbit/s ,有恒定码流和动态码流两种;高清晰度 DVD 码流为 15~22Mbit/s

 1 首 DVD 卡拉 OK 歌曲长度一般为 150M 左右; 1 首 VCD 卡拉 OK 歌曲长度一般为 45M 左右

 1 部 DVD 影片长度:一般为 4G ,可以存放 133 分钟 4Mbps 码流的节目;

 1 部 VCD 影片长度:一般为 1G ,可以存放 88 分钟 1.5Mbps 码流的节目;

 1G 容量大约可以放置: 7 首 DVD 歌曲;或者 21 首 VCD 歌曲


音视频节 目码 率对网 络设计 的影 响
 每个 DVD 点播码流设计考虑为 5Mbit/s , VCD 设计为 1.5Mb ps , DV D 码率约是 VCD 的 3 倍。

 每个 Intel 百兆网卡的持续最大设计负载为 70Mbit/ s ,可大约负载 15 台机顶盒同时点播


DVD 节目。做工程时,务必使用正品的 Int el Pro 100S 的桌面级网卡,不推荐使用其它品牌
网卡。

 低端的 RJ45 千兆网卡,最大持续负载一般为 200Mb ps ;主板集成的 Intel Borad com RJ45 千


兆网卡最大持续负载一般为 300Mb ps ;光线 接口的 Int el 千兆网卡,最大持续负载一般为
500 -600M bps 。

 交换机主板数据交换带宽一般 >1Gb ps, 且网络交换机都是专用的数据包交换设备,可以认为


交换机每个端口都可持续工作在 100M 状态。网络设计时,只要百兆级联线总并发流速度不超
过 100M ,就没有问题。

 最大并发流的设计环境为:所有机顶盒点播同一台服务器中某个硬盘上的不同节目。

 网络拓扑结构请参阅视频点播系统网络拓扑图。网络连 接方式为 :所有服务器上的所有网卡都


接入一台中心交换 机;所有连 接机顶 盒的二级 交换 机通过级联 口连 接到中心交换 机。即 整个视频 点播
网络只级联一层,以防止出现过载情况。
X8 6 体系的 PC 架构 示意 图

 PC 主板 CPU 与北桥芯片之
间带宽不是瓶颈
 内存与北桥芯片之间带宽
不是瓶颈
 南桥与北桥之间带宽不是
瓶颈
 主板 IDE 口与 南桥 之间 不是
瓶颈
 PCI 总线与南桥芯片之间带
宽理论为 1Gbit/S ,实际情
况下要小。基本也不是瓶
颈。
 PCI 总线上要挂接 IDE 扩展
卡、网卡,视频点播时的
负载主要集中与此。
影响 服务 器并发 流能 力的硬 件因 素
 服务器硬件配置高低、视频点播系统的效率大小、节目码率的大小等综合因素,决定了一台服
务器的并发流能力;

 网卡:并发流性能的主要瓶颈。务必严格按照前面所述原则进行,要求选择 Intel 网卡。

 硬盘数量:并发流性能的瓶颈。硬盘数量越多,每个硬盘可分摊的并发流也越多。

 电源:并发性能的瓶颈。接入的硬盘数量越多,对电源的输出功率要求就越高。推荐选择航嘉
磐 石 500W 东林 460W 电源,且电源接头有 10-12 个。如输出功率不足,会严重影响硬盘的使
用稳定性和使用寿命。

 内存:并发性能的次要瓶颈, 30 个点以下,使用 256M 内存即可; 30 个点以上,必需使用


512 M 内存。

 CPU :不是服务器性能的瓶颈,如果没有特殊要求,采用一般的赛扬级主流 CPU 即 可 。

 主板:不是服务器性能瓶颈。选用大厂品牌的主板运行质量有保证。如果需要两张以上网卡,
则考虑采用有 6 个 PCI 插槽的主板。

 机箱:一般要求采用专用的服务器机箱。要求硬盘的间隔必需大,以保证散热。
多播的概念和应用
 多播 (Multicasting) ,也叫组播,是指将视频信息以 UDP 广播包的形式发送到网络上,所有接入此网络的机顶盒
都可以接收并播放。多播可以通过软件或者硬件实现。可同时在网络上组播几个视频节目,每个组播一般称为
”频道 ”。

 多播一般有两种形式:文件多播、实况转播。文件多播是将一个文件以 UDP 广播包发送到网络上,可以播放指


定的次数也可以无限循环播放。实况转播是将摄像头连接到实时采集卡上,运行一套专用的软件将采集到的数
据广播到网络上。多播的功能类似与目前的电视观看模式,电视台播放什么节目,电视就接收什么节目,可以
是电影,也可以是现场直播。电视台播放到哪里,电视切换到该频道后,就从哪里开始观看。

 请注意,组播本质是通过广播包实现的。每个广播包都会被机顶盒的网卡接收到。然后判断是否需要,不需要
则丢弃。所以,如果网络上存在多个组播频道,当所有频道的组播码流很高时,会影响机顶盒的正常点播。

 广播包有全网广播包、子网广播包的概念。全网广播包在整个局域网内,不同网段的设备都可以接受到,例如
: 255.255.255.255 ;子网广播包只有在广播包对应的网段内设备才可以收到,例如 192.168.1.255 ,因为每个网段
内的 0 、 255 的 IP 地址为广播地址。

 普通的交换机会将每个组播包复制到所有端口,而支持组播协议 (IGMP 协议 ) 的交换机则只会将组播广播包送


到需要接收组播的网络端口。

 使用普通的交换机, 4200V 机顶盒可以支持组播四路 VCD 的节目,或者两路 DVD 节目,即总的组播码率建议


不超过 5Mbps 。而使用 IGMP 协议的交换机则可以远超过 4 路组播。

 酒店网络设备建议采用锐捷网络的交换机,中心交换机可以采用 STAR-S2800-L3 全模块化交换机,楼层交换机


采用 RG-S1926GS 或者 RG-S1926S ,这些交换机都支持网络管理和 IGM P 组播协议。
视频点播系统的基本概念
视频点 播的定 义

视频点播( Vid eo On Dema nd ),指用户随时可以通过一个人机交互设备,获得可以播


放的节目清单。并根据自己的需要和爱好,选择播放要观看的节目。

视频点播系统一般由视频点播服务器 ( 含节目库 ) 、客户端点播播放设备、数据传输线路。


一般是基于宽带 IP 网络、闭路电视线两种网络形式。
1. 随着 IP 网络技术迅速发展和普及,基于 IP 网络的视频点播技术成为主流
2. 由于普通闭路电视线为单向传输,且共享信道,不同信道间会相互干扰等技术限制,所以基于
普通电视闭路线的视频点播系统已经被淘汰

目前视频点播系统普遍采用流行的 IP 网络交换技术,按视频点播服务范围可简单分为局
域网视频点播、城域网点播。

KTV 歌厅一般是基于普通百兆局域网的 VOD 系统。


视频点 播系统 的软 硬件组 成
 视频点播 系统 服务端 :
硬件上: 一般 由一台 到多 台服务 器组 成。根 据实 际需要 ,多 台服务 器会 有不同 的分 工:
视频点播 服务 器:运 行视 频点播 服务 软件, 提供 点播服 务。 ( 一到 多台, 必需 )
应用服务 器: 存储点 播交 互界面 ,如 WW W 服务器 。( 一台 , 非必需 )
数据库服 务器 :存储 计费 、系统 设置 、曲库 信息 。(一 台 , 必需)
在负载不重的点播环境中,可使用一台高性能服务器提供所有功能。
软件上: 视频 点播服 务器 上运行 视频 点播系 统服 务器端 软件 ,主要 完成 以下功 能:
监听验证 新的 点播请 求, 根据点 播协 议进行 点播 交互, 发送 视频节 目数 据。通 常还 负责管 理节 目库、 提供 点播交 互
界面。

视频点播 系统 客户端 点播 播放设 备


硬件上: 可以 采用 PC 、机 顶盒。 机顶 盒一般 采用 嵌入式 操作 系统、 专用 嵌入式 CP U 、硬 解码芯 片。 由于机 顶盒 的
高稳定、 零维 护特点 ,正 逐步取 代 PC 成为 主流。
软件上: 运行 视频点 播系 统的客 户端 软件, 提供 点播交 互界 面,维 护点 播列表 、发 送点播 请求 ,解码 视频 数据, 显
示视频图 像、 响应播 放控 制。

 信息传输 设备 :
硬件上: 传送 点播交 互信 息、视 频数 据等信 息。 一般采 用新 兴的 IP 网络 交互技 术。 网络形 式一 般采用 星形 结构,
网络设备 采用 10 0M /10 00 M 网络交 换机( Swit ch H ub ), 采用 UTP 五类线做 为传 送介质 ,统 称为以 太网 。
视频点播 协议 :
服务器端 和机 顶盒端 发送 数据时 需要 按照约 定的 格式封 装要 发送的 信息 ,并按 照此 格式解 读接 收到的 数据 包中的 内
容。双方 通信 时还需 要按 照一定 的步 骤进行 ,这 种信息 封装 格式和 交互 步骤就 是视 频点播 协议 。分为 服务 器端部 分
、客户端 部分 ,不同 的视 频点播 系统 会采用 标准 的视频 点播 协议或 者自 定义。
视频点 播系 统的网 络结构

现在的百 兆交 换机设 计性 能就可 以满 足所有 端口 都工作 在百 兆状态 下的 数据交 换; 例如有 80 个并发 流


,每个并 发流 5M 码率, 总共带 宽也 就只有 400M ,交 换机负 载肯 定没有 问题 。
所以,星 云 KTV 系统 网络连 接都 采用上 图把 所有服 务器 都接入 中心 交换机 的方 式,只 要保 证每根 网线
不超过百 兆带 宽即可 。
视频 点播 过程的 本质
 VOD 点播服务要做的事情就是:
 监听、响应机顶盒点播请求,控制授权点数;
 查询数据库,获得要点播文件的信息;
 把文件从磁盘上读出来,按照节目码率,原封不动的发给机顶盒;
 当要进行快进、快退时,则只发送 I 帧给机顶盒,实现快进快退;

 视频点播过程其实就相当于文件下载或者文件拷贝,所以有的点播系统就是使用 FTP 协议
实现点播功能,有的使用 Windows 目录共享的方式实现点播功能;

 视频点播系统的好坏体现在:
 VOD 视频点播服务的效率高低,即相同硬件配置情况下可以支持的并发流数;
 VOD 视频点播服务的稳定性;
 VOD 视频点播服务的容错性;
视易机顶盒的网络启动与集中管理
机顶盒的软硬件结构与 PC 对比
机顶盒的基本概念:
机顶盒就是专为某种用途而设计的设备,以达到与普通家电一样的可靠性、易操作性、免维护性、环境适应性。
软硬件一体化设计:
机顶盒一般所有芯片都是集成在主板上的,包括 CPU 、芯片组、网卡、显片、解码芯片、内存、存储芯片等,且对
应的软件也都是针对这些硬件而设计开发的,并且只能运行在对应的硬件设备上。
嵌入式操作系统:
由于操作系统和软件只围绕机顶盒硬件、机顶盒功能而设计,只需要占用很小的空间,一般只有十几兆,故称之为
嵌入式操作系统。可以很容易存储在 FLASH 芯片中,再固化在主板上;
家电化的设计:
机顶盒设计的目的,就是为了达到与普通家电一样的可靠性、易操作性、免维护性、环境适应性。
机顶盒的硬件体系结构与 PC 机一样。

机顶盒与 PC 有什么区别:
集成化的设计:
机顶盒所有芯片都固化在主板上; PC 机这是兼容配件组装的方式,费时费力;
嵌入式操作系统:
机顶盒使用专用嵌入式操作系统,短小精悍; PC 都采用 Win98 、 Win2000 等,庞大而复杂,出现问题的几率高;
存储方式;
机顶盒采用固化存储的方式,不容易出现问题; PC 一般采用有盘、 PXE 方式的启动,设置维护麻烦,稳定性差;
易管理性:
机顶盒如果家用电器,基本不需要维护; PC 机的设置、管理、维护都很麻烦;
不怕被改场子:
用 PC 机做的系统,很容易被客户与其它软件商勾结而改场子,导致损失。
机顶盒的网络启动与集中管理概念
机顶盒的网络启动概念:
正常情况下,机顶盒使用的操作系统、应用程序、设置信息都存储在主板上的 FLASH 芯片中。升
级、更改机顶盒设置都必须到机顶盒上进行操作,比较麻烦;网络启动机制就是把这些信息都存储
在服务器上,每次机顶盒启动时通过网络下载到本地,然后再进行加载启动;
网络启动、从 FLASH 启动、 PC 从硬盘上启动,只是获取操作系统文件的方式不一样。一旦成功启
动后就与启动方式无关,系统运行没有区别;
使用网络启动,机顶盒启动文件只要在服务器上放置一份,通过一个专用软件给机顶盒提供下载这
些文件的服务;如果要升级,只要替换对应的文件,重启机顶盒即可。

机顶盒的集中管理概念
机顶盒的各种设置信息都存储在服务器上;机顶盒启动时,下载完系统文件后,再下载这些设置信
息。实现只要在服务器上修改设置信息,无需到机顶盒端进行设置;
机顶盒的网络启动与集中管理原理
机顶盒的网络启动和集中管理实现的原理:
通过机顶盒 BIOS 实现;机顶盒 BIOS 中除了存储有硬件芯片设置信息,还存储有一个引导程序;正常情况下,此引
导程序从硬盘或者 FLASH 中加载操作系统。用专门的程序替换后,变成从网络上寻找寻服务器进行启动。
机顶盒找寻服务器时,在网络上发送广播包。网络启动软件收到广播包后,则与机顶盒建立连接,发送机顶盒启动
文件和设置信息。
网络启动软件收到机顶盒发送的广播包后,会自动获得机顶盒的 MAC 地址,并通过此 MAC 地址的后三段内容作为
唯一标识,增加到机顶盒列表中。这叫做自动识别机顶盒。

4200V 机顶盒的启动文件:
BIOS 文件: PMon 开头的文件,简写 P ,例如: pmon225.68m
嵌入式 Linux 内核映象 Kernal : vmlinux 开头的文件,简写 K ,例如: vmlinux.74m
系统文件:包括解码驱动等文件,以 lfs 开头的文件,简写 S ,例如: lfs.img
开机画面:机顶盒启动画面,以 LOGO 开头的文件,简写 L ,例如: logo.img
系统配置信息: linux 系统的各种配置信息,简写 E ,以 etc 开头的文件,如 etc.img
应用软件:包含机顶盒点歌程序的文件,简写 M ,以 module 开头的文件,如 module.img
机顶盒升级文件之间的关系:
PMon 与 vmlinux 是相关联的,一般成对使用,与其它模块没有关系;
lfs 与 module 模块也有一定的对应关系。

4200V 机顶盒的配置信息文件:
每个机顶盒都有唯一的 MAC 地址,机顶盒产品前三段一般是 00-D0-F8 ,后三段不一样。故每个机顶盒对应的配置
信息文件名组成格式为: R******.reg 文件, * 代表机顶盒 MAC 地址后三段。
每个机顶盒都对应一个设置文件,与机顶盒启动文件存放在同一个目录下。
网络启动集中管理二代软件功能介

目前机顶盒网络启动二代程序只能配合 4200V 使用; 4200AR/LS 配合网络启动一代程序使用,
4200AR/LS 使用的二代网络启动 BIOS 很快也可以提供;

网络启动二代采取分离式设计,管理设置程序和网络启动服务分离。
管理设置程序只是用来添加、修改机顶盒设置信息;
机顶盒网络启动服务通过另外一个程序运行,并且可用设置服务器启动时自动启动;
管理设置程序关闭后,并不影响网络启动服务的运行,机顶盒仍可以进行网络启动;

自动识别网卡,网卡负载均衡功能:
 二代网络启动采取基于 MAC 机制的数据传输,根本就不需要 IP 地址,所以无需再像一代那样配置
临时 IP 地址池。
 自动识别机器上的网卡。每次服务启动时会在日志中输出识别到的网卡 MAC 地址;
 网络启动传送数据时,会自动在单台服务器的不同网卡之间进行负载均衡;
 可以在不同的 VOD 服务器上同时运行,共同承担机顶盒网络启动负载; SQL 服务器上不建议运行

机顶盒分组管理功能:
可以根据需要,把机顶盒分组。选择显示不同的组,并对组进行共性设置;例如根据主服务器设置
不同进行分组,根据包厢类型进行分组,根据网络设置进行分组;
网络启动集中管理二代软件功能介

远程控制机顶盒,向机顶盒发送指令;
远程重新启动机顶盒
自动 PING 机顶盒,检测网络是否连通;
自动 telnet 进入机顶盒,检测机顶盒的设置、内存使用情况;
远程向机顶盒发送按键信息,让机顶盒做指定的工作;

备份和恢复机制:
可以把机顶盒启动文件、设置信息、口令、组设置等信息备份进入一个文件,需要时从此文件中自
动恢复;
恢复时,如果目录不存在,会自动创建对应的目录;

自动识别机顶盒配置文件:
可以自动识别启动软件目录下的机顶盒设置信息文件,加入机顶盒管理软件中。也就是说,只要把
机顶盒对应的配置信息文件备份下来,下次可以自动加入网络启动管理软件中。

机顶盒扩充设置参数:
随着 KTV 软件版本的升级,机顶盒上需要配置的参数也会增加;这些不断增加的设置会通过每个
机顶盒的自定义设置选项随时扩充。
网络启动集中管理二代软件组成
网络启动集中管理软件前台程序:
对应安装目录下的 STBMgr.exe ;
这个程序只是进行机顶盒设置、管理、远程控制、服务运行监控。必要时才运行,平常可以不运行

网络启动服务的核心:
对应安装目录下的 SMFTP.exe 程序,自动在后台以服务的方式运行;通过 Win2K 的进程管理器可
以看到这个服务是否在运行;
安装目录下的 npf.sys 文件,是网络启动核心必须要用到的文件,安装时自动拷贝到
C:\WINNT\system32\drivers 目录下;

网络启动的配置文件:
对应安装目录下的 STBMgr.ini ,里面存储了网络启动设置信息。机顶盒升级 PMon 时,需要手工更
改这个文件。

网络启动集中管理的使用说明文件:
对应安装目录下的 STBMGR.pdf 文件,详细进行了说明。请安装 Adobe Acrobat Read 阅读软件进行
观看。
网络启动二代升级机顶盒 PMon 方

升级 4200V 机顶盒的 BIOS 必须要注意的事项:
 升级 4200V 机顶盒 BIOS 过程中,千万不能断电!!否则机顶盒只能送回厂家返修才能使用;
 如果要升级 BIOS ,建议拿到机房进行升级,且要逐台的进行升级。

如何升级 4200V 机顶盒的 BIOS ,也就是 PMon 文件


把新版本的机顶盒 PMon 文件放到与机顶盒升级文件在同一个目录下;
修改网络启动设置文件 STBMgr.ini ,把 UpdateBios=0 更改为 UpdateBios=1 ;
6000K=k 1.0 vmlinux.img 这一行, K 代表 kernal , 1.0 代表自己设置的版本号, vmlinux.img 为对
应的文件名;在这一行中,添加 PMon 信息, 修改成如下格式:
6000K=P 1.0 PMon 文件名 k 1.0 vmlinux.img s 1.0 lfs.img l 1.0 logo.img m 1.0 module.img e 1.0
etc.img
重新启动网络启动服务即可。
机顶盒网络启动的五个阶段
NO1 机顶盒上电后,对硬件自检和初始化:
 机顶盒一上电,首先是 BIOS 获得控制权,完成硬件设备自检和初始化工作;
 此阶段包括从机顶盒上电开始、出现 BIOS 画面、显示 PMon 版本号 ( 例如 3.96.) ,到 BIOS 画面上
出现版本号为止;

NO2 机顶盒查找网络启动服务阶段:
机顶盒开始运行 PMon 中的网络启动客户端程序,首先发送广播包,在网络上查找网络启动服务;
此阶段包括:从出现 PMON 版本号后 , 到开机画面上出现启动进度条;
如果网线物理上不通,会显示” E1” 的错误提示;如果网络通,但不能找到网络启动服务,会提示”
E2” 的错误提示;
4200V 机顶盒在硬件版本 Ver2.0 以后,如果网线物理上不通,电源指示灯为红色;如果网络连通,
电源指示灯为橙色;如果网络有数据在传输或者按下了遥控器、按下点歌面板、移动鼠标,则电源
指示灯都会闪烁。

NO3 机顶盒下载启动文件和设置信息的阶段:
机顶盒通过网络启动服务下载 K 、 S 、 L 、 E 、 M 启动文件和机顶盒配置信息 R******.reg 文件
此阶段从出现下载进度条开始,到机顶盒开机进度条走到第 9 个格后。只要显示到第 9 个格,就说
明所需文件都成功下载完毕了。 ( 注:仅适用于视易公司提供的 LOGO 或者采用标准制作方法制作
的 LOGO ,非标准的开机画面则不适合 )
机顶盒网络启动的五个阶段
NO4 机顶盒开始加载操作系统、驱动程序、系统设置文件:
下载所需文件后,机顶盒开始加载 K 、 S 、 E 模块和机顶盒设置信息 R******.reg 中设置信息;
此阶段包括从开机 LOGO 中第 10 个格开始,至开机 LOGO 消失出现拉幕之前;
一般如果 Pmon 与 vmlinux 文件不对应,就会出现加载失败的情况,启动进度条停止在第 9 个格。

NO5 机顶盒启动点歌程序:
 机顶盒开始启动点歌程序,从服务器下载点歌所需的皮肤、歌星图片、字库、键码设置等信息;
 下载机制是通过 HTTP 协议实现的,所有服务器上都有安装 IIS 服务。安装程序自动把 c:\evideo\ktv 设置成 WWW
服务的虚拟根目录, WWW 服务的端口号为 9166 ;
 网络启动中机顶盒设置参数中主服务器地址设置为哪个 IP ,机顶盒就通过哪个服务器的 IIS 服务下载点歌需要的文
件。所以,最好 SQL 服务器、 VOD 服务器上 c:\evideo\ktv\download 目录下的内容都要求相同。特别是皮肤、键码
设置文件。
 此阶段从出现拉幕开始,直到可以点歌为止;
 此阶段还分为几个步骤:
• 根据机顶盒的 IP 地址,查询数据库,获得此 IP 要下载的皮肤信息;并检测皮肤包文件大小是否正确。
• 下载 c:\evideo\ktv\download\skin 目录下的 ***.bmp 文件,当作拉幕图片。
• 下载 c:\evideo\ktv\download\skin 目录下对应的皮肤文件
• 下载 c:\evideo\ktv\download\singers.img 中的歌星图片
• 下载 C:\eVideo\KTV\download\screen 目录下的屏幕保护文件
• 下载 c:\eVideo\KTV\download\wordLib 目录下的字库文件
• 最后开始查询数据库,获得公播歌曲播放;如果没有设置公播歌曲,则从排行榜中抽取 100 首歌曲,随机进
行播放;如果曲库中没有任何歌曲,则机顶盒会重新拉幕,再次尝试重新启动;
机顶盒网络启动时经常碰到的问题

不出现开机 LOGO 界面:


机顶盒不能成功连接网络启动服务。根据界面上提示的 E1 、 E2 错误可以获得具体的原因;

启动进度条走到第 9 个格之后停止:
一般是由于机顶盒 BIOS 文件 PMon 与 vmlinux 文件不配套造成。

启动进度条走完后出现黑屏,不会拉幕:
一般是由于包含解码驱动的 lfs 文件与点歌程序 module 文件不配套造成。
IIS not start

机顶盒拉幕前报告错误:
请注意屏幕上是否有红色”出错提示”字样的图片。如果有,说明机顶盒已经连接到服务器,并下载了错误提示
底图。如果没有,说明机顶盒根本没有与服务器建立联系;
报告查询数据库获取皮肤包失败
1. 未在包厢管理工具中设置房台并指定机顶盒使用的皮肤信息;
2. DBServer 数据库访问代理服务未运行;
3. 机顶盒设置的 IP 地址不对,不能连接服务器;
4. 对应目录下没有皮肤文件;
报告皮肤包大小错误
1. 由于鼠标版的皮肤与遥控器版本的皮肤不一样,当使用鼠标版的皮肤时,服务器上放置的却是遥控器版本
的皮肤,会报告这个错误;
网络启动集中管理二代使用注意事

当网络启动服务出现问题时,需要经常查看网络启动软件中的服务日志信息。

更换网卡后,需要重新启动服务器,网络启动才可以自动识别到服务器网卡。

网络启动二代软件一定要在每台服务器上都安装。在一台机器上设置好所有机顶盒后,通过备
份恢复机制在其它 VOD 服务器上复制相同的配置;

网络启动管理软件中,以详细列表方式查看机顶盒时,可以点击列表栏上的标题,如 ”机顶盒
名 称 ” “ IP 地址 ”,会自动根据拼音顺序进行排序显示,方便查找。

当需要对多个机顶盒设置相同的参数时,可以先选中这些机顶盒,加入到一个组中。然后对这
个组选择 “组共性设置 ”进行设置信息。

网络启动服务核心 SMFTP.exe 在机顶盒下载文件时,会尽量利用空闲的 CPU 资源;如果看到


SMFTP 短时间占用较高的 CPU 资源是正常的;如果 SMFTP 一直占用 100% 的 CPU 资源,可以
通过 Win2K 的进程管理器,直接杀死 SMFTP 进程。在重新启动网络启动程序,不需要重新启
动机器。

3.9.6 版 本 之 后 的 PMon 在升级时,只要有设置 updatebios=1 ,会忽略版本号设置,下载 PMon


后与机顶盒正在使用的进行对比,不一样就升级;之前的 PMon 版 本 是 通 过 比 对 版 本 号决 定 是
否需要升级的,如果不能升级,需要更改 STBMgr.ini 文件,提高版本号 6000K=P 5.0
Pmon.68M.img
视易星云 KTV 系统的组成
KTV 系统客户端的功能
 所有的 KTV 系统客户端功能,其实主要都是两个功能:
 选歌功能:
• 选歌过程:客人根据各种形式的图形界面内容提示,使用点歌系统的选歌功能,通过各种点歌方式 ( 拼音、字
数、曲种、歌星等 ) 查找需要的歌曲,并选中要播放的歌曲,加入已点歌列表;
• 播放下一首歌曲的功能:客户端查询数据库,获得下一首要播放歌曲的编号、从哪个网卡进行点播;
• 选歌、获得播放下一首歌曲的过程,其实就是 KTV 客户端软件查询数据库、获得查询结果、通过图形界面显
示查询结果的过程;
• 要求大家对 SQL 数据库的操作和维护、星云系统数据库结构 ( 表、视图、存储过程、表之间的关
系 ) 、 KTV 客户端软件查询数据库的方式都有非常清楚的认识。

 歌曲播放功能:
客户端播放指定的歌曲:
客户端获得下一首要播放的歌曲后,通过视频点播协议与服务器端 VOD 服务交互,通过网络接收码流数据
,放入机顶盒网络接收缓冲区,并开始解码播放。
• 响应播放控制:
在歌曲播放过程中,响应暂停、原伴唱切换、静音等播放控制;

 机顶盒播放一首歌曲必须要得到的信息:
服务器端某个网卡的 IP 地址:机顶盒通过这个 IP 地址,进行点播请求、建立点播连接、接收点播流数据;
节目的 ID 号:建立点播连接后,机顶盒向 VOD 服务发送要播放的歌曲 ID 号; VOD 服务查询数据库,获得
此 ID 对应的节目存放目录,读取并发送;
视频点播协议:
机顶盒需要通过哪种视频点播协议,与 VOD 服务端进行点播交互;
星云 KTV 系统 VOD 服务模块
 服务器端:
VOD 点播服务软件:
功能:
在后台一直监听机顶盒点播请求,响应请求并按照节目码率,通过网络发送歌曲;响应机顶
盒端暂停、快进、快退请求;把服务运行信息写入记录文件;
对应的文件: c:\evideo\ktv\bin\vodserver.exe
并发流限制:
目前有三个版本的 VodService :只能负载 3 个并发流的演示版本;只需要 256M 内存最大只
能负载 30 个并发流版本;需要 512M 内存最大只能负载 50 个并发流的版本。
正式版、演示版的区别只是此文件不同,只要更换这两个文件,就可以在正式版、演示版之
间切换。
授权限制机制:
点播系统一般都是限制并发流,故只有 VODService 服务定时检测加密狗,获取授权、显示、
并发流数信息。当更改了授权信息后,只要重新启动 VOD 服务即可生效,不需要重新启动机
器。
表现形式:注册成系统服务,在”控制面板” ->” 服务”中,服务名为” Start Vod Service” 。每
次系统启动时,此服务自动启动。
允许的操作:可以通过服务管理工具,进行停止、重新启动 VOD 服务的功能。
运行信息记录文件:
由于 VODService 是以后台服务的形式运行,并没有人机交互界面,它把自己的运行信息都写
入了 c:\vodsys.log c:\voddb.log 文件中。所以,只能通过这两个文件分析 VODService 服务运行
状况,进行问题排查。
星云 KTV 系统 VOD 服务模块
 服务器端:
VOD 点播服务软件:
星云 Ver2.0.2 之前版本存在的识别网卡隐患:
VOD 服务每次启动时,目前是从 Win2K 系统注册表中获取网卡的 IP 地址;但由于 Win2K 存
在”设备记忆”功能,当一块网卡拔掉后,系统注册表中仍然保留此网卡的 IP 地址,除非选择
”卸载”网卡。所以,当更换网卡、去除网卡、网卡换槽时,必须先通过 Win2K 的硬件设备管
理器卸载此网卡,在进行相关操作。
否则,可能会造成 VOD 服务从系统注册表中获得不能使用的 IP 地址,导致出现机顶盒只能
选歌,但歌曲无法播放的情况。
此隐患已经在 V2.0.2 版本及之后的版本中解决。
VOD 服务运行状态的监控:
目前还没有提供专门的工具监测 VOD 服务运行情况,只能通过 c:\vodsys.log 、数据库 Server
表获得运行信息、当前并发流情况等信息。特别是 c:\vodsys.log 文件,记录了所有 VOD 服务
的运行信息,是分析 VOD 服务运行情况的重要工具。
可能出现的问题:
1. 因获取到不存在的 IP 地址,导致出现机顶盒能选歌,但不能播放的情况。
2. 因注册路径不对,导致 VOD 服务从数据库中获得的歌曲路径不正确,而导致打开 文件
失败。
3. 当机器启动时,因系统对网卡初始化还未结束,导致 VOD 服务启动出现长时间占用
CPU 100% ,导致机器启动很慢的问题。
星云 KTV 系统 VOD 服务模块运行参

 服务器端:
星云 KTV 目前授权机制:
加密狗不认服务器:注册加密狗时可以在任一台服务器上进行,加密信息写入加密狗中,插到任何一台服务
器都可以使用,与服务器硬件没有关系。
授权次数:总共只有 6 次输入授权的机会, 5 次输入限时授权机会,一次输入正式授权机会。所以每个授权
都有标明对应的次数。
授权优先级关系
1. 第一次授权的优先级最低,正式授权的优先级最高,即 NO1<NO2<NO3<NO4<NO5< 正式。
2. 在使用对应次数的授权过期后,再注册必须使用更高优先级的授权。例如,第 4 次授权过期后,必须
使用第 5 次或者正式授权。
3. 如果低优先授权没有过期,而输入了更高优先级授权,则低优先级授权自动作废,启用更高优先级授
权;
4. 一旦输入正式授权码,则加密狗变成正式授权,不能再使用限时授权。如果想再使用限时授权,必须
更换加密狗。

VOD 点播服务软件:
VODService 的命令行参数:
1. VodService.exe –install :注册 VODService.exe 程序成为 Win2K 系统的服务
2. VodService.exe –remove :从 Win2K 的服务列表中删除此服务
3. VodService.exe –start :启动 VOD 服务
4. VodService.exe –debug on :打开调试模式, VOD 服务将输出很详细的信息。目前的版本就是工作于这
种状态的;此功能目前暂不可用;
5. VodService.exe –debug off :关闭调试模式, VOD 服务只会输出错误信息进入此日志文件;此功能暂不
可用;
星云 KTV 系统 VOD 服务工作流程

 服务器端: VOD服务启动时,读取c:\
startvod.ini文件获得相 监听是否有机顶盒
VOD 服务工作流程: 成功启动 获取的路径错误,
关信息;访问数据库,读 请求点播
取Server表中的内容; 无法打开文件
概括为以下几个步骤:
监听--响应请求--获得歌曲 ID
启动失败 有点播请求
--查询数据库--读取文件
--发送歌曲数据 把失败原因写入c:\ 根据点播协议进行交互,
vodsys.log文件; 获得需要点播的歌曲编号

查询数据库,获得需要点
播歌曲的路径

打开要点播的歌曲文件,然
后通过网络给机顶盒发送数
据;

响应机顶盒暂停、快进、快
退请求,并进行相关动作;
星云 KTV 系统 DBServer 模块
 服务器端:
DBServer 数据库访问代理软件:
• 功能:
机顶盒所有查询数据库的请求,都由 DBServer 处理; DBServer 从 SQL Server 数据库中查到数据后,再把查询
结果通过网络发给机顶盒;所以, DBServer 其实是一个机顶盒访问数据库的中间代理。
目前机顶盒所有需要歌曲信息的工作都是通过 DBServer 数据库访问代理查询数据库获得的。包括翻页、选中
歌曲、播放下一首。
• 对应的文件:
1 、 c:\evideo\ktv\bin\DBWatch.exe 是一个数据库访问代理监控软件。监视 DBServe 是否运行及自动启动;
2 、 c:\evideo\ktv\bin\DBServer.exe 是机顶盒数据库访问代理软件, DOS 界面。里面显示的都是机顶盒查询数
据库的 SQL 语句。
• DBServer 出错时会导致的现象:
因目前机顶盒获取信息都是通过 DBServer ,一旦 DBServer 出现问题,机顶盒就会出现走马灯停止,操作无响
应的情况,如同死机一样。其实是机顶盒在等待连接 DBServer ,并阻塞在这里不再响应其它按键请求。
• DBServer 的 DOS 窗口不能阻塞:
在 win2k 中,用鼠标左键点击 DBServerDOS 窗口,会使窗口处于粘贴状态,并暂停程序的运行;导致机顶盒
出现上述操作无反应情况。故现在 DBServer 启动后会自动隐藏该窗口,在需要时可以通过 DBServer 管理器,
点击取消’隐藏窗口’选择框,显示 DBServer 窗口。不需要时,在隐藏起来。
• DBServer 的自动启动机制:
如果选择当检测到 DBServer 未启动而自动启动, DBServer 管理器就会不停的一次次启动 DBServer ,此时会
看到一个 DOS 窗口不停出现,然后又消失;如果启动成功,会看到 DOS 窗口内显示 4 行成功信息。启动不成
功,一般都是不能连接 SQL 数据库、无 EvideoKTV 数据库等数据库原因。 DBServer 会把运行记录写入
c:\voddb.log 文件,可以看到启动失败的原因。
星云 KTV 系统 DBServer 模块
 服务器端:
DBServer 数据库访问代理软件:
• DBServer 数据整理的概念:
为了提高数据库查询效率, DBServer 每次启动时,会根据歌曲、歌星的相关记录,先生成按
拼音排序、按字数排序等常用选歌方式需要用到的结果,并保存为中间结果数据库表。机顶
盒选歌时,直接从这些中间结果表中查询,尽量减少常用查询都要计算的内容,避免重复
计算,提高效率。
数据整理就是根据当前歌曲、歌星记录,生产对应的中间结果表的过程。此过程会占用 CPU
比较高,可根据 CPU 占用率来判断数据整理是否已经完毕。且每次 DBWatch 程序启动时,会
自动进行一次数据整理,或者通过右键点击 DBWatch 的工具栏图标,选择数据整理也可以。
营业期间除非万不得已,最好不要进行数据整理。
• 什么时候需要数据整理:
当添加了新歌曲、修改了歌曲信息等维护操作时,是直接修改数据库中歌曲歌星信息原始记录
,而不是中间结果记录。故不能实时在机顶盒上看到修改结果,必须进行数据整理,把原始记
录数据的修改反映到中间结果记录,机顶盒才可以看到修改结果。
• 后续会进行的改进:
1 、目前机顶盒显示任何歌曲、歌星信息都必须查询数据库,这样对 SQL 数据库、响应效率上
都会有影响。这也就是为什么需要一台单独数据库服务器的原因。后续改进此机制,机顶盒启
动时,会把经常需要的歌曲歌星信息下载到机顶盒内部,当需要时直接查询内存中的记录即可
;查询某些没有的信息时,再通过 DBServer 查询数据库获得。这样可以减轻 SQL 负载、加快
查询速度。此版本我们叫做数据库优化版,可以不需要单独的 SQL 服务器,而与 VOD 服务器
安装在一起。
星云 KTV 系统 DBServer 模块工作流程

DBServer 一般处理两种请求:
机顶盒选歌时需要查询的信息,如国语一
字歌、大陆男歌星 DBServer启动,读取c:\
startvod.ini文件获得相 启动成功 监听是否有机顶盒请求查
机顶盒播放一首歌曲前,需要获得的点播 关信息;访问数据库; 询
信息,包括:
1.从哪个 IP 地址点播:决定了使用哪
启动失败
个服务器的哪个网卡,从而实现服务 有机顶盒查询下一首要播 有机顶盒查询选歌信息,
器之间、网卡之间的负载均衡。 放的歌曲信息 如国语一字歌
2.节目的 ID 。 把失败原因写入c:\
voddb.log文件;

查询数据库: 查询数据库,获得歌曲信
1、确认从哪个服务器点播: 息,返回数据给机顶盒;
查询哪个服务器上有这首歌曲;有此歌
曲的哪个服务器点播此歌曲的包厢数最
少;
2、确认服务器上哪个网卡负载最轻:
查询数据库,获得服务器上哪个网卡负
载最轻
3、把要点播歌曲信息组合成点播链接
发给机顶盒,例如:
rtsp://192.168.0.1:5542/93000
eVideoKTV 数 据 库 中 重 要 的 表
 服务器端:
SQL Server 中的 eVideoKTV 数据库:
重要的表: Server 、 FilePath 、 MediaPlayingList 、 MediaPlayedLog 、
Media 、 MediaFile 。这几个表中包含了系统配置、系统运行的重要信息。
Server 表的重要字段说明:
• Server 表中记录所有 VOD 服务器的 ID 、机器名、 IP 地址、每个网卡的负载信息。
• ServerID :某个 VOD 服务器的编号,与 FilePath 表、 MediaFile 表中的 ServerID 字段相关联
对应,标识某个文件在哪个服务器的哪个目录下,不能错乱。否则会造成 VOD 服务查询数据
库获得文件路径错误,导致机顶盒端不能播放歌曲。
• ServerName : VOD 服务器的机器名
• Weight :决定不同 VOD 服务器之间负载数量的权重,在 KTV 用处不大。
• IP1,IP2,IP3,IP4: 每个 VOD 服务器上网卡的 IP 地址。
• IPload1,IPload2,IPload3,IPload4: 每个 VOD 服务器每个网卡当前负载的并发流数。
FilePath 表的重要字段:
• FilePath 表记录了每个 VOD 服务器的注册路径信息
• FilePathID : VOD 服务器上注册路径的 ID
• ServerID: 注册路径所在 VOD 服务器的 ID ,对应 Server 表中 ServerID
• FilePath: 注册路径实际的目录路径
eVideoKTV 数 据 库 中 重 要 的 表
 服务器端:
Media 表的重要字段:
记录每个节目文件的唯一编号、节目编码、文件名称、原伴唱音轨、音量信息。不同 VOD 服
务器上相同编码的歌曲也只对应一条记录。也就是说, media 表有多少行,就有多少首可用歌
曲。
MediaID :每个可点播歌曲文件对应的一个唯一编码,不重复。不同服务器上相同编码歌曲
MediaID 相同,且对应 Media 表中一条记录。
MediaSerialNo :每个歌曲文件的编号, 5 位。客户自己添加的歌曲从 93000 开始编号。
FileName :每个歌曲文件对应的文件名,不包含路径信息。
OrignalSoundTrackID :原唱音轨的标识。
AccompanyTrackID :伴唱音轨的标识。
DefaultVolume :默认的播放音量。

MediaFile 表的重要字段:
记录磁盘上每个歌曲实际文件的信息,每一个物理文件都对应一行记录。
FileID :磁盘上每个歌曲文件对应的一个唯一编码,不重复。不同服务器上相同编码歌曲
FileID 不相同。
MediaID :与 Media 表中 MediaID 字段相对应。
FilePathID :文件所在目录对应的 FilePath 表中的路径 ID 。
EstablishTime :此物理文件搜歌进入数据库的时间。
eVideoKTV 数 据 库 中 重 要 的 表
 服务器端:
KTV_Auxiliary 表的重要字段:
记录了歌曲名称、歌星、拼音、语别、字数具体信息的表
MediaID :每个可点播歌曲文件对应的一个唯一编码,不重复。与 Media 、 MediaFile 表中同
名字段相对应。
LanguageID :歌曲对应的语种的编号 ID
SongName :歌曲名称
SongNamePY :歌曲名称对应的拼音
SongNameLength :歌名的字数

其它与歌曲信息有关的数据表:
KTV_SongLanguage :记录歌曲语种信息、对应 ID 的表
KTV_Songster :记录歌星名称、对应 ID 的表
KTV_SongsterType :记录歌星分类、对应 ID 的表
KTV_SongType :记录歌曲曲种信息、对应 ID 的表
KTV_RelatingSongLanguage :记录了每首歌曲对应语种信息的表
KTV_RelatingSongster :记录了每首歌曲对应歌星的表
KTV_RelatingSongType :记录了每首歌曲对应歌曲类型的表
eVideoKTV 数 据 库 中 重 要 的 表
 服务器端:
MediaPlayingList 表的重要字段:
记录当前所有 VOD 服务器负载的并发流的信息:
MPlayedID :每次点播分配的唯一的 ID ,主要在数据库中区分每次点播;
SessionID :每次点播会话分配的 ID ,不唯一,编号循环使用; VOD 服务用来标识区分每次
点播,此 ID 在 c:\vodsys.log 中几乎每行信息都有。
Status :当前点播流的状态,标识正常播放、暂停、快进、快退
MediaFileID :当前点播流正播放节目的物理文件对应的 ID ,与 MediaFile 表中对应。
RoomIP :当前点播流客户端机顶盒的 IP 地址
ServerIP :当前点播流是由哪个 IP 传输的,可以获得对应 VOD 服务器的哪个网卡。
BeginTime :点播流开始发送时间。

MediaPlayedLog 表的重要字段:
记录所有已经点播结束的点播流信息,便于后续统计分析点播情况。
MPlayedID 、 SessionID 、 MediaFileID 、 RoomIP 、 ServerIP: 同 MediaPlayinglist 表中同名字
段。
EndCause: 标明对应点播流的结束原因:
0 表示正常结束; 51 表示未发送完毕,机顶盒端主动停唱、直接关机都会出现; 52 表
示机顶盒解码时报告文件格式不对; 55 表示 VOD 服务读取文件错误; 65535 表示正在
播放; 102 表示无法传送数据,可能是网络原因;
视易星云 KTV 系统服务运行监控模

 服务器端:
 服务监控模块:
VOD 服务管理器: c:\evideo\ktv\bin\watch.exe
监控 VOD 服务运行,根据设置自动启动 VOD 服务;
提示授权限时信息:
1.没有加密狗、授权过期, VOD 服务只能运行半个小时;
2.授权到期前:会三天、两天、一天、 12 小时,弹出对话框提示系统授权剩余时间。
且每次启动 VOD 服务管理器都会提示。
DBServer 服务管理器:
监视数据库访问代理 DBServer 的运行,根据设置自动启动 DBServer ;
每次启动时,或者手工选择进行数据整理功能 * 。

 星云 KTV 自带的播放程序:
由于 Win2K 默认不支持 MPEG2 格式的播放,星云 KTV 自带了播放器,是
c:\evideo\ktv\bin\player.exe ;
由于星云 KTV 系统曲库是加密的,用软件可以播放,但播放时会随机出现马赛克;
视易星云 KTV 系统重要配置及日志文件
星云重要的配置文件 startvod.ini
 服务器端重要的文件:
C:\startvod.ini ,保存了 SQL 服务器的 IP 地址、 VOD 服务器运行参数的设置文件:
[Maintenance IP address]
IP Address=10.110.10.146 ;此处填写 VOD 服务器网卡中任一个网卡的 IP 地址
[VOD DB]
pchDbName=greg ; SQL 服务器的机器名
Server IP=10.110.10.146 ; SQL 服务器的 IP 地址
Db Name=eVideoKTV ; SQL 服务器中数据库名称
Usr Name=sa ;访问 SQL 服务器的用户名,最好不要更改
Password= ;访问 SQL 服务器的密码,一般为空

VOD 服务、 DBServe 数据库访问代理服务都是根据此文件获得 SQL 服务器 IP 的,所以当需要更改


SQL 服务器时,只要更改此文件中对应设置;
如果这个文件中信息错误、或者不存在, VOD 、 DBServer 服务是不能启动的。

C:\evideo\ktv\WhatsNew.txt 文件:
星云 KTV 版本发行记录文件,包含了当前软件的版本,修正添加了那些功能的信息文件。收到新版
本后,请仔细查看这个文件确认修改内容。
星云重要的日志文件 vodsys.log
 服务器端重要的文件:
C:\vodsys.log ,保存了 VOD 服务运行的日志文件:
此文件内容比较复杂,不利于阅读。但可以通过查找对应的关键字获得需要的信息;可以在公司
内删除 vodsys.log 后,只开一台机顶盒进行点播,观察 Vodsys.log 中的信息,练习阅读分析
能力;
Lice :标明当前授权的并发流数
Payload :标明当前 VOD 服务器负载的并发流数
Create :获得 VOD 服务开始启动时的日志位置
Fail :一般打开文件失败时,会出现这个词
IO status :当 VOD 服务读取磁盘出现失败时,会出现这个词

VOD 服务正常启动时的记录分析:
Tue Nov 02 08:27:13 2004 VOD 服务启动时间
Initiate the VOD system!  表示开始初始化 VOD 服务
tmr sema, q:4bf0b0-b0,e:4bea20-b0,t:4bea4c-b0
[ssi]Create OSI task OK  开始创建 VOD 服务内部子模块任务
[ssi]Create tuc_netl task OK  开始创建 VOD 服务内部子模块任务
[TUCL] local IP[0] - ip: 192.168.6.57 mask: 255.255.255.0  列出从 Win2K 注册表中获得 IP 地
址信息;如果网卡没有卸载情况,此处会列出不能使用的 IP 地址。
[ssi]Create tucl task OK  开始创建 VOD 服务内部子模块任务
[ssi]Create rtsp task OK  开始创建 VOD 服务内部子模块任务
[ssi]Create sc task OK  开始创建 VOD 服务内部子模块任务
[ssi]Create play task OK  开始创建 VOD 服务内部子模块任
星云重要的日志文件 vodsys.log
 服务器端重要的文件:
 VOD 服务启动失败时的记录分析:
Mon Nov 01 08:57:53 2004
Initiate the VOD system!
tmr sema, q:4bf0b0-bc,e:4bea20-bc,t:4bea4c-bc
[ssi]Create OSI task OK
[ssi]Create tuc_netl task OK
[TUCL] local IP[0] - ip: 192.168.6.57 mask: 255.255.255.0
[ssi]Create tucl task OK
[ssi]Create rtsp task OK
[sc] ini Maintenance IP addr err, not local ip  标明 startvod.ini 中, Maintenance IP 地址设置错误。

•Sun Oct 10 23:57:00 2004


•[sc] Vdb_OpenDb failure !  此次启动失败是由于 VOD 访问 SQL 数据库失败!
•name:greg,ip:192.168.0.244, db:eVideoKTV,usr:sa,psw:
Mon Nov 01 08:57:57 2004[sc] get sys ini err
[ssi]Create sc task err  这些报错信息并不是 VOD 服务不能 start 的根本原因
init tsk failed!  这些报错信息并不是 VOD 服务不能器的根本原因
hsInit err!  这些报错信息并不是 VOD 服务不能器的根本原因
Mon Nov 01 08:57:57 2004  以下信息,表明 VOD 服务遇到错误不能正常启动,开始停止服务
send kill, 3-4977204
Mon Nov 01 08:57:57 2004
send kill, 2-4977064
Mon Nov 01 08:57:57 2004
send kill, 1-4976924
Mon Nov 01 08:57:57 2004
send kill, 0-4976784
Mon Nov 01 08:57:57 2004
VOD system releasing...
Mon Nov 01 08:57:58 2004
Application exit the VOD! VOD 服务停止结束
星云重要的日志文件 vodsys.log
 服务器端重要的文件:
 一个正常点播过程的记录信息:
• [RTSP]tuclFirstConInd, sid:1,cid:8,ip:101,sockid:592
tuclFirstConInd=tucl First Connect Indicate ,即 tucl 模块第一次收到机顶盒连接请求指示
sid:1 表示此次连接分配的会话 Session Id 为 1 ,在此会话期间保持不变
cid:8 表示此次连接的 Connect Id 为 8 ,在此会话过程中一般不变
IP:101 表示是 IP 地址为 101 的机顶盒准备连接进行点播
sockid:592 表示当前网络连接的 socket 的 id 为 592
• [sc]SetupInd,sid:1,file:G:\song\93001.mpg,IP:101->57,VOD-n:256,licence:50
SetupInd=Setup Indicate ,表示 System Control 模块与机顶盒建立连接
Sid:1 此次连接点播会话期间 session id 保持不变
file:G:\song\93001.mpg 表示准备点播哪首歌曲
IP:101->57 表示机顶盒 IP101 与服务器网卡 IP57 连接通讯
license:50 表示当前授权数为 50
• [RTSP]tuclSecondConInd, sid:1,conid:9,ip:101,sockid:596,state:1
tuclSecondConInd=tucl Second Connect Indicate ,即 tucl 模块第二次收到机顶盒连接请求指示;
其它内容同上
• [play]begin send data,ip:101,sId:1,buf:45875200,file=G:\song\93001.mpg,sock:628
会话 id1 开始相 IP 为 101 的机顶盒发送数据,点播文件为 G:\song\93001.mpg
星云重要的日志文件 vodsys.log
 服务器端重要的文件:
 一个正常点播过程的记录信息:
• [play] G:\song\93001.mpg,ip:101,sid:1 send=54650880-0,filesize=54650880-0,sockid:628
send 表示已经发送的数据, filesize: 表示文件实际的大小,两者一样,表示播放模块数据发
送完毕;
• [play] send normalRel to sc, sid:1
播放模块向 system control 模块发出 normal release 正常释放的请求, Sid 为 1
• [RTSP] TUCL_DISC_CFM, conid:9,sid:1,redornot:1

rtsp 协议模块也收到了 tucl 层发送的 disconnect confirm 断开连接请求, sid 为 1


• [sc] master rel, sid:1, delsess:1, total payload:0
system control 系统控制模块释放 id 为 1 的会话,并显示当前 total payload 总负载为 0
星云重要的日志文件 vodsys.log
 服务器端重要的文件:
 一个由机顶盒端主动停止,且文件数据未发送完毕的播放的交互过程:
1. [RTSP]tuclFirstConInd, sid:0,cid:9,ip:101,sockid:632
2. [sc]SetupInd,sid:0,file:G:\song\51778.mpg,IP:101->57,VOD-n:45,licence:50
3. Found duplicate remAddr 101 in tuclCB[9],sock:632, cId:9
这个信息出现没有关系
5. [RTSP]tuclSecondConInd, sid:0,conid:1,ip:101,sockid:620,state:1
6. [play]begin send data,ip:101,sId:0,buf:45875200,file=G:\song\51778.mpg,sock:592
7. [RTSP] TeardownMsgIn ,connID:1 sesid:0
rtsp 点播协议交互模块收到机顶盒端发来的断开连接 tear down 请求, sid 为 0
9. [play] G:\song\51778.mpg,ip:101,sid:0 send=6291456-0,filesize=166211604-0,sockid:592
play 发送模块停止发送数据,可以看到数据并没有全部发送
11. [play]send neterr to sc, sid:0
由于 play 发送模块没有发送完数据,不管什么原因引起,都会打出这个消息,表示此次发送
被动中断; neterr 并不代表网络出现问题,这个调试信息可以忽略
且如果数据发送完后收到机顶盒请求断开的信息,也不会打出此信息
14. [sc] master rel, sid:0, delsess:1, total payload:0
星云重要的日志文件 vodsys.log
 服务器端重要的文件:
 一个由机顶盒端主动停止,且文件数据发送完毕的播放的交互过程:
1. [RTSP]tuclFirstConInd, sid:1,cid:2,ip:101,sockid:540
2. [sc]SetupInd,sid:1,file:G:\song\51883.mpg,IP:101->57,VOD-n:1,licence:50
3. Found duplicate remAddr 101 in tuclCB[2],sock:540, cId:2
4. [RTSP]tuclSecondConInd, sid:1,conid:3,ip:101,sockid:584,state:1
5. [play]begin send data,ip:101,sId:1,buf:45875200,file=G:\song\51883.mpg,sock:596
6. [RTSP] TeardownMsgIn ,connID:3 sesid:1
7. [play] G:\song\51883.mpg,ip:101,sid:1 send=123056148-0,filesize=123056148-0,sockid:596
8. [play] send normalRel to sc, sid:1
9. [sc] master rel, sid:1, delsess:1, total payload:0
星云重要的日志文件 vodsys.log
 服务器端重要的文件:
 一个由于 VOD 服务查询数据库获得信息失败,不能提供服务的交互过程:
1. [RTSP]tuclFirstConInd, sid:0,cid:1,ip:101,sockid:540
2. [sc] GetMFileDetail err:-1, file:51883, ip:101
Get MediaFile Detail err ,表示 VOD 服务查询数据库获得文件存储路径信息错误;

出现这种情况的原因如下:
• Server 表中网卡地址与实际的 IP 地址不一样、或者数量不符合;例如前面讲到的网卡记忆隐
患;服务器实际有两张网卡,但在服务器配置中只设置了一张网卡 IP 地址;这种原因占了
80 %的可能性;

• 一般都是由于数据库 server 表、 filepath 表、 mediafile 表内容不对应导致,原因可能比较多


;处理方法一般都是检测 Server 表、 Filepath 表中是否对应;如果找不到原因,在确认 server
表内容正确后,清空歌库和注册路径信息后,重新搜歌即可。

• 在星云 V1.1.7 之前的版本,清空歌库时不会同时清空注册路径信息,再搜歌时有时有可能导


致这种情况出现。后续的新版本会同时清空歌曲、注册路径信息;所以,清空歌曲信息后再检
查一下注册路径信息是否已经被清空;
星云重要的日志文件 vodsys.log
 服务器端重要的文件:
 一个 VOD 服务打开文件失败的交互过程:
1. [RTSP]tuclFirstConInd, sid:1,cid:2,ip:101,sockid:620
2. [sc]SetupInd,sid:1,file:G:\song\51766.mpg,IP:101->57,VOD-n:46,licence:50
3. Found duplicate remAddr 101 in tuclCB[2],sock:620, cId:2
4. [RTSP]tuclSecondConInd, sid:1,conid:3,ip:101,sockid:632,state:1

6. [play]failed to open file:G:\song\51766.mpg,sid:1, error:2

8. [sc] master rel, sid:1, delsess:1, total payload:0

出现这种情况的原因如下:
• 文件已经被删除 ,但数据库中还有对应的歌星信息记录;在这个情况下,此错误信息出现几
率小
• FilePath 表中注册路径对应的 Serverid 不对造成;在这个情况下,此错误信息频繁出现。请注
意,在通过”服务器管理工具”进入”服务器维护”修改服务器信息时,机器名不能修改,只能
修改 IP 地址信息;否则,不小心会造成更换了两台 VOD 服务器的先后顺序而导致 server 表、
filepath 表不对应的情况;
• 其它原因造成打开文件失败;在这个情况下,此错误信息出现几率小
星云重要的日志文件 vodDB.log
 服务器端重要的文件:
VodDb.log 文件中记录了 VOD 服务、 DBServer 访问数据库的日志信息。一般只在 VOD 、 DBServer 服务启动不成
功时,查看这个文件,看与数据库相关操作出现了什么问题。

VodDb.log 文件中正常信息如下:
Sun Oct 31 19:10:07 2004
server: Initiate the Db!
Sun Oct 31 19:10:07 2004
server: DB Msg--Msg No: 5701, Severity:0, 已将数据库上下文改为 'master' 。 ., Server 'GREG'
Sun Oct 31 19:10:07 2004
server: DB Msg--Msg No: 5701, Severity:0, 已将数据库上下文改为 'evideoKTV' 。 ., Server 'GREG' , line:1.

VodDb.log 中错误信息如下:
Thu Oct 21 20:25:20 2004
server: Initiate the Db!
Thu Oct 21 20:25:31 2004
server: DB severity: 9 ,Err--Errno: 0, 无法连接 : SQL Server 不可用或不存在。 无法连接 : SQL Server 不存在或拒绝
网络访问。
Thu Oct 21 20:25:31 2004
server: System Err--Errno: 53, ConnectionOpen (Connect()).
Thu Oct 21 20:25:31 2004
server: Application exit the Db!
视易星云 KTV 系统的 VOD 点播交互过

机顶盒点播交互过程示意图
NO2 MS SQL 数据库
查询数据库获得93000歌曲信息
1、此歌曲在哪个服务器上有
NO6
2、有此歌曲哪台服务器负载轻
3、负载轻的服务器哪个网卡负载轻 VOD服务查询数据库,
获得93000歌曲的存储路径

NO3
获得要点播的服务器IP地址

DBServer数据库访问代理 VOD服务

NO4
形成点播连接发给机顶盒 NO5
rtsp://192.168.0.1/93000 机顶盒通过RTSP协议向指定地址
VOD服务器网卡发出连接请求,
NO1 申请点播93000歌曲。 NO7
需要播放ID93000歌曲申请
查询该从哪个服务器进行 VOD服务读取 文件,
点播 发送数据 给机顶 盒;
并根据机 顶盒请 求,
机顶盒 进行相关 的播放 控制
机顶盒点播交互过程需要思考的问题
 请看下图,结合点播交互过程思考一下:
如图所示,实际安装设置时,每台服务器上都有安装 SQL 软件,都有运行 DBServer 。
VOD 服务、 DBServer 是怎么知道访问哪一台 SQL 服务器的?
机顶盒是怎么知道需要访问哪台服务器上的 DBServer 的?

备用SQL服务 备用SQL服务

SQL 数据库服务器 VOD服务 VOD服务

DBServer服务 DBServer服务 DBServer服务

VOD服务器1 VOD服务器2

中心交换机

分支交换机 分支交 换机

机顶盒 机顶盒 机顶盒 机顶盒


机顶盒点播交互过程中要注意的几

 对于机顶盒点播交互过程,请注意以下几点:
 VOD 服务、 DBServer 是通过 c:\startvod.ini 文件中设置,获得该访问哪一
台 SQL 数据库;
 机顶盒是通过主服务器设置的 IP ,获得点歌所需文件、查询数据库的;
 DBServer 服务是通过机顶盒提供的歌曲编号,查询数据库
Server 、 filepath 、 media 、 mediafile 表来确定机顶盒需要从哪个网卡进
行点播;

 机顶盒是通过网络启动中的”主服务器”中设置的 IP 地址,获得需要访问哪
个 DBServer 。实际设置时,可以把机顶盒按照服务器所有网卡的数量进行平
均分配;

 网络启动中,可以给机顶盒设置两个主服务器地址。后一个是备用连接,用于
当主服务器设置的 IP 地址连接失败时,自动尝试另一个地址;目前此机制还
未实现;
视易 4200V 机顶盒的工作原理
机顶盒上电
屏幕上显示 如果上电后电源指示灯不
”eVideo”和机顶盒 亮、VGA没有显示,是硬件
PMon版本号 有问题、PMon文件升级失败
机顶盒BIOS获得控制权,开始
控制硬件的自检和初始化

屏幕上显示机顶盒
E1:表示网线不通,可以观
运行机顶盒BIOS中网络启动程 察机顶盒电源指示灯是否红
BIOS版本号。
序客户端,向网络上发送广播 如果找不到,提示E1 色;E2:表示无法连接到网
包,寻找可提供服务的机器 或E2错误信息 络启动服务。可能服务没启
动、网线有问题
服务器上的网络启动服

机 务。如果是第一次识别
到,则先获取MAC地址后
开始下载启动文件K、S、L、
屏幕上显示开机画面 如果停止在第9个格,一般
加入机顶盒列表;如果 LOGO和启动进度条直
顶 已经识别过,则开始发
送文件
E、M和设置信息R*****.reg 至显示第9个格
都是机顶盒Pmon与vmlinux
文件不配套导致


的 开始加载运行启动文件K、S、
L、E、M和设置信息
屏幕上开机画面LOGO
的启动进度条从第10
个格开始增加到最后
如果启动进度条走完后,出
现黑屏,一般是lfs文件与
R*****.reg Module不对应

动 根据机顶盒配置R*****.reg文 一般出现获取皮肤包失败、

过 对应服务器上的IIS
服务,提供点歌程
件中的主服务器IP设置和机顶
盒IP,查询数据库,获得要下
屏幕上显示拉幕图
片,并逐渐拉开;如
皮肤包大小不对问题,请检
测机顶盒IP设置、包厢管理
序需要的皮肤、歌 载的皮肤等信息。然后,通过 果失败,则显示对应 工具是否已经加入房台、皮
程 星等文件 主服务器设置中指向的IIS服
务下载所需要的文件
的提示信息 肤包设置、皮肤包文件、
DBServer是否已经启动等
服务器上的
DBServer数据库访
问代理服务
一般出现能选歌曲,但点歌
点歌程序所需的文件都下载 屏幕上拉幕完毕,走 不播的情况。需要观察VOD
后,查询数据库获得公播歌 马灯开始走动,播放 服务、vodsys.log文件查找
SQL数据库 曲、走马灯等信息,开始播放 公播歌曲 原因
机顶盒的两条数据通道
机顶盒使用时,主要做两个事情:查询数据库选歌、播放指定的歌曲;

查询数据库选歌:
客人通过点歌界面选歌,机顶盒通过 DBServer 不断地查询数据库,获得歌曲信息;根据目前的机
制,只要 DBServer 不能工作,机顶盒端点歌界面马上就不能工作,如同死机一样;
客人待播的歌曲存放在 SQL 中,重启启动机顶盒不会丢失;只有关房时才会清除;

VOD 点播:
 当要播放歌曲时,机顶盒与 VOD 服务进行交互,确认待播歌曲是否可以播放;如果不能播放,则
再尝试一次。如仍失败,则播放下一首歌曲;如果可以成功播放, VOD 服务则发送数据给机顶盒
,机顶盒解码播放;
 机顶盒有个网络接收缓冲区,解码芯片从接收缓冲区中取数据进行处理。就像一个水池,一端进,
一端出;如果网络接收速度小于解码芯片消耗速度,就会出现音视频播放停顿现象;所以,如果看
到音视频停顿,请在停顿时马上拔掉网线,看播放是否立即停止。如果立即停止,说明接收缓冲区
内数据很临界,是由两个原因造成:网络原因 ( 服务器过载、网络瓶颈 ) 、节目码率太高;可以只
开一台机顶盒区分是否节目码率太高;
 每次播放交互过程, VOD 服务都会把交互过程写入 c:\vodsys.log 文件,并且在数据库
Server 、 mediaplaying 、 mediaplayedlog 表中添加相应的记录。
机顶盒的内部运行信息查看
 机顶盒采用 Linux 系统,最大的特点是可以远程登陆到 Linux 中进行控制,查看机顶盒内部运
行状态 、查 看调试 信息、重新启动 机顶 盒,控制播放:

 远程登陆到 4200V 的方法:


 在 DOS 窗口中,运行 telnet 命令: telnet 机顶盒 IP 地址;用户名为: root ,口令为 evideo ,全部
小写,如果输入错误,可以按 ctrl+Backspace 键回删;
 如果用户名、密码错误,则会等待较长时间才会出现下一次提示;

登陆后,查看机顶盒运行状态:
键入 cat /proc/meminfo 命令,可以查看目前内存使用情况;
键入 cat /etc/networks 命令,可以看到机顶盒当前的 IP 地址等设置信息;
键入 ps 命令,可以看到当前系统都有那些程序在运行;

查看机顶盒的调试信息:
 首先,增大 DOS 窗口的缓冲能力。右键点击 DOS 窗口标题栏,选择”属性” ”布局”,把”屏幕缓
冲区”中高度设置为 9999 行,把”窗口大小”中的高度设置为 300 行;出现提示后,选择只对当前窗
口有效;
 键入 kill voddesk ,回车
 键入 killall vodgui ,回车。等待一会儿,用 ps 命令查看进程中 vodgui 是否已经完全退出。
 键入 cd /usr/local ,回车
 键入 ./bin/vodgui ,回车。点歌程序重新运行,并且会打出很多调试信息
 保存这些调试信息时,再右键点击 DOS 窗口标题栏,选择”编辑” ”全选”,再选择”编辑” ”拷贝”
视易星云 KTV 系统的安装和设置
Win2000 操作系统安装过程要点概

 安装星云 KTV 系统前的准备:
必须安装 Win2K 标准版本,不能安装 Advance 、 Professional 、 XP 、 Server2003 版本:

对系统盘,要分两个区,一个是 win2k 系统分区,一个是软件备份分区,分区格式都选择


NTFS ,不能是 FAT32 ;系统分区尽量大一些,例如 30 G;

安装操作系统时,系统组件选择请按照下图所示进行选择。
MS SQL2000 标准版安装过程要点概

 安装星云 KTV 系统前的准备:
只能安装 MS SQL2000 标准版。安装时,只有一点不能使用默认选项,就是选择 SQL 启动用户时,
必须选择让所有服务使用 local system account ,而不是 administrator 帐户;因为一旦更改了
administrator 用户密码,会造成 SQL 服务无法启动。

在每台服务器上都要安装 MS SQL Server ,并且安装完 MS SQL Server 后,必须重新启动机器才能再


安装视易星云 KTV 系统。

安装视易星云 KTV 系统时,服务器网卡必需处于连通状态。否则会造成安装程序自动识别 IP 地址错


误;
视易星云 KTV 系统安装过程要点概

 安装星云 KTV 系统过程中要注意的地方:
星云 KTV V1.1.8 版本把演示版本、正式版本、鼠标版、遥控器版本都做进了一个安装包中,安装时
进行选择:

系统强制指定安装在 c:\evideo 目录下,不能修改;安装时, SQL 服务必须处于启动状态,否则安装


时会导致创建 evideoKTV 数据库失败;

对于单台服务器,安装时可以选择所有的模块;如果只当数据库服务器使用,请不要选择安装“视频
服务”模块;如果只当 VOD 服务器使用,安装时请不要选择”数据库服务”模块;

在 VOD 服务器上安装完毕后,最后会提示输入数据库服务器的机器名和 IP 地址;

安装过程中,会提示进行注册。如果没有注册码,可以先中止软件注册,等拿到注册码后再运行
c:\evideo\ktv\bin\reg.exe 程序进行注册;如果加密狗已经注册过,可以不需要再进行注册,因为授权
信息是写在加密狗中的。

安装完星云 KTV 系统后,准备安装”视易第二代网络启动集中管理”软件,安装目录请选择


c:\evideo\ktv\stb\EL2 目录下,方便以后进行备份;

要求在每台 VOD 服务器上都安装网络启动软件,安装在相同的目录下,并且升级文件要保持相同



视易星云 KTV 系统目录结构和文件说明
星云 KTV 系统指定安装在 c:\evideo\ktv 目录下:
C:\evideo\ktv\bin 目录下放置都是系统的可执行文件:
DBConfig.ini :记录曲库管理工具、服务器配置工具、包厢管理工具访问哪个 SQL 数据库的信息,通过数据库源
的方式实现;
CallServer.ini :记录收银系统服务器的 IP 地址,用于把包厢呼叫转发到收银系统进行提示;
KtvCallCenter.exe :星云 KTV 包厢呼叫工具程序
KtvManager.exe :星云 KTV 包厢管理工具
KTVMediaTools.exe :星云 KTV 曲库管理工具
KTVServerTools.exe :星云 KTV 服务器配置工具
player.exe :星云 KTV 自带的可播放 DVD 的文件
Reg.exe :星云 KTV 的注册程序
C:\eVideo\KTV\db 目录下存放系统的数据库文件:
eVideoKTV.mdf :星云 KTV 系统的数据库文件
eVideoKTV_log.ldf :星云 KTV 系统数据库 log 文件
C:\eVideo\KTV\download 目录下都是点歌程序要下载的内容:
•AD 目录下存放的是广告图片
•Fire 目录下存放的是火警逃生图,每个包厢可以使用不同的逃生图,只要把逃生图的文件名更改为包厢对应的 IP
地址即可。
•Screen 目录下存放屏幕保护图片
•Skin 目录下存放皮肤文件
•Wordlib 目录下存放日语、韩语的字库文件
•后续如果要扩充功能,相关新增的文件也会放到这个目录下。

C:\eVideo\KTV\progress 目录下存放出错提示背景图、换肤时的界面:
C:\eVideo\KTV\stb 目录下存放机顶盒升级文件、配置信息:
•C:\eVideo\KTV\stb\6000 目录下是 4200V 机顶盒的升级文件。
“C:\eVideo\KTV\ 歌库信息”目录下存放 KTV 系统的搜歌文件。
视易星云 KTV 系统配置步骤和要
 安装星云 KTV 系统后需要进行的设置:

 网络启动软件中设置机顶盒启动文件目录,然后识别到所有包厢的机顶盒,同时对机顶盒进行 IP 地址、附加信息的设
置,并记录每个机顶盒 MAC 地址、 IP 地址、包厢名的对应关系;

 通过星云 KTV 系统包厢管理工具,设置所有房间的房台,并且把所有房间都开房。安装至此,先做个备份,停止 SQL


服务,把 db 目录下的两个文件拷贝到一个备份目录下,或者使用 SQL 数据库的备份机制对数据库进行备份。

5. 通过”服务器配置工具”中”服务器设置”,检测安装程序自动生成的 VOD 服务器设置是否正确,其实也就是数据库


Server 表中的内容。

7. 在每个 VOD 服务器上,进行硬盘搜歌工作:


• 首先,确认当前节目盘是否已经全部识别。如果盘符路径不合理,可以修改每个硬盘的盘符;
• 把每个硬盘的卷标更改为包含盘符信息的字符串,以备以后确认盘符时需要;例如 XY_Disk_L ;
• 把公播歌曲放到所有的 VOD 服务器上,并且公播歌曲的编号都一样,建议采用 99998.img 。修改搜歌文件,在其
中加入一行公播歌曲对应的记录。
• 确认搜歌文件正确,运行服务器配置工具,选择”硬盘搜歌”,进行搜歌。搜歌过程中, VOD 服务器的网卡、数
据库服务器的网卡工作指示应该常亮,表明在向数据库写入数据;且数据库服务器的 CPU 会一直出现占用率很
高的情况。
• 搜歌完成后,会把硬盘上有但搜歌文件中不存在的歌曲列出来。把这些文件拷贝到记事本中,根据需要,通过编
辑生成移动、删除的批处理。
• 搜歌同时也会把搜歌目录自动写入注册路径。搜歌完成后,可以通过歌曲管理工具查看歌曲信息。
• 搜歌时,不得同时在两台 vod 服务器上同时搜歌;
搜歌机制的原理:
每个代理商都有一个总歌库,包含了所有歌曲。星云系统配套有一个记录了总歌库中所有歌曲的信息的文件,叫
做搜歌文件,在” C:\eVideo\KTV\ 歌库信息“目录下,每次安装时都会放到此目录下。
每个歌曲都有一个唯一标识,星云系统是 5 位的全数字编号。搜歌文件中每一行都有歌曲的编号和其它信息,每
一行对应一首歌曲。例如下一行
107||10004||10004.mpg|| 不想 ||bx||2|| 流行歌曲 || 国语 || 戴佩妮 ||1||2||1||-1||-1||-1||92||-1||-1||-1||1||-1||-1||-1
场子里所有 VOD 服务器上存放的歌曲肯定是总歌库中的一部分。搜歌的过程就是在硬盘上指定目录下逐首遍历
歌曲,对每一首都找到总歌库搜歌文件中对应编号的记录,然后写入数据库。
视易星云 KTV 系统配置步骤和要点
 安装星云 KTV 系统后需要进行的设置:
1. 在所有的服务器上都运行 DBServer 程序,特别是数据库服务器上的 DBServer ,可以多负载一些机
顶盒。因为 DBServer 本机访问数据库,不需要经过网卡,从 VOD 服务器上 DBServer 进行查询,
要通过网络传输查询结果。

3. 开启每个包厢的机顶盒,确认选歌、点歌、播放、换肤等功能都正常。

5. 确认网络启动服务设置为”服务器启动时自动启动”。备份网络启动软件设置和机顶盒配置文件。可
以通过网络启动软件中的备份功能进行,然后在其它 VOD 服务器上进行恢复,使所有的 VOD 服务
器上网络启动配置、升级文件、机顶盒配置文件保持相同。

7. 备份 eVideoKTV 数据库,有两种方法,效果一样:
• 通过 SQL 服务器的备份功能。 SQL 服务器的维护操作参见后面的章节:
• 通过拷贝文件进行备份:首先要停止 SQL 服务,才能进行拷贝。请注意,因为 VOD 服务依存
于 SQL 服务,如果 SQL 与 VOD 安装在同一台机器上,停止 SQL 时会自动停止 VOD 服务;
• 把 SQL 上的数据库复制到每台 VOD 服务器上的 c:\evideo\ktv\db 目录下。并且在曲库经历了一
次大的改动后,也都在 VOD 服务器上做更新。

9. 实施数据库的自动备份机制,让数据库定时自动备份 ( 具体操作见后面的说明 ) 。

11.确认系统工作正常后,使用 GHOST2003 软件备份整个系统分区。


视易星云 KTV 系统需要注意的使用事项
SQL Serve 是一个网络型数据库,在任何一个机器上做的改动可以生效,避免重复操作。特别是数据整理,在任
何一台机器上只要运行一次就可以了。建议每次数据整理都在 SQL 服务上进行。

更改机顶盒升级文件、皮肤包时,需要在所有运行 DBServer 的机器上进行相同的更新,保证这些机器上文件都


相同。

服务器上主要是 DBServer 、 VOD 服务在工作,紧急情况下,只要把这两个服务重新启动,就相当于服务器重


新启动了。
 重新启动 VOD 服务:最好通过 win2k” 控制面板” ”管理工具” ”服务”中,对” start vod service” 进行重新启动,有
进度条提示重新启动的过程。
 重新启动 DBServer 服务:
1. 双击屏幕右下角的 DBWatch 看门狗,就是红三角的图标,弹出对话框。
2. 点击对话框中的”调试窗口”,弹出 DBServer 的 DOS 窗口。
3. 在屏幕右下角的红三角图标上点击右键,选择退出。正常情况下,会把 DBServer 的 DOS 窗口自动关闭。如果
发现没有关闭,请手工进行关闭。

网卡负载均衡机制的一个隐患:
每当有机顶盒交互成功准备点播时,数据库 server 表中对应的 IPload 自动加 1 ,当点播结束时, IPload 自动减 1 。
当出现某个网卡因故不能工作时, Server 表中仍然有此网卡的信息,且 IPload 值肯定不会继续增加,最终导致错误
的判断此网卡负载最轻,而把新的点播请求都往这个网卡分配,出现越来越多的包厢点播失败的情况

公播歌曲的加入:
当所有机顶盒都公播一个文件时,可以放置在每台 VOD 服务器上,对点播公播歌曲实现负载均衡。

机顶盒内置看门狗程序 voddesk
机顶盒内置一个程序,随时检测点歌程序是否退出。一旦由于某种原因退出,会自动重新启动程序。
视易星云 KTV 多服务器时的系统设计
视易星云 KTV 服务器配置标

可以负载 50 个包厢点播 DVD 歌曲

名称 品牌 型号 数量 备注

主板 微星 技嘉 华硕 Intel 845G 芯片组以上 1 或其他知名品牌 845G 主板

CPU INTEL C4 2.0G 以上 1

内存 现代 DDR333 512M 1 30 个并发流时使用 256M 内存

系统盘 Maxtor 40G(7200 转 ) 1 系统盘不要求大 ,7200 转即可

PROMESE Promise Ultra133 TX2 2


加速卡 IDE 扩展卡,左边两种型号选择一种,只需要两块即可。
HighPoint Rocket 133 2

Intel Pro100S 82550 芯片的桌面级网卡


网卡 INTEL 3 每块 Intel 网卡可以负载大约 15 个 DVD 并发点播
背面带有防伪标志的

机箱 自选 自选 1 要求硬盘之间间隙足够大,散热好

东林 460 460W 1 左侧两种型号任选一种,最好选择至少有 10 个电源头的。一


电源 定购买正品电源。
航嘉 磐石 500W 1

品牌 容量 数量 备注

Maxtor 或希捷 160G 8 个盘


视易星云 KTV 单组服务器时的系统设

[Maintenance IP address] 网络启动 [Maintenance IP address] 网络启动
IP Address=192.168.0.1 IP Address=192.168.0.5
[VOD DB] 备用SQL服务 [VOD DB] 备用SQL服务
SQL 数据库服务 pchDbName=DBSVR1 VOD服务 pchDbName=DBSVR1 VOD服务
器 Server IP=192.168.0.8 Server IP=192.168.0.8
DBServer服务 Db Name=eVideoKTV DBServer服务 Db Name=eVideoKTV DBServer服务
Usr Name=sa Usr Name=sa
收银系统程序 Password= VOD服务器1 Password= VOD服务器2

DBSVR1 VODSVR1 VODSVR2

192.168.0.8 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5 192.168.0.6

中心交换 机24口,可以尽 量接满机顶盒

分支交换机 24口,负载不超 过15个机顶盒 分支交换机2 4口,负载不超过1 5个机顶盒 分支交换机2 4口,负载不超过1 5个机顶盒

机顶盒 机顶盒 机顶盒


IP=192.168.0.11 IP=192.168.0.31 IP=192.168.0.51
主服务器=192.168.0.8 主服务器=192.168.0.1 主服务器=192.168.0.4

机顶盒 机顶盒 机顶盒


IP=192.168.0.12 IP=192.168.0.32 IP=192.168.0.52
主服务器=192.168.0.8 主服务器=192.168.0.2 主服务器=192.168.0.5

………… ………… …………

机顶盒 机顶盒 机顶盒


IP=192.168.0.27 IP=192.168.0.47 IP=192.168.0.67
主服务器=192.168.0.8 主服务器=192.168.0.3 主服务器=192.168.0.6
视易星云 KTV 多组服务器时的系统设

DBSVR1 VODSVR1 VODSVR2 DBSVR2 VODSVR3 VODSVR4

中 心交换机 24口,可 以尽量接 满机顶盒

分支交 换机24口 分支 交换机24口 分支交换 机24口


机顶盒 机顶盒 机顶盒

机顶盒 机顶盒 机顶盒

………… ………… …………

机顶盒 机顶盒 机顶盒


视易星云 KTV 系统故障情况紧急处理
星云系统 故障恢复 指南
不管系统是否出现问题,数据库的日常备份是很重要的,俗话说,有备无患。这个备份既包括
SQL 上数据库文件的备份,也包括把这个数据库文件备份到 VOD 服务器上。

当 SQL 数据库服务器发生故障时,不能再使用时,需要按照如下步骤处理:
 停止替代 SQL 的 VOD 服务器上的 DBserver 、 VOD 服务、 SQL 服务。
 把之前备份的两个数据库文件拷贝到替代 SQL 服务器的 VOD 服务器上 c:\evideo\ktv\db 目录下,覆
盖同名文件。
 在替代 SQL 的 VOD 服务器上,增加数据库服务器的 IP 地址;
 把所有 VOD 服务器上的 c:\startvod.ini 文件中, [VOD DB] 选项中机器名进行修改,更改为要替代
SQL 服务器使用的机器的机器名。
 启动替代 SQL 的 VOD 服务器的 SQL 数据库服务。
 启动所有 VOD 服务器上的 DBServer 、 VOD 服务:
 重新启动所有机顶盒即可。

对于上述的每一步,想一想为什么?
星云系统 故障恢复 指南
当某台 VOD 服务器发生故障时,不能再使用时,需要按照如下步骤处理:
 修改网络启动软件,把指向故障服务器 DBServer 的机顶盒,更改主服务器设置信息,指向正常的
VOD 服务器。

 停止所有服务器上的 DBServer 、 VOD 服务。

 通过服务器管理工具,选择服务器维护,删除故障的 VOD 服务器的记录。目前的版本还不支持把


server 表记录、注册路径、歌曲信息都删除,但功能已经实现,只是没有开放,很快就可以提供。

 启动所有 VOD 服务器上的 DBServer 、 VOD 服务。

 重新启动所有机顶盒即可。

对于上述的每一步,想一想为什么?
视易星云 KTV 系统运行状态的监控
服务器网卡数据流量的监控
 运行 ”控制面板 ” ”管理工具 ” ”性能”:
在右侧的座标图上,点击右键,选择”添加计数器”。
在性能对象中,选择” Network Interface”
在”从列表选择计数器”下拉框中,选择” Bytes Total/Sec”
在”从列表选择实例”中,选择对应的网卡,不要选择” MS TCP Loopback Interface”
点击确定按钮。
再在座标区域中,点击右键,选择”属性” .
在弹出的对话框中,选择”图表”。在”最大值”中,百兆网卡输入 1300 ,千兆网卡输入 13000
服务器网卡并发流负载的监控
在数据库服务器上运行 MS SQL 服务器中的 ”查询分析器 ”。如果在 VOD 服务器上运行查询分
析器,则需要输入要连接的 SQL Server 的 IP 地址,不能连接到本机。

选择 ” eVideoKTV” 数据库,然后敲入下面的查询语句,按 F5 执行:


查询每个网卡负载的 SQL 语句:
select servername,ipload1,ipload2,ipload3 from server
查询所有 VOD 服务器总的并发流的 SQL 语句:
select count(* ) from mediaplayinglist
磁盘空闲率的监控

 运行 ”控制面板 ” ”管理工具 ” ”性能 ”:


在右侧的座标图上,点击右键,选择”添加计数器”。
在性能对象中,选择” Physical Disk”
在”从列表选择计数器”下拉框中,选择” Idle Time”
在”从列表选择实例”中,选择对应的磁盘。
点击确定按钮。
磁盘空闲率是按照百分比显示的,只要不连续处于很低的值就可以。
星云 KTV 系统故障排查需要观察的内

通过 Win2K 的系统日志,获得网卡、 IDE 扩展卡、硬盘的报错信息:
 如果经常报告”系统检测到 IDE 扩展卡的硬件设备或者固件已经过时”、” IDE 扩展卡在传输等待时间内没有响应”的
问题,可能就是硬盘有了逻辑坏扇区。如果点歌时出现了问题,就要引起注意。
 如果有报告”检测到 \device\scsi\HardDisk2 磁盘有坏块”就说明磁盘确实有了坏块。可以根据 HardDisk 后面的数字,
结合磁盘管理器中磁盘列表的编号,确认对应的磁盘。

通过 Win2K 的应用程序日志,获得 SQL Server 等软 件的报错 信息。如何识别 是否真 正的错误 ,需要经验 。

观察 Win2K 的 ”任务管理器 “,看 CPU 是否被哪个进程占用太多、系统进程中有无奇怪的进程存在。

机顶盒点播故障需要仔细观察的信息:
仔细观察阅读 vodsys.log voddb.log 文件,获得 VOD 服务运行的相关信息。
通过数据库中记录的网卡负载量,系统性能监控工具中的网卡数据流量,获得网卡工作情况。
观察 DBServer 中与机顶盒的交互,返回的查询结果是否正确。
telnet 进入机顶盒,获得调试信息,发给视易技术支持人员。
查看 Mediaplayinglist 表中的内容,获得当前所有包厢的播放信息。

选歌时碰到的问题:
DBServer 窗口中 SQL 语句的拷贝和执行,看返回的结果是否正确。
参看数据库的关键表,看相关信息。
星云 KTV 系统故障排查的方法

仔细确认问题的现象,对随机出现的问题仔细确认发生规律:
出现问题的包厢是否有规律,确认有无共同点,例如网线是否接在一个交换机、主服务器地址是否
指向同一个 DBServer 。
确认问题出现分布是否有规律,是否经常出现在某些固定的包厢。
确认问题时间、频率是否有规律,是否定时出现、并且重复出现。
确认问题的现象是否有规律
总之,对随机性的问题要仔细确认、观察,获得规律。
对歌曲播放不正常的情况,确认歌曲播放是否会影响下一首、其它包厢播放是否正常。
对因改动、升级引起的问题,确认之前的版本是否存在。

 根据获得故障现象,进行分析得到初步判断结果,得到可能的原因,一定要有一个清晰的思路

 对可能的原因进行测试确认,必要时使用交叉排除方法。

 经过排查,得到初步结论,进行分析,缩小范围,再进行排查和确认。

 时间紧急、或者排查无结果时,寻求视易技术支持。
星云 KTV 系统施工一些小经验

磁盘拷贝的经验:
硬盘使用前一定要进行完全格式化。
两个 IDE 扩展卡,同时格式化硬盘不要超过 4 个,且一根硬盘数据线接一个硬盘进行格式化
一定要把源盘、目的盘接在同一根 IDE 线上,主从顺序没有关系。

如何根据盘符获得对应的物理硬盘:
系统施工时,务必修改磁盘卷标和盘符对应,且物理磁盘上贴上标签与卷标对应。
通过磁盘管理器,获得对应磁盘的物理位置。

有些磁盘会报告 ”访问需要交叉密码 ”等错误,如何修复:


如果时由于磁盘文件系统结构损坏,可以使用 DOS 命令行命令 : chkdsk 盘符 /F 进行修复。
如果磁盘出现一些奇怪的问题或者怀疑存在问题时,也可以使用这个命令进行检查。
如果不能修复,则基本无法修复了,准备重新拷贝。

目前 160G 的硬盘最好不要接入主板的 IDE 口,偶尔会出现意外的情况。


因为某些主板 BIOS 不支持 160G 硬盘,需要升级。
Win2K 需要修改注册表,打开访问达硬盘选项。
如果一定要用,请大家多上网看一下如何在 IDE 口接入 160G 硬盘的方法。

有时候,系统日志经常报告 ”网络存在重名,请使用 nbtstat –n 查看重复的计算机名称 ”。


 进入网卡 IP 地址设置对话框,选择”高级” ” WINS” ,选择”禁用 TCP/IP 上的 NetBIOS” 。
 但一个服务器上的网卡,必须有一个选择启用,其它都选择禁用。
MS SQL 服务器的使用和管理介绍
MS SQL 关系型数据库服务系统简

MS SQL 是一个网络型的关系数据库服务系统软件:
桌面型的数据库:只供安装数据库软件的机器使用,不能通过网络进行访问,没有服务器端、客户端之分。如: MS Access
网络型数据库:分为客户端、服务器端软件,客户端可以安装在网络上任何一台机器上,以一定的账号,通过网络访问数据库。如 MS
SQL 、 ORACEL 、 MySQL 等。

MS SQL 数据库的操作:
数据库的开发:由开发人员根据应用系统的需求,设计数据库表结构、关系、各种对象,建立数据库。
数据库的日常管理和维护:数据库管理员,定期进行数据库的备份、权限管理等日常管理操作。
数据库内容的维护:数据库操作员,通过 SQL 语句或者数据库应用程序,进行数据库内容的日常维护。
KTV 系统要求大家具备的素质:初级的开发人员角色,数据库管理员角色和数据库操作员角色;
具体要求:清楚数据库基本概念和结构;能够对数据库进行日常备份、维护操作;能够解决数据库的一些简单问题;能够通过 SQL 语句查询
获得需要的内容;

MS SQL 数据库的基本概念:
 数据库表:以列 ( 字段 ) 和行 ( 记录 ) 形式存储具体内容的物理单位,分为系统表和用户表;系统表是 MS SQL 用来管理维护数据库的,建立
数据库时自动生成,用户一般不需要访问和更改这些表的内容;用户表是建立数据库后,用户根据自己需要或者由应用系统建立的,应用系
统的数据都存储在用户表内。
 SQL 语句:操作数据库的专用语言。
 数据库表之间的关系:不同表的字段之间可以建立某种关联,以保证业务逻辑的正确性。星云数据库中很多表之间就存在关联。
 视图:为了查询、管理方便而建立的一种逻辑表,把不同物理表的字段逻辑组合在一起形成的虚拟表,使用上如同物理表一样。视图是由
SQL 语句中的 select 查询语句建立的。
 存储过程:为实现某一特定功能,由 SQL 语句加上流程控制语句形成的函数,可用加快执行速度。由系统存储过程、用户存储过程之分,星
云数据库中存在很多存储过程。
 权限管理:管理访问数据库的用户,并根据需要赋予不同的权限。例如对同一个数据表可以给不同用户不同的访问权限。
 数据库内容的导入导出: MS SQL 可以很方便的在各种数据库 (Access/dbf/pardox) 和各种文件格式 (TXT/Excel) 之间进行数据的转换。即你可
以把一个 Excel 表格导入成数据库的一个表,也可以把一个表和视图导出成 access 数据库。
MS SQL 服务器常用工具

MS SQL 服务器的常用工具:
企业管理器:管理、维护数据库系统必须要用到的工具,主要以图形界面的操作方式管理数据库;
MS SQL 服务器常用工具

MS SQL 服务器的常用工具:
MS SQL 的查询分析器:以 SQL 语句作为操作命令,修改、维护数据库内容经常用到的工具。
MS SQL 服务器的关键组成

MS SQL 数据库的关键组成:
表;
 表是很多不同字段的记录的集合,是物理上存放于磁盘上的;
 查看表的数据可以通过图形界面的企业管理器打开查看,或者通过 SQL 查询分析器以 SQL 语句进行查看;
 修改表的数据可以通过图形界面的企业管理器进行修改,或者通过 SQL 查询分析器以 SQL 语句进行更改;
 具体的操作方法请查找资料学习 MS SQL 的操作和管理,掌握表的创建、表结构的修改、字段数据类型概
念等表维护操作;
 要求熟悉星云系统主要表的含义、熟悉 Select 、 update 、 delete 语句及各种子句使用方法;

视图;
 是为了方便查询,由不同表的需要字段组成的逻辑意义上的表;视图其实就是一个综合了不同表需要字段
的 SQL 查询语句。
 对视图主要是通过查询语句进行操作;
 要求掌握星云系统主要视图的含义;

存储过程;
1. 存储过程是一个函数,由 SQL 语句和流程控制语句组成。可以有传入参数、传出参数;
2. 存储过程执行效率高,调用方便;并可以对组成存储过程的 SQL 语句进行加密,防止外人查看和修改;
MS SQL 数 据 库 的 正 常 备 份 和 恢 复

MS SQL 数据库的备份和恢复:
正常的备份和恢复操作。
具体操作方法,请参照相关文档和资料;
请注意,每次备份时, SQL 都会记录备份操作;恢复时,可以直接从备份记录中选取要恢复的记录;
MS SQL 从文件恢复数据库

MS SQL 数据库的备份和恢复:
从单个备份文件中进行恢复的方法:
要选择从”设备”还原,然后点击”选择设备”按钮,再选择对应的文件;
MS SQL 自动备份功能

MS SQL 数据库的备份和恢复:
 安装调试好系统后,必须建立对数据库的自动备份,以防备意外;
 请注意,为防止系统盘物理损坏导致原数据、备份数据同时丢失,自动备份需要在系统盘、任一个歌库盘上
都备份;例如,可以在每周一营业快开始时间 ( 服务器开机但没有客人的时段 ) ,自动备份到“ D:\ 数据库自动备
份目录” ; 在每周四营业快开始时间 ( 服务器开机但没有客人的时段 ) ,自动备份到” H:\ 数据库自动备份目录”;
 自动备份机制要求 MS SQL 的 ” SQL Server Agent” 服务必须开启,并且系统启动时自动运行;
MS SQL 数 据 库 文 件 的 分 离 和 附 加 操 作
MS SQL 数据库文件的分离和附加操作:
MS SQL 数据库系统,数据库其实就是指定目录下的 ****.mdf 、 ****.ldf 的两个文件;扩展名为 mdf 的是存
储数据内容的文件,扩展名为 ldf 的是数据库操作日志记录文件;
分离和附加数据库:
MS SQL 数据库的一个特点就是可以把数据库文件与数据库管理系统分离开;需要时,又可以把单独的数据库
MDF 文件附件到数据库管理系统中,这称为分离和附加;分离后, MDF 、 LDF 文件成为独立的不受数据库
管理系统管理的文件,可以自由拷贝、删除、更改存放路径;
分离数据库:分离前务必关闭所有访问要分离数据库的程序,如 VOD 服务、 DBServer 、查询分析器;
分离时,如果当前数据库文件有活动的连接在访问,如右图,则需要先点击”清除”按钮,再点击”确定”按钮

“ 在分离前更新统计信息”可以不选中;
MS SQL 数 据 库 文 件 的 分 离 和 附 加 操 作
MS SQL 数据库文件的分离和附加操作:
 附加时,只要有数据库的 MDF 文件就可以,可以不需要有 LDF 文件;附加时, MS SQL 会自动创建一
个新的 LDF 文件;
 附加数据库:
1. 附加时,只要选中 MDF 文件即可。如果需要,可以点击”验证”按钮,验证数据库是否完好。
2. 注意,”附加为”框中的数据库名称必须为” evideoKTV” ,不能为别的名字
3. 其它内容可以不变;如果没有 ldf 文件, ldf 那一栏会是红色的叉,没有关系,仍然可以附加。
MS SQL 服务器导入和导出功能
数据库的导入导出功能:
MS SQL 可以把数据库导出为 Dbf 、 TXT 、 access 、 excel 等格式的文件;也可以把这些格式的文件导入
成为一个数据库;
对于 TXT 格式的文件,要求里面的文本内容必需具有数据库表基本的行和列的特征,也就是说每一行内
容中都有非字母的分隔符,例如 , | 等。 SQL 导入数据时,会把这些分隔符当作列的分隔符;
数据的导出:
MS SQL 服务器导入和导出功能
数据库的导入导出功能:
数据的导入:
公播歌曲使用虚拟内存盘的使用说明
公播歌曲使用虚拟内存盘的使用说明
使用虚拟内存盘放置公播歌曲的必要性:
1. 硬盘是个机械部件,每分钟 7200 转,是服务器中长时间使用最容易损耗的部件。如果所有机顶盒公播都只播放一
台服务器中某个硬盘上的某首歌曲,日久天长,这首歌曲的存储扇区理论上就比较容易出现问题。
2. 现在可以通过在 Win2000 上划分一部分内存,设置虚拟盘,把公播歌曲放置在虚拟盘上,则可以很好的避免这个
问题。
3. 由于虚拟盘是存储在内存中的,故公播歌曲文件不能太大,最好为 MPEG1 格式,不超过 60M 。制作公播歌曲时
要特别注意。
4. 如果采用随机选择公播,或者指定多首歌曲的公播方式,可以不采用虚拟盘的方式。
5. 虚拟硬盘功能采用: ramdisknt15 软件。

RamDiskNT 软件使用的说明:
1. 安装采用默认值即可
2. 安装后,执行”补丁”目录下的” SN.reg” 文件,进行注册;再把此目录下的汉化文件拷贝到 RamDiskNT 安装目录
下,覆盖同名文件即可。
公播歌曲使用虚拟内存盘的使用说明
RamDiskNT 的设置说明:
1. 按照右图中所示进行设置,特别是加红色圆圈的部分。
2. 保存文件名和载入文件名必须保持相同。
3. 每次更改设置后,必须选择”保存设定”按钮。
4. 为了容易区分,盘符就使用默认的” Z” ,不需要更改;
5. 要启动服务,必须点击”启动”按钮。下次启动时,服务会
自动启动。
6. 当需要更改公播歌曲内容时,只需要向” Z” 盘拷贝新的公
播歌曲替换原来的公播歌曲;然后进入 RamDiskNT 设置,
选择”保存磁盘映象”按钮,或者重新启动机器。
视易星云 KTV 系统的配套工具使用说明
视易星云 KTV 配套的工具软 件

自动测试软件:

TH 曲库对比、合并工具:

挑歌拷歌工具:

加歌星头像的工具:

4200LS/AR 、 4200V 机顶盒工厂检测程序:

动态键码配置工具: