基于网络平台嵌入式流媒体发布系统的设计与制作

2015-06-19 12:36王代君
教育界·下旬 2015年3期
关键词:流媒体网络平台嵌入式

王代君

【摘 要】本文主要是对目前市场上流媒体信息发布系统广告机的特点和使用进行分析研究,提出对当前使用较多单机版的嵌入式媒体播放器进行改进,基于网络平台,采用分布式区域管理技术来设计制作网络多媒体广告机,将音频、视频、图片、文本、数据库等多媒体结合成一段节目,并通过网络将制作好的节目,按流媒体的传输方式实时推送到媒体显示终端,提高使用效率。

【关键词】嵌入式 流媒体 信息发布 广告机 网络平台

一、前言

广告机是近年来兴起的一种传媒方式,可以在消费者面前充分有效地展示产品,伴随着美妙的音乐声、清晰的讲解词和动画视频等多方位传达公司产品及公司相关信息,将枯燥的内容精彩呈现,广告机正快速吸引着大众的眼球。身边的银行、写字楼、地铁等都出现了类似于电视的信息电子产品,它是通过网络多媒体技术播出与商业、经济、娱乐等信息相关的平板设备。

目前市面上多数场合使用的是单机版嵌入式媒体播放器, 其特点是没有使用网络技术,只是简单地实现单机播放功能。它可以通过更新 CF 卡的内容来改变所播放的视频﹑图片﹑字幕等内容。其缺点是需要人工地对每一台播放器更换 CF 卡内容,效率低下且浪费时间。CF 卡插入后就无法变更内容,因此不能即时播放一些重要信息,无法临时插播内容,从而难以适应快速发展的业务节奏。

综合考虑设备成本、产品功能、技术可行性等诸多因素,本文提出了基于网络平台开发的多媒体信息发布系统的设计方案。

二、广告机的功能模块组成

整个广告机包括硬件部分和软件部分。硬件部分是网络多媒体广告机开发中所需的硬件平台,由三星 SCS6410 开发板和一台显示终端构成的软件部分包括:

1.监控系统:此模块能够控制广告显示终端系统,并能观察广告显示终端的信息运行情况,用 CGI 程序有效地完成对网络多媒体广告机数据库的增、删、改、查等操作。监控端还可以根据不同身份权限的用户生成相应的用户界面,并进行相关的操作。

监控系统需要一台能联网的PC 机,通过 Web 浏览器与服务器和广告显示终端系统进行通信,再采用 CGI 编程实现交互,完成广告显示终端模块播放控制以及服务器端文件的增、删、改、查等管理操作。

2.广告显示端系统:将整个广告显示端的播放界面划分成五个区域:视频区、图片区、logo图片及时钟显示区和字幕信息移动显示区。

广告显示终端系统主要采用 QT 技术编程实现图文声并茂的界面,由Mplayer 播放器实现广告显示端视频信息、logo图片及时钟、广告图片和字幕信息移动的实时显示。

3.服务器端系统:主要存放显示端的视频文件、图片文件、文本文件等,此模块能实现数据库信息管理的增加、查询、修改与删除等功能。

服务器端子系统主要选用 sqlite3 数据库,采用 SQL 语言创建数据库和一些数据表,实现视频、logo图片、广告图片与文本文件等信息的存储和管理。

三、广告机系统设计与实现

1. 监控端模块设计

监控端模块主要通过 B/S 结构实现,在一台安装有 IE 浏览器或谷歌浏览器的PC 机上,管理员由浏览器登录并进行系列操作。在服务器端调用 CGI库函数实现相关操作,即在监控端出现相关操作信息,并与管理员实时交互信息。

Libcgi 库的配置

(1)执行 tar -xzvf libcgi-1.0.tar.gz 得到一个名为 libcgi-1.0 的文件夹。

(2)进到 libcgi-1.0 文件夹下,执行./configure操作,再执行make。在文件夹src 子目录下就会产生一个 libcgi的共享库 libcgi.so。

