日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀] 引言網絡廣告機俗稱digital signage system,是在網絡信息化飛速發(fā)展的時代背景下產生的一種新型網絡多媒體信息發(fā)布系統?;谶@種系統,用戶可以采用多種方式于公共顯示

 引言

網絡廣告機俗稱digital signage system,是在網絡信息化飛速發(fā)展的時代背景下產生的一種新型網絡多媒體信息發(fā)布系統?;谶@種系統,用戶可以采用多種方式于公共顯示終端上發(fā)布公共信息內容。目前,數字化、網絡化、信息化的多媒體網絡廣告機成為傳媒市場的一大亮點,然而單機版的廣告機以及單一的媒體發(fā)布形式已經難以滿足日益增長的市場需求,國內外正在積極投入基于多種媒體形式和多功能交互型網絡廣告機的研究。本文利用Linux嵌入式系統設計的優(yōu)越性能,使用廣大Linux系統支持的開源軟件和工具集,構建了成本低、功能健全和網絡分布靈活的網絡媒體廣告機系統。

1 系統概述

如圖1所示,整個系統大體分為廣告機監(jiān)控終端、服務器控制中心、廣告機顯示終端3個部分。監(jiān)控終端通過Web瀏覽器控制頁面接收管理員輸入的控制命令,經過網絡路由向服務器控制中心提交表單。服務器控制中心根據監(jiān)控終端提交的不同表單類別調用對應的CGI例程來啟動相應的Socket服務進程,建立與開發(fā)板Socket監(jiān)聽服務進程之間的網絡通信,同時傳遞對應的控制命令和信息。廣告機顯示終端解析相應的控制命令和信息,來控制顯示終端設備上的媒體信息播放形式。

1.1 硬件環(huán)境

廣告機監(jiān)控終端和服務器控制中心的設備為普通PC機。廣告機顯示終端采用的是芯勝嵌入式VT8430開發(fā)板。該開發(fā)板的處理器是芯晟科技推出的數字音視頻多標準多媒體處理芯片CSM1200。該芯片采用arm9內核,支持MPEG-2、H.264、AVS的高清和標清解碼/輸出,視頻輸出支持PAL/NTSC/480p/576p/720p/1080i。

同時,CSM1200是一個有著豐富的外圍設備和強大媒體能力的嵌入式平臺SoC,可以靈活地選擇多種LCD或者其他顯示設備,作為廣告機信息發(fā)布節(jié)點的媒體播放設備。

1.2 軟件環(huán)境

監(jiān)控終端和服務器控制中心的采用Linux系統平臺。監(jiān)控終端只需能夠提供正常的Web頁面瀏覽功能便可以借助瀏覽器實現信息的交互。服務器控制中心和顯示終端是多媒體信息發(fā)布的關鍵的部分,需要配置相關的環(huán)境如下:

①構建CGI模塊。CGI用來設計基于Web瀏覽器的B/S(Browser/Serrer)系統架構,可以在無客戶端(client)的情況下,廣泛地使用Web瀏覽器提供的按鈕、輸入框、字體和顏色等界面元素。通過不同平臺瀏覽器監(jiān)控終端遞交的表單就可以控制信息的交互。在官網下載源碼包li-bcgi-1.0.tar.gz后,解壓、編譯和安裝即可。

②創(chuàng)建和配置httpd服務。官網下載httpd-2.2.4.tar.gz,解壓、配置、編譯和安裝后,設置相應CGI程序以及html服務路徑和目錄,以提供Web瀏覽器監(jiān)控端不同的控制頁面目錄和CGI例程集存儲目錄。

③配置數據庫。安裝Sqlite3數據庫來提供對于各種媒體信息的查詢、插入和刪除等控制操作。SQLite是存儲在單一磁盤文件中的一個完整的數據系統,尤其適合于嵌入式系統設計。在Ubuntu10.04服務器系統平臺上,使用aptitude安裝libsqlite3-0、libsqlite3-dev、libs-qlite3和libsqlite3-doc開源軟件包即可。

④定制顯示終端Linux系統。顯示系統采用基于ARM9的CSM1200處理芯片,因此使用arm-9tdmi-linux-gun交叉編譯工具,基于Linux2.6.2 7內核源碼包定制針對顯示開發(fā)板環(huán)境平臺的Linux操作系統,詳見參考文獻。編譯好內核之后進行u-boot的燒寫、根文件系統的制作,并設置相應的啟動方式來加載制作的Linux內核。詳細的步驟見參考文獻。

⑤搭建顯示終端Qt環(huán)境。顯示終端通過Qt圖形界面播放各種媒體信息,首先獲取Qt開源軟件包qtopia-core-opensource-src-4.2.2.tar. gz,解壓后設置arm-9tdmi-linux-gun為編譯器環(huán)境,編譯安裝Qt軟件包后,拷貝所需資源到開發(fā)板文件系統。

上述環(huán)境搭建的大部分內容都可以從相應的官網獲取開源源碼包和詳細的配置安裝信息。

2 系統功能模塊設計

