网络KTV技术解决方案
一、 项目摘要
网络KTV主要用来满足互联网用户在线K歌互动,文字聊天,结交好友等功能
我们的网络KTV提供三种K歌模式。一种是纯粹的网络K歌;一种是单人练歌房;一种是网络K歌用户与线下包间进行互动的形式。
二、 整体框架
图1 项目总体框架
项目总体框架如图1所示,其中应用服务器和应用服务器部署于Linux,客户端采用Java和浏览器等跨平台语言实现。
三、 技术路线
3.1 IM系统
采用IETF国际标准开源网络即时通信协议XMPP(可扩展消息处理现场协议,RFC3920)作为系统通信协议。XMPP是基于可扩展标记语言(XML)的协议,定义了三个角,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSNICQ等。基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML
IM系统组成如图2所示:
图2 IM系统组成
其中,IM客户端基本功能参考当前主流IM软件。IM Server IM DB 部署于Linux并采用开源数据库,支持异构主流IM通信协议之间相互通信,满足扩展性需求。
3.2 曲目浏览与管理
曲目索引存储在曲目仓库中,包含的字段包括名称,专辑,作者和存储路径等基本信息。
点歌台服务器,提供对曲目索引的增删改查下载等基本操作,并以WebService的方式提供公共服务,以soap协议进行信息交换。
用户通过浏览器进行曲目浏览,具体方式参考主流音乐共享网站。管理员用户完成对曲目信息的管理。
3.3 网络KTV系统
根据需求说明文档,对系统进行功能分解和模块划分,如图3所示:
图3 模块划分
大厅:实现文字聊天功能和对各种包间的管理与呈现。
包间:集成播放器组件,实现音频的采集,优化,编码,解码和传输等功能;视音频信号传输,将同一个包间内的(彭坦春晓)音频信号进行网络传输;点歌台,调用点歌台服务器相关接口获得曲目信息,同时进行相关点播列表管理。
单人包间:实现基本的网络k歌功能。
多人包间:在单人包间的基础上,加入权限管理,控制多个用户行为。用户间进行协作,共同k歌。
线下包间:实现用户视频信号的采集和其他用户视频的回放。
系统间视音频数据传输路径如图4所示。多人合作演唱时,网络只传输用户演唱声音,伴音由用户播放器播放本地伴音文件,以减少网络传输带宽消耗。演唱完毕,在用户端生成录制的多人演唱的音频文件,供进一步处理。
图 4 媒体数据传输路径
其中,MCU Multipoint Control Unit)是用在做多媒体视频会议(Video Conference)中的关键的设备(也称视频会议服务器),主要功能是在协调及控制多个终端间的视讯传输。
MCU主要分为两个部分,分别是MC 张馨比Multipoint Controller)及MP 听我说谢谢你歌词Multipoint Processor)。MC主要是负责协调终端间传输频道使用的先后顺序及利用H.245来界定传
内容的规格;MP则是在MC我是歌手尚雯婕王妃的控制规则之下真正在从事影音的再制作(mixing)、转送(Switch)以及一些视讯流的处理。MCUMC是必须要具备的管理功能,MP则视终端处对视频的处理能力及整体环境架构而有取舍的余地。
   
3.4 MTV播放器
MTV播放器作为公共组件,提供基本的音频采集,编码和回放等播放器功能,可单机执行,也可为其他模块提供服务。模块构成如图5所示。
图5  MTV播放器模块
MTV文件加密与解密:系统中需要加密处理的MTV文件包括系统提供的MTV伴唱文件和用户录制生成的声音文件,生成自有格式文件。播放器支持主流文件和自有格式文件。
音频录制模块输入信号为音频设备采集信号或由网络传输来的音频数据,经过第三方高效的音频优化模块,进行编码和加密处理,生成伴唱文件。
音频播放模块输入信号为音频设备采集信号或MTV文件输入信号,经过第三方高效的音频优化模块,向用户呈现。其中来自音频采集设备的用户音源,经过编码进行网络传输。
3.5风险
A.技术风险
项目研发人员在以前的科研工作中,已经对视音频采集、传输、存贮等方面积累了丰富的经验,具有雄厚的技术实力。本方案所采用的技术可靠,完全可行。
项目承担单位在计算机系统与网络、无线通信研究等方面具有良好基础研究环境,可为课
题组提供多学科、跨领域的多方位技术支撑。
B. 其它风险
项目执行过程中,可能会由于功能需求的变更而导致进度、功能等不能按时完成。
四、 进度安排
舒琪早期电影小芳歌曲
时间段
工作内容
标志性成果
2010.1-2010.2
系统体系结构设计
整体架构的一览及数据流框架
2010.2-2010.3
音视频功能开发
基本实现音视频功能
2010.4-2010.5
原型系统开发
丰富细致功能完成原型
2010.6-2010.7
测试版本发布
修补bug发布第一个测试版本
2010.7-2010.8
测试并排除错误,发布第一个版本
公测并修补隐藏bug完成第一个正式版本
郑小毅 制作