
导言
是在网络信息化飞速发展的时代布景下发生的一种新式网络多媒体信息发布体系。依据这种体系,用户能够选用多种方法于公共显现终端上发布公共 信息内容。当前,数字化、网络化、信息化的多媒体网络广告机变成传媒商场的一大亮点,但是单机版的广告机以及单一的媒体发布方法现已难以满意日益增长的市 场需求,国内外正在活跃投入依据多种媒体方法和多功用交互型网络广告机的研讨。这篇文章运用Linux嵌入式体系规划的优胜功用,运用广阔Linux体系撑持的开源软件和东西集,构建了成本低、功用健全和网络散布灵敏的网络媒体广告机体系。
整个体系大体分 为广告机监控终端、效劳器操控中间、广告机显现终端3个有些。监控终端经过Web阅读器操控页面接纳办理员输入的操控指令,经过网络路由向效劳器操控中间 提交表单。效劳器操控中间依据监控终端提交的不一样表单品种调用对应的CGI例程来发动相应的Socket效劳进程,树立与开发板Socket监听效劳进程 之间的网络通讯,一同传递对应的操控指令和信息。广告机显现终端解析相应的操控指令和信息,来操控显现终端设备上的媒体信息播映方法。
软件环境
监控终端和效劳器操控中间的选用Linux体系渠道。监控终端只需能够供给正常的Web页面阅读功用便能够凭借阅读器完结信息的交互。效劳器操控中间和显现终端是多媒体信息发布的要害的有些,需求装备有关的环境如下:
1、构建CGI模块。CGI用来规划依据Web阅读器的B/S(Browser/Serrer)体系架构,能够在无客户端(client)的情况下,广泛地使 用Web阅读器供给的按钮、输入框、字体和色彩等界面元素。经过不一样渠道阅读器监控终端递送的表单就能够操控信息的交互。在官网下载源码包li- bcgi-1.0.tar.gz后,解压、编译和装置即可。
2、创立和装备httpd效劳。官网下载httpd-2.2.4.tar.gz,解压、装备、编译和装置后,设置相应CGI程序以及html效劳途径和目录,以供给Web阅读器监控端不一样的操控页面目录和CGI例程集存储目录。
3、 装备数据库。装置Sqlite3数据库来供给关于各种媒体信息的查询、刺进和删去等操控操作。SQLite是存储在单一磁盘文件中的一个完好的数据体系, 特别适合于嵌入式体系规划。在Ubuntu10.04效劳器体系渠道上,运用aptitude装置libsqlite3-0、libsqlite3- dev、libs-qlite3和libsqlite3-doc开源软件包即可。
4、定制显现终端Linux体系。显现体系选用依据 ARM9的CSM1200处置芯片,因而运用arm-9tdmi-linux-gun穿插编译东西,依据Linux2.6.2 7内核源码包定制关于显现开发板环境渠道的Linux操作体系,详见参阅文献。编译好内核之后进行u-boot的烧写、根文件体系的制造,并设置相应的启 动方法来加载制造的Linux内核。具体的过程见参阅文献。
5、建立显现终端Qt环境。显现终端经过Qt图形界面播映各种媒体信息,首要获 取Qt开源软件包qtopia-core-opensource-src-4.2.2.tar. gz,解压后设置arm-9tdmi-linux-gun为编译器环境,编译装置Qt软件包后,复制所需资源到开发板文件体系。
1.2 硬件环境
广告机监控终端和效劳器操控中间的设备为一般PC机。广告机显现终端选用的是芯胜嵌入式VT8430开发板。该开发板的 处置器是芯晟科技推出的数字音视频多规范多媒体处置芯片CSM1200。该芯片选用ARM9内核,撑持MPEG-2、H.264、AVS的高清和标清解码 /输出,视频输出撑持PAL/NTSC/480p/576p/720p/1080i。
CSM1200是一个有着丰厚的外围设备和强壮媒体才能的嵌入式渠道SoC,能够灵敏地挑选多种LCD或许其他显现设备,作为广告机信息发布节点的媒体播映设备。
3 重要算法规划
3.1 数据库规划
依据广告机监控终端所监控媒体品种的不一样,运用 Sqlite3数据库保护媒体视频播映、图像布景和Qt字幕的信息。数据库原理见参阅文献。关于广告机监控办理员以及办理者的身份,需求规划办理者的 ID、登录暗码和对应的用户名信息,以便对广告机的监控和办理。就视频和图像媒体而言,都触及对相应媒体目标的刺进、删去、更新和播映次序等操控操作,因 此别离设置ID、文件名、参加时刻和排序序号来进行相应的保护和操控办理。
3.2 广告机显现终端
广告机显现终端的Qt界面的规划原理见参阅文献。开发板通电之后,主程序程序开端执 行,Mplayer媒体播映器读取存储在开发板上的视频文件进行循环播映,一同将监听自个的本地套接字。当网络通讯模块将操控终端传来的操控指令写到 Mplayer播映程序的本地套接字之后,Mplayer将依据操控指令履行相应的呼应,如暂停、播映下一首、重头开端播映等。Qt图形界面程序开端履行 时,先读取本地图像文件和文这篇文章件,进行循环播映。一同,Qt图形界面程序的监听指令线程将监听Qt图形界面的本地套接字。当接到操控指令时,Qt图形界 面程序将履行相应的操作,如封闭、翻开、更新翻滚字幕等。本地套接字与本地TCP Socket Server端进行通讯,并将有关操控指令结尾上载,而本地TCP Socket Server指令则是来源于操控中间TCP Socket Client端对操控指令的上载。
3.3 效劳器操控中间
服务器操控中间经过传递办理员用户的操控指令,来操控显现终端图像、视频以及文字媒体的更新和播映状况的改动。办理者用户经过点击Qt或许Mplayer控 制页面的各种操控按钮和媒体更新文件操作,触发监控中间的各种CGI例程,因而监控终端的各种操控操作便与相应的CGI操控操作例程一一对应。CGI例程 经过TCP Socket网络通讯向显现终端效劳器递送相应的操控指令和有关操控信息,就能够完结对各种媒体信息的操作操控。Linux体系网络套接字编程见参阅文 献。显现终端分为Qt和Mplayer模块。其间,Qt模块用来播映媒体图像和字幕信息,Mplayer担任播映各种视频文 件。关于媒体视频和图像文件信息,操控的方法基本上分为两种:一种是不带上载内容的单纯媒体运转方法的操控操作(如视频文件的播映暂停、视频播映调序 等),只需求点击有关的操控按钮即可完结;另一种是依据文件上载的媒体更新的操作。例如视频文件、图像库的更新等操作。因而,将联系上述不一样的操控方法给 出广告机字幕翻滚、纯指令操控和文件上载的要害算法规划。用户经过Qt操控页面增加更新的文字内容,点击更新字幕按钮会触发改动字幕的CGI例程。qt_change_list.cgi例程将创立从本地到显现开发 板上的TCP Socket Server端的TCP套接字衔接,并将操控指令“更新文字”与文字内容一同上载到TCP Socket Server端效劳器。关于单纯的操控指令,广告机终端的规划比较简单,关于每一种操控指令均对应有不一样的CGI例程和指令宏界说,每个例程将对应的操控指令经过Socket上载就能够完结。文件上载将依据Qt图像和视频文件的不一样调用相应的上载例程。这儿除了要将图像或许视频文件上载到开发板显现终端外,还要向效劳器监控中间的Sqlite3 数据库中增加相应的资源信息和状况信息,依据前面数据库对不一样媒体品种的规划特点域增加相应的有关信息,以便后续的刺进、排序、删去和更新操作。其间,使 用多线程传输模型规划上载程序my_scp完结对较大视频和图像文件的疾速传输,关于多线程编程见参阅文献。
3.4 监控终端
为了晋升安全功用,需求设置用户暗码功用。办理员经过用户名和暗码的匹配输入后,就能够取得广告机的操控权限。依据广告机媒体类型的不一样,别离规划了Qt操控页面、Mplayer操控页面和文件更新操控页面。经过操控不一样的操控页面,即可操控广告机的不一样媒体播映操作。