基于WiFi的多媒体视讯发布系统设计与实现

2016-11-14 08:37:12李爱卿国家新闻出版广电总局四九一台
卫星与网络 2016年4期
关键词:即时通讯服务器端音视频

+ 李爱卿 国家新闻出版广电总局四九一台

基于WiFi的多媒体视讯发布系统设计与实现

+ 李爱卿国家新闻出版广电总局四九一台

本文以当下成熟的WiFi热点技术平台为基础,以多媒体服务信息展示为基本功能,整合了即时通讯、媒体资料管理、嵌入式媒体播放、实时信息发布等应用,提供一整套经济可行的视讯发布技术解决方案,并以客户端即时通讯为例,深入剖析了设计实现过程。

多媒体、发布、即时通讯

前言:随着近几年来WLAN技术领域飞速发展,无线局域网技术从最初的802.11a发展至802.11g/n,目前最成熟的技术是802.11n,传输速率由802.11a及802.11g提供的54Mbps、108Mbps,提高达350Mbps甚至高达475Mbps,同时发展的802.11ac采用5G频段,可实现最高达1Gbps的传输速率。

近年多媒体应用的普及,以WLAN技术为基础的WiFi热点平台覆盖范围逐步加大,网络化、智能化是多媒体视讯发布的发展趋势,对于终端部署地理区域分散、规模较大的实务应用来说,由于成本的因素而使得实施、管理与维护相当困难,已成为技术可行性与经济可行性之间平衡取舍的挑战。笔者认为,系统建设时设计人员必须对实际需求有深刻了解与领悟,在保障可靠实施运行前提下,架构设计还需不失灵活性、扩展性。文中设计思路,均来源于计算机与通讯技术领域工作实践。

一、设计思路

早期的BBS电子社区多媒体发布系统的应用多是以播放广告、显示宣传信息功能为主,由于国内网络通信资费较高,基于对成本因素的考虑,众多的企业与单位纷纷采用功能单一、技术相对落后的单机版方案,功能只是单向信息显示与广告呈现。当下人们对信息依赖程度的要求越来越高,希望多媒体广告发布系统功能多样化,能在公共场所能及时的提供所需的信息服务,将更为丰富的信息快速反馈给系统用户。那么笔者认为,系统的多样性将显得尤为重要,这些媒体信息需要能够准确、及时的发布到终端设备进行播放与展示。新一代的多媒体视讯发布需求将更加侧重提供实时信息显示、交互查询等新功能,并能基于WIFI、局域网进行登录。笔者结合对通讯信息技术工作实践,在本文设计中拟划分如下:

如图1所示,本文系统设计主要划分为前台系统和后台系统两大功能,而在前台系统中,包含电子社区论坛和多媒体控制系统两个子系统,用以实现与用户的主要交互、用户界面等,实现与用户的实时友好交互,完成相关数据展示及用户数据收集等功能,而后台系统主要包含电子社区服务器,实现相关的逻辑控制及数据存储,是整个系统的逻辑控制中心,完成相关数据的处理和持久化存储,从而实现数据永久保存、便于查询等相关功能。

多媒体视讯发布系统拟采用基于C/S模式的三层架构来设计如所示:通讯中采用加密方式,保证数据传输安全、完整,并保证与主服务器中数据库数据的实时一致性。开发模式是C/S开发模式这种工作模式主要用于系统管理方面,主要是对多媒体处理的管理。系统开发平台采用微软公司.NET开发平台,。开发语言采用C#与C++完成。前端页面和管理部分采用C#语言开发,使开发效率最高。多媒体处理部分采用C++开发,使多媒体处理效率最高。网页和管理部分采用C#语言开发。

系统主要包含客户端和服务器端两个部分的功能,其中:

(1)电子社区多媒体控制系统客户端:

图2 多媒体发布系统架构图

电子社区多媒体控制系统的客户端功能主要包含音频播放、视频播放、音视频格式转换、音轨压缩及录音等主要功能,实现电子社区在客户端的所有音视频的播放、格式转换以及音视频的音轨压缩等功能,同时实现音频文件的录音功能,从而

如图2所示,多媒体发布系统设计的主要架构包含数据库、服务器及客户端三个功能模块,其中:① 数据层:用来完成系统中数据的管理,提供数据信息,拟采用Microsoft SQL Server作为数据库管理系统,提供数据库存取等服务。 ② 功能层:提供了服务组件层与底层数据的交换,完成系统业务逻辑的实现,实现。③表示层:由表现层和控制层组成,提供用户与系统进行交互的界面,实现与用户的交互、数据展示及相关数据收集等功能。