系統功能模塊原理圖如圖2所示。監(jiān)控終端由Qt控制頁面、Mplayer控制頁面和文件更新控制頁面組成。在不同的監(jiān)控控制頁面觸發(fā)相應的控制操作,將通過Web功能訪問服務器控制中心并向服務器遞交不同的表單??刂浦行闹黧w部分由服務器Web httpd站點、CGI控制模塊、數據庫Sqlite3和TCP Socket Client端組成。根據監(jiān)控終端遞交的不同的表單,相應的CGI控制程序將執(zhí)行,CGI程序進行的相應的錄入、刪除和更新Sqlite3數據庫操作,同時調用并開啟對應的Socket Client進程,將對應的控制命令和數據庫信息通過網絡Socket遞交到顯示終端TCP Socket Server監(jiān)聽服務器。顯示終端的TCPSocket Server監(jiān)聽接收TCP Client端傳來的控制命令,通過解析控制命令的類別,將空控制命令和相關的信息寫入到Qt本地或者Mplayer本地套接字服務器,并存儲在本地Linux文件系統中。Mplayer播放器和Qt播放程序讀取文件系統中各自本地套接字的控制信息,調用相應的音視頻驅動程序來控制音視頻文件在Qt界面和Mplayer端的顯示和播放。

3 關鍵算法設計

3.1 數據庫設計

根據廣告機監(jiān)控終端所監(jiān)控媒體種類的不同,使用Sqlite3數據庫維護媒體視頻播放、圖片背景和Qt字幕的信息。數據庫原理見參考文獻。對于廣告機監(jiān)控管理員以及管理者的身份,需要設計管理者的ID、登錄密碼和對應的用戶名信息,以便對廣告機的監(jiān)控和管理。就視頻和圖片媒體而言,都涉及對相應媒體對象的插入、刪除、更新和播放順序等控制操作,因此分別設置ID、文件名、加入時間和排序序號來進行相應的維護和控制管理。對應的數據庫設計原理圖如圖3所示。

[!--empirenews.page--]

3.2 廣告機顯示終端

廣告機顯示終端的Qt圖形界面原理如圖4所示。Qt界面的設計原理見參考文獻。開發(fā)板通電之后,主程序程序開始執(zhí)行,Mplayer媒體播放器讀取存儲在開發(fā)板上的視頻文件進行循環(huán)播放,同時將監(jiān)聽自己的本地套接字。當網絡通信模塊將控制終端傳來的控制命令寫到Mplayer播放程序的本地套接字之后,Mplayer將根據控制命令執(zhí)行相應的響應,如暫停、播放下一首、重頭開始播放等。Qt圖形界面程序開始執(zhí)行時,先讀取本地圖片文件和文本文件,進行循環(huán)播放。同時,Qt圖形界面程序的監(jiān)聽命令線程將監(jiān)聽Qt圖形界面的本地套接字。當接到控制命令時,Qt圖形界面程序將執(zhí)行相應的操作,如關閉、打開、更新滾動字幕等。

本地套接字與本地TCP Socket Server端進行通信,并將相關控制命令最終上傳,而本地TCP Socket Server命令則是來源于控制中心TCP Socket Client端對控制命令的上傳。本地Socket Server套接字的部分控制代碼如下:

3.3 服務器控制中心

服務器控制中心通過傳遞管理員用戶的控制命令,來控制顯示終端圖片、視頻以及文字媒體的更新和播放狀態(tài)的改變。管理者用戶通過點擊Qt或者Mplayer控制頁面的各種控制按鈕和媒體更新文件操作,觸發(fā)監(jiān)控中心的各種CGI例程,因此監(jiān)控終端的各種控制操作便與相應的CGI控制操作例程一一對應。CGI例程通過TCP Socket網絡通信向顯示終端服務器遞交相應的控制命令和相關控制信息,就可以完成對各種媒體信息的操作控制。Linux系統網絡套接字編程見參考文獻。

由圖2可知,顯示終端分為Qt和Mplayer模塊。其中,Qt模塊用來播放媒體圖片和字幕信息,Mplayer負責播放各種視頻文件。對于媒體視頻和圖片文件信息,控制的方式基本上分為兩種:一種是不帶上傳內容的單純媒體運行方式的控制操作(如視頻文件的播放暫停、視頻播放調序等),只需要點擊相關的控制按鈕即可完成;另一種是基于文件上傳的媒體更新的操作。例如視頻文件、圖片庫的更新等操作。因此,將結合上述不同的控制方式給出廣告機字幕滾動、純命令控制和文件上傳的關鍵算法設計。

Qt更新顯示終端滾動字幕的表單部分如下所示:

用戶通過Qt控制頁面添加更新的文字內容,點擊更新字幕按鈕會觸發(fā)改變字幕的CGI例程。qt_change_list.cgi例程將創(chuàng)建從本地到顯示開發(fā)板上的TCP Socket Server端的TCP套接字連接,并將控制命令“更新文字”與文字內容一起上傳到TCP Socket Server端服務器。