(3)将 libcgi.so 拷贝到web 服务器上的/usr/lib 目录下,配置完成。

打开浏览器,进入登录界面,如http://127.0.0.1:8080/login.html

登录后,在广告机设置里添加相应的广告端IP(已经有用于演示的本机IP 127.0.0.1等4个IP地址了)。默认用户名为admin,密码:admin,成功登录后可进行相关操作。监控端通过系列操作,实现对广告显示端的各种信息等的查询并一目了然。

2. 广告端模块设计

首先广告端的界面由 QT 技术编程实现,将整个广告显示端划分为五个广告信息显示区域,同时,并采用3个文件夹存储多媒体信息,video 文件夹中存储avi 格式的影音文件。在picture 文件夹中存储告图片与logo 图片等图片文件,广告图片需要用于背景,背景图片大约需要120 秒更换一次,logo 图片需要实时更新。字幕文字是存储在 news 文件夹中。QT 利用QTextStream建立对象绑定 QTcpSocket建立对象向服务器发送当前信息。

先启动汇编语言编写的代码实现硬件初始化,并进入应用程序,再调用 mainForm.cpp 实现 QT 见面的初始化。在实现过程中,先调用 Mplayer 播放器,由“get_movi()”函数读出数据库中的视频文件,再完成图片、logo 图片、移动文字等的读出。

由于图片、时钟、LOGO 图片等显示功能实现相同,以图片为例:

myPicture::myPicture(QWidget *parent):QLabel(parent){

/*全局变量赋值*/

k = 0;

listlen = 0;

valchanged = 0;

/*调用图片显示函数*/

pic_list();

label_pic_dis = new QLabel(parent);

label_pic_dis->setGeometry(569, 139, 240, 261);

/* show_picture()实现图片初始化*/

show_picture();

......

/* SIGNAL()发送信号,SLOT()完成图片更换*/

......

最后,整个广告播放信息通过显示器播放,直到广告端关闭。

3.服务器端模块设计

在众多的数据库中,根据实际选用SQ作为服务器端的数据库:它是一款轻量级的数据库,以嵌入式应用为设计目标。

通过对整个多媒体广告机各功能和数据的分析,数据库共设计了 5 个数据结构:用户信息、广告显示端信息、视频信息、图片信息、文字信息。

根据以上所设计的数据结构,将其转换为与之对应的逻辑结构表、用户表、广告端状态表、视频表、图片表、滚动字幕表,再通过使用 SQL 语言设计得到数据库和数据表。至此,整个网络多媒体广告机的设计就完成了。

四、结束语

网络多媒体广告机是在 ARM+Linux 开发环境下进行开发的,整个平台能正常工作,同时也出现了一些问题,有待今后从如下方面改进:

1.广告显示端的工作频率较低,以致传输媒体信息差。

2.网络对于数据量大的信息传输还存在一些困难,常在传输过程中出现数据信息故障。

【参考文献】

[1]张倪.嵌入式软件基础[M].北京:电子工业出版社,2010.

[2]孟庆红,侯宝稳.ARM 嵌入式系统开发与编程[M].北京:清华大学出版社,2011.

[3]何宗健,万金友.嵌入式系统开发导论[M].北京:清华大学出版社,2009.

[4]Gill.Embedded OS with Processing Power[C].Electronic Design,1996.

[5]David Seal.ARM Architecture Reference Manual(2ndEdition)[M].Addison-Wesley Professional,2001.

猜你喜欢
流媒体网络平台嵌入式
一种基于5G网络平台下的车险理赔
网络平台补短板 办学质量稳提升
搭建基于Qt的嵌入式开发平台
网络平台打开代表履职新视窗
嵌入式软PLC在电镀生产流程控制系统中的应用
流媒体传输加密技术研究
基于JSP的流媒体播放的设计与实现
网络远程教学系统的设计
基于RTMFP协议的视频监控系统设计与实现
依托网络平台,构建学习评价新模式