亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于S3C2410的VoD系統(tǒng)構(gòu)建*

        2010-06-25 09:39:00梁少芳陳圣國(guó)
        電視技術(shù) 2010年1期
        關(guān)鍵詞:開(kāi)發(fā)板內(nèi)核嵌入式

        梁少芳,劉 治,周 英,陳圣國(guó)

        (廣東工業(yè)大學(xué),廣東 廣州 510006)

        1 引言

        交互式多媒體視頻點(diǎn)播 (Video on Demand,VoD),利用了網(wǎng)絡(luò)和視頻技術(shù)的優(yōu)勢(shì),徹底改變了過(guò)去收看節(jié)目的被動(dòng)方式,實(shí)現(xiàn)了節(jié)目的按需收看[1]和任意播放,集動(dòng)態(tài)影視圖像、靜態(tài)圖片、聲音、文字等信息為一體,為用戶提供實(shí)時(shí)、交互、按需點(diǎn)播服務(wù)的系統(tǒng)。

        隨著嵌入式技術(shù)的日益成熟和普及,嵌入式硬件成本的降低,諸如有線電視機(jī)頂盒、IPTV機(jī)頂盒、交互式機(jī)頂盒等從采用單片機(jī)加特定專用的實(shí)時(shí)操作系統(tǒng)這種緊湊型解決方案,逐步轉(zhuǎn)為采用嵌入式芯片、專業(yè)編解碼芯片和通用的嵌入式Linux操作系統(tǒng)[2]這種便于升級(jí)和擴(kuò)展的松散型解決方案。嵌入式的飛速發(fā)展為VoD提供了更完善的開(kāi)發(fā)平臺(tái),基于此點(diǎn)本設(shè)計(jì)采用基于S3C2410的開(kāi)發(fā)板上實(shí)現(xiàn)VoD系統(tǒng)的構(gòu)建。

        2 系統(tǒng)框圖

        VoD系統(tǒng)的整體架構(gòu)由4個(gè)部分組成,包括HTTP服務(wù)器、目錄服務(wù)器、VoD客戶端、mplayer播放器。系統(tǒng)框圖如圖1所示。

        1)HTTP服務(wù)器:主要提供片源服務(wù),流媒體服務(wù),筆者選擇Windows IIS HTTP服務(wù)器軟件。

        圖1 VoD系統(tǒng)框圖

        2)目錄服務(wù)器:主要提供服務(wù)器上各個(gè)影片信息,主要包括片名、演員表、內(nèi)容簡(jiǎn)介、影片大小以及完成片名和影片實(shí)際地址的轉(zhuǎn)換。應(yīng)與HTTP服務(wù)器為同一臺(tái)機(jī)器。

        3)VoD客戶端:主要采用qte圖形界面,用來(lái)顯示服務(wù)器上的影片列表和信息,取得各影片的實(shí)際地址。調(diào)用播放器播放影片。

        4)Mplayer播放器:由VoD客戶端調(diào)用,播放影片。

        3 VoD系統(tǒng)軟件實(shí)現(xiàn)

        3.1 HTTP服務(wù)器和目錄服務(wù)器的安裝

        3.1.1 HTTP服務(wù)器的安裝和配置

        HTTP服務(wù)器采用Windows XP的IIS服務(wù)器來(lái)實(shí)現(xiàn)。單擊右鍵“我的電腦->管理->internet信息服務(wù)->右鍵默認(rèn)網(wǎng)站->屬性”對(duì)IIS服務(wù)器進(jìn)行配置。主要配置網(wǎng)站IP地址、端口和主目錄選項(xiàng)卡。

        3.1.2 目錄服務(wù)器

        編寫(xiě)一個(gè)目錄服務(wù)器server,通過(guò)在命令行中執(zhí)行c∶>server.exe <片源目錄>,把編譯結(jié)果中的 server.exe 放在配置好IIS的Windows上。

        3.2 開(kāi)發(fā)板端軟件構(gòu)成

        開(kāi)發(fā)板端軟件的構(gòu)成主要包括:交叉工具鏈的安裝,bootloader的構(gòu)建和移植,內(nèi)核的構(gòu)建和移植,根文件系統(tǒng)的構(gòu)建和移植,qt/embedded開(kāi)發(fā)環(huán)境的建立,VoD界面的開(kāi)發(fā)和移植等。

        3.2.1 BootLoader移植

        本系統(tǒng)需要移植BootLoader到開(kāi)發(fā)板上[3]。U-boot是德國(guó)DENX小組的開(kāi)發(fā)用于多種嵌入式CPU的Boot-Loader程序,U-boot不僅支持嵌入式Linux系統(tǒng)的引導(dǎo),當(dāng) 前 , 它 還 支 持 NetBSD,VxWorks,QNX,RTEMS,ARTOS,LynxOS嵌入式操作系統(tǒng)。U-boot除了支持PowerPC系列的處理器外,還能支持 MIPS,X86,ARM,NIOS,XScale等諸多常用系列的處理器[4]。

        U-boot對(duì)S3C2410已經(jīng)有了很好的支持,筆者在移植過(guò)程中主要是完善U-boot對(duì)NAND Flash的讀寫(xiě)功能。本系統(tǒng)采用U-boot-1.1.4版本,圖2為U-boot移植成功之后的界面。

        圖2 U-boot啟動(dòng)界面

        3.2.2 Linux內(nèi)核移植

        對(duì)于嵌入式Linux系統(tǒng)來(lái)說(shuō),有各種體系結(jié)構(gòu)的處理器和硬件平臺(tái),用戶根據(jù)自己的需要定制的硬件平臺(tái),只要硬件平臺(tái)有一點(diǎn)變化,就需要做一些移植工作,Linux內(nèi)核移植是嵌入式Linux系統(tǒng)中最常見(jiàn)的一項(xiàng)工作[5]。由于Linux內(nèi)核具備可移植性的特點(diǎn),并且已經(jīng)支持了很多種目標(biāo)板,這樣,用戶很容易從中找到跟自己硬件平臺(tái)類似的目標(biāo)板,參考內(nèi)核已經(jīng)支持的目標(biāo)板來(lái)進(jìn)行移植工作。Linux-2.6內(nèi)核已經(jīng)支持S3C2410A處理器的多種硬件板,可以參考SMDK2410參考板來(lái)移植開(kāi)發(fā)板的內(nèi)核。本系統(tǒng)采用Linux-2.6.14.1版本來(lái)進(jìn)行開(kāi)發(fā)。

        3.2.3 根文件系統(tǒng)的構(gòu)建和移植

        Busybox包含了許多各種版本的通用的Unix實(shí)用工具。 例如 cp,ls,mv,mount,ps,export,tftp,dd,kill等。 但其大小只有5 Mbyte左右,為制作嵌入式的根文件系統(tǒng)帶來(lái)了方便。

        Busybox的移植主要移植步驟包括:

        1)建立工作目錄,下載Busybox到該目錄。

        2)建立根目錄,根目錄就是要移植到目標(biāo)板上的目錄,對(duì)于嵌入式的文件系統(tǒng),根目錄下必要的目錄包括bin,dev,etc,usr,lib,sbin。

        3)交叉編譯Busybox:本設(shè)計(jì)采用Busybox-1.5.0版本的源碼進(jìn)行開(kāi)發(fā)。通過(guò)make defconfig對(duì)Busybox進(jìn)行默認(rèn)配置,再通過(guò)make menuconfig對(duì)Busybox進(jìn)行系統(tǒng)配置。

        4)copy C庫(kù):交叉應(yīng)用程序的開(kāi)發(fā)需要用到交叉編譯的鏈接庫(kù),在移植應(yīng)用程序到目標(biāo)板的時(shí)候,需要把交叉編譯的鏈接庫(kù)也一起移植到目標(biāo)板上。拷貝交叉工具鏈的lib目錄所有的庫(kù)文件到根文件系統(tǒng)的/lib目錄下。

        5)建立配置文件:添加一個(gè)c shell初始化時(shí)讀取的文件。

        將內(nèi)核和根文件系統(tǒng)移植到開(kāi)發(fā)板后的啟動(dòng)界面如圖3所示。

        圖3 Linux啟動(dòng)界面

        3.2.4 VoD界面的開(kāi)發(fā)和移植

        VoD客戶端程序主要實(shí)現(xiàn)從服務(wù)器端取得影片名稱和影片地址并實(shí)現(xiàn)點(diǎn)擊播放按鈕調(diào)用Mplayer播放。

        VoD客戶端程序主要用Qsocketdevice從服務(wù)器端取得影片名稱和影片地址,關(guān)鍵代碼如下:

        int numbytes;

        char item[100];

        char*p;

        char*q;

        p=q=buf;

        MUReceiveSocket=new QSocketDevice(QSocketDevice∶Stream);

        their_addr.setAddress(lineEdit1->text());

        MUReceiveSocket->connect(their_addr,atoi(PORT));

        if((numbytes=MUReceiveSocket->readBlock(buf,MAXDATASIZE))!=-1){

        buf[numbytes]='

        亚洲国产一区中文字幕| 国产麻豆md传媒视频| 国产午夜亚洲精品午夜鲁丝片 | 97精品伊人久久大香线蕉app| 国产丝袜免费精品一区二区| 视频在线播放观看免费| 久久这里都是精品99| 人与人性恔配视频免费| 亚洲av无码一区二区乱孑伦as | 丁香花在线影院观看在线播放| 久久国产精品视频影院| 日本一区二区久久精品亚洲中文无| 日韩不卡一区二区三区色图| 亚洲av片无码久久五月| 亚洲欧美综合区自拍另类| 玩弄放荡人妻一区二区三区| 色人阁第四色视频合集网| 国产女人精品一区二区三区| 色欲色香天天天综合vvv| 久久无码专区国产精品s| 久久国产亚洲高清观看5388| 亚洲一级av大片在线观看| 五月婷婷开心五月激情| 久久久久国色av免费观看性色| 少妇高潮尖叫黑人激情在线| 99JK无码免费| 黄色大片国产精品久久| 97精品一区二区三区| 色噜噜狠狠综曰曰曰| 欧美午夜精品久久久久免费视| 日本变态网址中国字幕| 中文国产乱码在线人妻一区二区| 国产无套粉嫩白浆在线| 韩国精品一区二区三区无码视频 | 午夜无码国产理论在线| 精品少妇爆乳无码aⅴ区| 一级黄片草逼免费视频| 久久天堂一区二区三区av| 日本久久高清一区二区三区毛片| 欧美日韩亚洲成色二本道三区| av免费在线手机观看|