廣告機控制命令的控制表單部分設計如下:

對于單純的控制命令,廣告機終端的設計比較簡單,對于每一種控制命令均對應有不同的CGI例程和命令宏定義,每個例程將對應的控制命令通過Socket上傳就可以實現。

上傳文件關鍵表單部分設計:

文件上傳將根據Qt圖片和視頻文件的不同調用相應的上傳例程。這里除了要將圖片或者視頻文件上傳到開發(fā)板顯示終端外,還要向服務器監(jiān)控中心的Sqlite3數據庫中添加相應的資源信息和狀態(tài)信息,根據前面數據庫對不同媒體類別的設計屬性域添加相應的相關信息,以便后續(xù)的插入、排序、刪除和更新操作。其中,使用多線程傳輸模型設計上傳程序my_scp實現對較大視頻和圖片文件的快速傳輸,關于多線程編程見參考文獻。上傳文件的部分代碼如下所示:

3.4 監(jiān)控終端

為了提升安全性能,需要設置用戶密碼功能。管理員通過用戶名和密碼的匹配輸入后,就可以獲得廣告機的控制權限。根據廣告機媒體類型的不同,分別設計了Qt控制頁面、Mplayer控制頁面和文件更新控制頁面。通過控制不同的控制頁面,即可控制廣告機的不同媒體播放操作。

結語

本項目設計使用Linux開源系統和軟件工具集,構建了基于嵌入式多網絡節(jié)點、性能優(yōu)越的廣告機系統,最終獲得了滿意的效果。本系統的設計不但涵蓋了Linux系統開發(fā)的軟件和硬件技術,也涵蓋了嵌入式產品設計的各種綜合素質和多項技能,具有一定的實用價值。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

CPU親和度通過限制進程或線程可以運行的CPU核心集合,使得它們只能在指定的CPU核心上執(zhí)行。這可以減少CPU緩存的失效次數,提高緩存命中率,從而提升系統性能。

關鍵字: Linux 嵌入式

在Linux系統性能優(yōu)化中,內存管理與網絡連接處理是兩大核心領域。vm.swappiness與net.core.somaxconn作為關鍵內核參數,直接影響系統在高負載場景下的穩(wěn)定性與響應速度。本文通過實戰(zhàn)案例解析這兩個...

關鍵字: Linux 內存管理

對于LLM,我使用b谷歌Gemini的免費層,所以唯一的成本是n8n托管。在使用了n8n Cloud的免費積分后,我決定將其托管在Railway上(5美元/月)。然而,由于n8n是開源的,您可以在自己的服務器上托管它,而...

關鍵字: 人工智能 n8n Linux

在Linux系統管理中,權限控制是安全運維的核心。本文通過解析/etc/sudoers文件配置與組策略的深度應用,結合某金融企業(yè)生產環(huán)境案例(成功攔截98.7%的非法提權嘗試),揭示精細化權限管理的關鍵技術點,包括命令別...

關鍵字: Linux 用戶權限 sudoers文件

Linux內核中的信號量(Semaphore)是一種用于資源管理的同步原語,它允許多個進程或線程對共享資源進行訪問控制。信號量的主要作用是限制對共享資源的并發(fā)訪問數量,從而防止系統過載和數據不一致的問題。

關鍵字: Linux 嵌入式

在云計算與容器化技術蓬勃發(fā)展的今天,Linux網絡命名空間(Network Namespace)已成為構建輕量級虛擬網絡的核心組件。某頭部互聯網企業(yè)通過命名空間技術將測試環(huán)境資源消耗降低75%,故障隔離效率提升90%。本...

關鍵字: Linux 云計算

在Linux內核4.18+和主流發(fā)行版(RHEL 8/Ubuntu 20.04+)全面轉向nftables的背景下,某電商平臺通過遷移將防火墻規(guī)則處理效率提升40%,延遲降低65%。本文基于真實生產環(huán)境案例,詳解從ipt...

關鍵字: nftables Linux

在Linux設備驅動開發(fā)中,等待隊列(Wait Queue)是實現進程睡眠與喚醒的核心機制,它允許進程在資源不可用時主動放棄CPU,進入可中斷睡眠狀態(tài),待資源就緒后再被喚醒。本文通過C語言模型解析等待隊列的實現原理,結合...

關鍵字: 驅動開發(fā) C語言 Linux

在Unix/Linux進程間通信中,管道(pipe)因其簡單高效被廣泛使用,但默認的半雙工特性和無同步機制容易導致數據競爭。本文通過父子進程雙向通信案例,深入分析互斥鎖與狀態(tài)機在管道同步中的應用,實現100%可靠的數據傳...

關鍵字: 管道通信 父子進程 Linux

RTOS :RTOS的核心優(yōu)勢在于其實時性。它采用搶占式調度策略,確保高優(yōu)先級任務能夠立即獲得CPU資源,從而在最短時間內完成處理。RTOS的實時性是通過嚴格的時間管理和任務調度算法實現的,能夠滿足對時間敏感性要求極高的...

關鍵字: Linux RTOS
關閉