王代君
【摘 要】本文主要是對(duì)目前市場(chǎng)上流媒體信息發(fā)布系統(tǒng)廣告機(jī)的特點(diǎn)和使用進(jìn)行分析研究,提出對(duì)當(dāng)前使用較多單機(jī)版的嵌入式媒體播放器進(jìn)行改進(jìn),基于網(wǎng)絡(luò)平臺(tái),采用分布式區(qū)域管理技術(shù)來(lái)設(shè)計(jì)制作網(wǎng)絡(luò)多媒體廣告機(jī),將音頻、視頻、圖片、文本、數(shù)據(jù)庫(kù)等多媒體結(jié)合成一段節(jié)目,并通過(guò)網(wǎng)絡(luò)將制作好的節(jié)目,按流媒體的傳輸方式實(shí)時(shí)推送到媒體顯示終端,提高使用效率。
【關(guān)鍵詞】嵌入式 流媒體 信息發(fā)布 廣告機(jī) 網(wǎng)絡(luò)平臺(tái)
一、前言
廣告機(jī)是近年來(lái)興起的一種傳媒方式,可以在消費(fèi)者面前充分有效地展示產(chǎn)品,伴隨著美妙的音樂(lè)聲、清晰的講解詞和動(dòng)畫(huà)視頻等多方位傳達(dá)公司產(chǎn)品及公司相關(guān)信息,將枯燥的內(nèi)容精彩呈現(xiàn),廣告機(jī)正快速吸引著大眾的眼球。身邊的銀行、寫(xiě)字樓、地鐵等都出現(xiàn)了類似于電視的信息電子產(chǎn)品,它是通過(guò)網(wǎng)絡(luò)多媒體技術(shù)播出與商業(yè)、經(jīng)濟(jì)、娛樂(lè)等信息相關(guān)的平板設(shè)備。
目前市面上多數(shù)場(chǎng)合使用的是單機(jī)版嵌入式媒體播放器, 其特點(diǎn)是沒(méi)有使用網(wǎng)絡(luò)技術(shù),只是簡(jiǎn)單地實(shí)現(xiàn)單機(jī)播放功能。它可以通過(guò)更新 CF 卡的內(nèi)容來(lái)改變所播放的視頻﹑圖片﹑字幕等內(nèi)容。其缺點(diǎn)是需要人工地對(duì)每一臺(tái)播放器更換 CF 卡內(nèi)容,效率低下且浪費(fèi)時(shí)間。CF 卡插入后就無(wú)法變更內(nèi)容,因此不能即時(shí)播放一些重要信息,無(wú)法臨時(shí)插播內(nèi)容,從而難以適應(yīng)快速發(fā)展的業(yè)務(wù)節(jié)奏。
綜合考慮設(shè)備成本、產(chǎn)品功能、技術(shù)可行性等諸多因素,本文提出了基于網(wǎng)絡(luò)平臺(tái)開(kāi)發(fā)的多媒體信息發(fā)布系統(tǒng)的設(shè)計(jì)方案。
二、廣告機(jī)的功能模塊組成
整個(gè)廣告機(jī)包括硬件部分和軟件部分。硬件部分是網(wǎng)絡(luò)多媒體廣告機(jī)開(kāi)發(fā)中所需的硬件平臺(tái),由三星 SCS6410 開(kāi)發(fā)板和一臺(tái)顯示終端構(gòu)成的軟件部分包括:
1.監(jiān)控系統(tǒng):此模塊能夠控制廣告顯示終端系統(tǒng),并能觀察廣告顯示終端的信息運(yùn)行情況,用 CGI 程序有效地完成對(duì)網(wǎng)絡(luò)多媒體廣告機(jī)數(shù)據(jù)庫(kù)的增、刪、改、查等操作。監(jiān)控端還可以根據(jù)不同身份權(quán)限的用戶生成相應(yīng)的用戶界面,并進(jìn)行相關(guān)的操作。
監(jiān)控系統(tǒng)需要一臺(tái)能聯(lián)網(wǎng)的PC 機(jī),通過(guò) Web 瀏覽器與服務(wù)器和廣告顯示終端系統(tǒng)進(jìn)行通信,再采用 CGI 編程實(shí)現(xiàn)交互,完成廣告顯示終端模塊播放控制以及服務(wù)器端文件的增、刪、改、查等管理操作。
2.廣告顯示端系統(tǒng):將整個(gè)廣告顯示端的播放界面劃分成五個(gè)區(qū)域:視頻區(qū)、圖片區(qū)、logo圖片及時(shí)鐘顯示區(qū)和字幕信息移動(dòng)顯示區(qū)。
廣告顯示終端系統(tǒng)主要采用 QT 技術(shù)編程實(shí)現(xiàn)圖文聲并茂的界面,由Mplayer 播放器實(shí)現(xiàn)廣告顯示端視頻信息、logo圖片及時(shí)鐘、廣告圖片和字幕信息移動(dòng)的實(shí)時(shí)顯示。
3.服務(wù)器端系統(tǒng):主要存放顯示端的視頻文件、圖片文件、文本文件等,此模塊能實(shí)現(xiàn)數(shù)據(jù)庫(kù)信息管理的增加、查詢、修改與刪除等功能。
服務(wù)器端子系統(tǒng)主要選用 sqlite3 數(shù)據(jù)庫(kù),采用 SQL 語(yǔ)言創(chuàng)建數(shù)據(jù)庫(kù)和一些數(shù)據(jù)表,實(shí)現(xiàn)視頻、logo圖片、廣告圖片與文本文件等信息的存儲(chǔ)和管理。
三、廣告機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
1. 監(jiān)控端模塊設(shè)計(jì)
監(jiān)控端模塊主要通過(guò) B/S 結(jié)構(gòu)實(shí)現(xiàn),在一臺(tái)安裝有 IE 瀏覽器或谷歌瀏覽器的PC 機(jī)上,管理員由瀏覽器登錄并進(jìn)行系列操作。在服務(wù)器端調(diào)用 CGI庫(kù)函數(shù)實(shí)現(xiàn)相關(guān)操作,即在監(jiān)控端出現(xiàn)相關(guān)操作信息,并與管理員實(shí)時(shí)交互信息。
Libcgi 庫(kù)的配置
(1)執(zhí)行 tar -xzvf libcgi-1.0.tar.gz 得到一個(gè)名為 libcgi-1.0 的文件夾。
(2)進(jìn)到 libcgi-1.0 文件夾下,執(zhí)行./configure操作,再執(zhí)行make。在文件夾src 子目錄下就會(huì)產(chǎn)生一個(gè) libcgi的共享庫(kù) libcgi.so。
(3)將 libcgi.so 拷貝到web 服務(wù)器上的/usr/lib 目錄下,配置完成。
打開(kāi)瀏覽器,進(jìn)入登錄界面,如http://127.0.0.1:8080/login.html
登錄后,在廣告機(jī)設(shè)置里添加相應(yīng)的廣告端IP(已經(jīng)有用于演示的本機(jī)IP 127.0.0.1等4個(gè)IP地址了)。默認(rèn)用戶名為admin,密碼:admin,成功登錄后可進(jìn)行相關(guān)操作。監(jiān)控端通過(guò)系列操作,實(shí)現(xiàn)對(duì)廣告顯示端的各種信息等的查詢并一目了然。
2. 廣告端模塊設(shè)計(jì)
首先廣告端的界面由 QT 技術(shù)編程實(shí)現(xiàn),將整個(gè)廣告顯示端劃分為五個(gè)廣告信息顯示區(qū)域,同時(shí),并采用3個(gè)文件夾存儲(chǔ)多媒體信息,video 文件夾中存儲(chǔ)avi 格式的影音文件。在picture 文件夾中存儲(chǔ)告圖片與logo 圖片等圖片文件,廣告圖片需要用于背景,背景圖片大約需要120 秒更換一次,logo 圖片需要實(shí)時(shí)更新。字幕文字是存儲(chǔ)在 news 文件夾中。QT 利用QTextStream建立對(duì)象綁定 QTcpSocket建立對(duì)象向服務(wù)器發(fā)送當(dāng)前信息。
先啟動(dòng)匯編語(yǔ)言編寫(xiě)的代碼實(shí)現(xiàn)硬件初始化,并進(jìn)入應(yīng)用程序,再調(diào)用 mainForm.cpp 實(shí)現(xiàn) QT 見(jiàn)面的初始化。在實(shí)現(xiàn)過(guò)程中,先調(diào)用 Mplayer 播放器,由“get_movi()”函數(shù)讀出數(shù)據(jù)庫(kù)中的視頻文件,再完成圖片、logo 圖片、移動(dòng)文字等的讀出。
由于圖片、時(shí)鐘、LOGO 圖片等顯示功能實(shí)現(xiàn)相同,以圖片為例:
myPicture::myPicture(QWidget *parent):QLabel(parent){
/*全局變量賦值*/
k = 0;
listlen = 0;
valchanged = 0;
/*調(diào)用圖片顯示函數(shù)*/
pic_list();
label_pic_dis = new QLabel(parent);
label_pic_dis->setGeometry(569, 139, 240, 261);
/* show_picture()實(shí)現(xiàn)圖片初始化*/
show_picture();
......
/* SIGNAL()發(fā)送信號(hào),SLOT()完成圖片更換*/
......
最后,整個(gè)廣告播放信息通過(guò)顯示器播放,直到廣告端關(guān)閉。
3.服務(wù)器端模塊設(shè)計(jì)
在眾多的數(shù)據(jù)庫(kù)中,根據(jù)實(shí)際選用SQ作為服務(wù)器端的數(shù)據(jù)庫(kù):它是一款輕量級(jí)的數(shù)據(jù)庫(kù),以嵌入式應(yīng)用為設(shè)計(jì)目標(biāo)。
通過(guò)對(duì)整個(gè)多媒體廣告機(jī)各功能和數(shù)據(jù)的分析,數(shù)據(jù)庫(kù)共設(shè)計(jì)了 5 個(gè)數(shù)據(jù)結(jié)構(gòu):用戶信息、廣告顯示端信息、視頻信息、圖片信息、文字信息。
根據(jù)以上所設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu),將其轉(zhuǎn)換為與之對(duì)應(yīng)的邏輯結(jié)構(gòu)表、用戶表、廣告端狀態(tài)表、視頻表、圖片表、滾動(dòng)字幕表,再通過(guò)使用 SQL 語(yǔ)言設(shè)計(jì)得到數(shù)據(jù)庫(kù)和數(shù)據(jù)表。至此,整個(gè)網(wǎng)絡(luò)多媒體廣告機(jī)的設(shè)計(jì)就完成了。
四、結(jié)束語(yǔ)
網(wǎng)絡(luò)多媒體廣告機(jī)是在 ARM+Linux 開(kāi)發(fā)環(huán)境下進(jìn)行開(kāi)發(fā)的,整個(gè)平臺(tái)能正常工作,同時(shí)也出現(xiàn)了一些問(wèn)題,有待今后從如下方面改進(jìn):
1.廣告顯示端的工作頻率較低,以致傳輸媒體信息差。
2.網(wǎng)絡(luò)對(duì)于數(shù)據(jù)量大的信息傳輸還存在一些困難,常在傳輸過(guò)程中出現(xiàn)數(shù)據(jù)信息故障。
【參考文獻(xiàn)】
[1]張倪.嵌入式軟件基礎(chǔ)[M].北京:電子工業(yè)出版社,2010.
[2]孟慶紅,侯寶穩(wěn).ARM 嵌入式系統(tǒng)開(kāi)發(fā)與編程[M].北京:清華大學(xué)出版社,2011.
[3]何宗健,萬(wàn)金友.嵌入式系統(tǒng)開(kāi)發(fā)導(dǎo)論[M].北京:清華大學(xué)出版社,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.