二、系统功能设计说明

系统以计算机技术核心,根据流程要求,数据库设计即要保证降低对网络环境的要求,又要保证数据同步传输的安全性、一致性、方便性。数据库系统采用微软公司SQL Server 2008数据库系统,SQL Server 2010数据库为核心主数据库,运行于系统主服务器上。系统通过多媒体处理模块完成数据的上传与下载同步工作,实现全方位的本地客户端功能。其中:

① 音频播放:可以实现对计算机多媒体硬件(如声卡、麦克风等)作出测试,并且可以进行录音、放音、音频文件的打开和保存。

② 视频播放:可以播放常见格式的视频文件。

③ 格式转换:可以实现对音频文件进行格式转换,尤其是将.wav格式转换为.mp3格式。

④ 音轨压缩:可以实现在对音轨质量有一定损失的情况下,对音频文件进行压缩,节省系统空间。

(2) 电子社区多媒体控制系统服务器端

电子社区多媒体控制系统的服务器端主要包含音视频在内的多媒体的上传下载以及用户之间的即时通讯等功能,从而实现整个系统的服务器端所有的功能,实现整个系统的正常逻辑[14]。详情如下所示:

① 网络浏览器:具有常规浏览器的基本功能,将电子社区论坛设为首页。

② FTP传输:在FTP服务具备和服务器支持的条件下,给出连接,实现FTP传输。

③ 即时通讯:电子社区内部声音即时通讯功能。

多媒体发布系统客户模块功能结构展示如下;

如图3所示,客户端功能主要包含音频播放、视频播放、音视频格式转换、音轨压缩及录音等主要功能,实现电子社区在客户端的所有音视频的播放、格式转换以及音视频的音轨压缩等功能,同时实现音频文件的录音功能,从而实现全方位的本地客户端功能。

如图4所示,服务器端主要包含音视频在内的多媒体的上传下载以及用户之间的即时通讯等功能,从而实现整个系统的服务器端所有的功能,实现整个系统的正常逻辑。

本文设计的多媒体发布系统,整合了先进的通讯技术与计算机信息技术,搭建环境基于单机平台与企业级局域网,属于有一定网络应用功能的多媒体控制系统。在有网络平台和服务器支持的情况下,具有FTP上传下载和即时通讯功能。系统数据库、文件服务器等数据源采用master-slave的三份冗余备份,其中一台master服务器,两台slave服务器,当其中某一数据库或者服务器宕机时,另外两台中的某一台通过选举算法自动接管服务;当出现数据灾难时,可对比三台中的数据情况,以灾备算法计算出其中数据坏掉的那台数据库服务器或者文件服务器,然后通过和正常的服务器上的数据进行对比,快速恢复数据,保证数据的安全性和完整性。

硬件环境配置采用Internet公司I7系列级别处理器,DDR38G内存,6TB以上硬盘空间。服务器端与系统终端为Windows 7 操作系统。通讯协议采用Internet上的标准协议--TCP/IP协议。通讯协议采用Internet上的标准协议TCP/IP协议。系统拟采用的C/S工作模式是建立在TCP/IP通讯协议基础上,包括专用通讯软件的开发也以TCP/IP协议为基础。

通讯安全技术方面,在开发中采用多级权限管理,只有合法用户才能访问指定的资源与功能。通讯软件采用数据压缩与MD5软件加密技术措施。保证数据通讯过程中的数据完整、防篡改与被数据窃取。

三、系统实现

数据库实现:结合系统应用环境,笔者构建出较为稳定及优化的数据库模式,从而来创建数据库应用系统,以满足多元的应用需求,能够快速有效地储存数据。多媒体发布系统的数据库逻辑设计主要围绕着用户、权限、视频、录音及即时对话等实体来进行,经过数据库分析建模,最终设计出15张数据库表。其中系统内各数据之间的实体属性关系图如图5所示。

客户端即时通讯实现:用户可通过手机、平板电脑由WIFI接入局域网客户端,点击客户端图标,运行程序,进行媒体信息的浏览与即时通讯。进入客户端登录界面,用户输入登陆名和密码后,单击登陆进入手机客户端。进入详细信息页面,显示内容:主题、发件人、类型、发送时间、是否发送短信、内容,“回复”、“删除”和“返回”按钮;“删除”时提示“您是否确定删除该信息”,提供“确定”“取消”按钮,确定后保存到废件箱中,取消则关闭弹出窗口。点击“回复”进入回复页面,信息回复页面所示,单击“发送”直接发送信息,“保存”后信息保存到草稿箱,“返回”则退回到收信息页面。

图5 系统数据库实体属性关系图

即时通讯实现代码如下:

public String toAddCourseInfor(HttpServletR equest request,Model model) {

User user=(User)request.getSession(). getAttribute("loginUser");

String couSchCode = user.getSchoolCode();

String recordsCount = subjectBlogic.querySubjectInforCount(couSchCode);

PagingOperation paging = new PagingOperation(curPage, recordsCount, beginPos,"10",pagingFlag); paging.execute();List list = null;

SubjectManagerVo vo = new SubjectManagerVo();

vo.setBeginPos(Integer.parseInt(paging.getBeginPos()));

vo.setRecords(Integer.parseInt(recordsCount));

vo.setSchool(couSchCode); list = subjectBlogic.querySubjectInfor(vo);

if (list.size() == 0) {model.addAttribute("subjectInfor", null);

} else {model.addAttribute("subjectInfor", list);

}}

视频发布播放实现:运行AppWizard创建一个单文档应用程序。 添加成员变量,右键单击AVI Classes下的VAVIView,在弹出菜单中选择Add Member Variable…项。在VariableType中填入HWND,在Variable Name中添入m_hwndMC,单击OK按钮。

初始化刚添加的成员变量,定位到视图类的构造函数CAVIView::CAVIView(),添加代码如下:

作用:用它调用函数产生播放器窗口函数,用来播放视频文件

添加一个新的菜单项,在“打开”和“保存”菜单项之间加入一个新的菜单项“打开AVI文件”,其ID为ID_AVI,Caption为“打开AVI文件”。

添加新菜单项的消息响应函数,利用Class Wizard生成“打开AVI文件”菜单ID_AVI的COMMAND消息的响应函数CAVIView::OnAvi().并定位到该函数,在其中加入以下代码:

dlg(TRUE,”avi”,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,”AVI文件(*.avi)|*.avi||”);作用是创建一个文件列表,选择要打开的.avi文件。

这条函数的作用是判断如果是NULL,说明现在已经存在一个正在播放的视频文件,所以就新建一个;如果是一个文件的路径,说明目前没有正在播放的视频文件,就打开该文件的路径文件。

函M_hwndMCI=MCIWndCreate(m_hWnd,AfxGetInstanceHandle(),0,filename)的作用是打开选择文件名的.avi文件。

编辑StdAfx.h文件,在StdAfx.h文件中的最后一行#endif语句之前加入以下代码:

作用是添加库文件,让程序可以识别代码,否则前边的所有工作都白费了,而且可以调用vfw32.lib实现现成的基本多媒体播放发布功能完毕。

结语、

该方案可应用于大型小区或企事业单位内部多媒体信息发布,由于篇幅所限,笔者仅就系统设计思路和架构进行描述,并精选了系统设计开发的关键思路与技术进行剖析。本文权作抛砖引玉,供广大通讯技术领域同仁共同探讨研究。

(1) 樊昌信.现代通讯技术.人民邮电出版社.2009-10-1

(2)黄荣怀.多媒体系统与网站管理.北京师范大学.2014-10-17

李爱卿 国家新闻出版广电总局四九一台高级工程师,长期从事广播电视传输工作,联系方式:13691097941。

猜你喜欢
即时通讯服务器端音视频
3KB深圳市一禾音视频科技有限公司
WIFI音视频信号传输的关键问题探究
电子制作(2018年12期)2018-08-01 00:48:06
民事诉讼中即时通讯记录的证据采用进路
浅析异步通信层的架构在ASP.NET 程序中的应用
成功(2018年10期)2018-03-26 02:56:14
高速公路整合移动音视频系统应用
即时通讯软件发展模型的实证研究
东方教育(2016年19期)2017-01-16 12:34:53
科学技术哲学视域下的即时通讯
科技传播(2015年14期)2015-12-13 04:20:18
在Windows中安装OpenVPN
即时通讯软件WhatsApp
CHIP新电脑(2015年10期)2015-10-15 18:03:55
Roland专业音视频新技术研讨会在上海召开
声学技术(2014年1期)2014-04-08 20:25:22