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

        ?

        IPTV播放器客戶端和服務(wù)端模塊設(shè)計(jì)

        2016-04-29 00:44:03袁明磊陳業(yè)
        軟件工程 2016年2期
        關(guān)鍵詞:服務(wù)器端客戶端

        袁明磊 陳業(yè)

        摘 要:在IPTV播放器的開發(fā)過程中,一般用客戶端、服務(wù)器端架構(gòu)來實(shí)現(xiàn)。本文主要對(duì)IPTV播放器客戶端和服務(wù)器端模塊進(jìn)行了分析和設(shè)計(jì),為IPTV客戶端和服務(wù)器端開發(fā)提供了參考。

        關(guān)鍵詞:客戶端;服務(wù)器端;IPTV

        中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A

        1 引言(Introduction)

        IPTV是一種利用數(shù)據(jù)網(wǎng)絡(luò)進(jìn)行音視頻數(shù)據(jù)傳輸?shù)男滦兔襟w技術(shù)。IPTV相比模擬電視具有良好的互動(dòng)性,用戶可以根據(jù)自己的興趣進(jìn)行內(nèi)容選擇。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,IPTV勢(shì)必會(huì)成為未來家庭中的一種重要的業(yè)務(wù)形態(tài)。本文主要研究IPTV客戶端和服務(wù)器端模塊的設(shè)計(jì)。

        2 客戶端模塊設(shè)計(jì)(Client-side module design)

        播放器客戶端模塊主要完成如下功能:

        (1)提供與播放相關(guān)的API供播放器應(yīng)用層模塊調(diào)用,比如播放、暫停、跳轉(zhuǎn)等。

        (2)封裝來自播放器應(yīng)用層模塊的命令并以IPC的方式發(fā)送至播放器服務(wù)端模塊。

        (3)接收來自播放器服務(wù)端模塊的通知,并通知給播放器應(yīng)用層模塊。

        播放器在播放音視頻時(shí),同一時(shí)刻播放音視頻的個(gè)數(shù)主要受制于嵌入式設(shè)備上的解碼器個(gè)數(shù)(軟件解碼和硬件解碼)。一般情況下,嵌入式設(shè)備上都會(huì)有且只有一個(gè)硬解碼器存在,且為獨(dú)占式的,即有一個(gè)音視頻在基于硬件解碼正在播放時(shí),另外一個(gè)音視頻是無法基于硬件解碼器播放的[1]。

        但是,在設(shè)計(jì)播放器架構(gòu)時(shí)我們卻可以做到預(yù)留添加軟件解碼器接口,以便未來應(yīng)對(duì)多路音視頻同時(shí)播放的需求。而且,播放器應(yīng)該可以做到同時(shí)支持幾個(gè)實(shí)例(相當(dāng)于多個(gè)player)在運(yùn)行,比如在播放本地視頻時(shí),一個(gè)播放器實(shí)例正在播放用戶選中的視頻,此刻應(yīng)該允許另外一個(gè)播放器實(shí)例負(fù)責(zé)獲取本地文件夾下的其他視頻的源文件信息(編碼信息、播放時(shí)長、視頻寬高、縮略圖等),這樣在退出正在播放的視頻時(shí),用戶可以快速地預(yù)覽到其他視頻的源文件信息,讓用戶感覺速度很快,體驗(yàn)很好[2]。

        結(jié)合上述考慮,客戶端設(shè)計(jì)如圖1所示。IMediaPlayer為MediaPlayerClient和服務(wù)端RealPlayer的共同接口;MediaPlayerClient為播放器暴露給應(yīng)用層的與播放相關(guān)的接口;CmdWrapper用于打包來自應(yīng)用層的與播放相關(guān)的命令;CmdSender用于向播放器服務(wù)端發(fā)送來自客戶端的命令;EventQueue用于接受來自服務(wù)端的通知事件;PollThread用于輪詢EventQueue,并將每個(gè)Event派發(fā)給應(yīng)用層。

        3 服務(wù)端模塊設(shè)計(jì)(Server-side module design)

        播放器服務(wù)端模塊主要完成如下功能:

        (1)接收來自播放器客戶端模塊的命令,并進(jìn)行播放相關(guān)處理。

        (2)將播放器的相關(guān)播放狀態(tài)通知給播放器客戶端模塊。

        (3)負(fù)責(zé)數(shù)據(jù)源獲取模塊、音視頻分離模塊、音頻同步模塊和音視頻輸出模塊的調(diào)度和管理。

        (4)維護(hù)播放器的播放狀態(tài)機(jī)。

        播放器服務(wù)端的主要設(shè)計(jì)類圖如圖2所示。IMediaPlayer為MediaPlayerClient和服務(wù)端RealPlayer的共同接口;MediaPlayerServer為播放器服務(wù)端的代理接口,充當(dāng)播放器服務(wù)端對(duì)外門戶,來自客戶端的命令都必須經(jīng)過其轉(zhuǎn)手派發(fā)給相應(yīng)的某個(gè)RealPlayer實(shí)例,其內(nèi)部保存一個(gè)RealPlaye實(shí)例鏈表;RealPlayer為播放器服務(wù)端核心管理類,與MediaPlayerClient一一對(duì)應(yīng),負(fù)責(zé)處理來自客戶端的命令、維護(hù)播放器狀態(tài)器切換、將播放器的狀態(tài)以Event的方式通知給播放器服務(wù)端,同時(shí),也負(fù)責(zé)MediaSource、MediaDemux、DecoderBase和Render之間的調(diào)度;CmdQueue負(fù)責(zé)接收來自客戶端的命令;PollThread負(fù)責(zé)輪詢CmdQueue并將命令派發(fā)給RealPlayer進(jìn)行處理;EventWrapper負(fù)責(zé)打包服務(wù)端通知給客戶端的Event;EventSender負(fù)責(zé)將Event發(fā)送給客戶端;DecoderBase為解碼器基類,HardewareDecoder為繼承自DecoderBase的硬解碼類,未來若是需要支持多路視頻播放的話,只需從DecoderBase派生一個(gè)類,并實(shí)現(xiàn)相關(guān)接口函數(shù)即可;MediaDemux為所有媒體格式分離器類的基類;MediaSource為所有協(xié)議(網(wǎng)絡(luò)或本地)的媒體源獲取類的基類;Render負(fù)責(zé)對(duì)解碼器解碼完成后的音頻幀和視頻幀進(jìn)行渲染輸出。DecoderBase的某個(gè)派生類、MediaDemux的某個(gè)派生類、MediaSource的某個(gè)派生類和Render皆為MediaPlayerServer的成員變量[3,4]。

        故而,播放器客戶端與服務(wù)端的交互設(shè)計(jì)如圖3所示,播放器整體上采取了C/S(客戶端/服務(wù)器)設(shè)計(jì)方式,即一個(gè)服務(wù)端進(jìn)程可能會(huì)與多個(gè)客戶端進(jìn)程并存。應(yīng)用層模塊(LocalPlayer/Browser/…)和播放器客戶端模塊共處于客戶端進(jìn)程,與播放器服務(wù)端模塊所處的服務(wù)端進(jìn)程并存。當(dāng)用戶使用遙控器操作控制播放器的時(shí)候,操作命令會(huì)通過客戶端模塊發(fā)送至服務(wù)端模塊;播放器服務(wù)端播放狀態(tài)發(fā)生改變時(shí),服務(wù)端首先會(huì)將通知事件發(fā)送至客戶端模塊,然后由客戶端模塊將其傳送至應(yīng)用層模塊。

        4 結(jié)論(Conclusion)

        本文對(duì)IPTV播放器的客戶端模塊和服務(wù)端模塊進(jìn)行了設(shè)計(jì)。在實(shí)現(xiàn)客戶端和服務(wù)端模塊時(shí),定義了播放器客戶端和服務(wù)端的播放接口類。

        參考文獻(xiàn)(References)

        [1] 代黔豫.IPTV的核心技術(shù)和主要應(yīng)用[J].移動(dòng)通信,2009,33

        (2):84-87.

        [2] 李季.基于嵌入式Linux的IPTV機(jī)頂盒媒體播放器的研究[D].

        成都:天津大學(xué),2008.

        [3] 徐晟華.基于MPEG-4的嵌入式流媒體播放器的設(shè)計(jì)與實(shí)現(xiàn)

        [D].鎮(zhèn)江:江蘇大學(xué),2007.

        [4] 曾愛華.IPTV系統(tǒng)架構(gòu)及主要技術(shù)[J].通信技術(shù),2010,43(3):

        171-176.

        作者簡介:

        袁明磊(1985-),男,碩士,講師.研究領(lǐng)域:計(jì)算機(jī)應(yīng)用.

        猜你喜歡
        服務(wù)器端客戶端
        Linux環(huán)境下基于Socket的數(shù)據(jù)傳輸軟件設(shè)計(jì)
        如何看待傳統(tǒng)媒體新聞客戶端的“斷舍離”?
        縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
        孵化垂直頻道:新聞客戶端新策略
        基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
        大樞紐 云平臺(tái) 客戶端——中央人民廣播電臺(tái)的探索之路
        淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
        成功(2018年10期)2018-03-26 02:56:14
        在Windows中安裝OpenVPN
        基于C/S架構(gòu)的嵌入式監(jiān)控組態(tài)外設(shè)擴(kuò)展機(jī)制研究與應(yīng)用
        客戶端空間數(shù)據(jù)緩存策略
        国产精品久久久天天影视| 杨幂国产精品一区二区| 久久最黄性生活又爽又黄特级片| av日韩高清一区二区| 欧美色欧美亚洲另类二区| 亚洲另类自拍丝袜第五页| 国产精品无码久久久久久久久作品| 一区二区亚洲熟女偷拍| 无码人妻丰满熟妇区免费| 国产97在线 | 中文| 亚洲色欲大片AAA无码| 国产精品亚洲精品专区| 免费观看全黄做爰大片| 国产av精国产传媒| 亚洲区偷拍自拍29p| 久久综合伊人有码一区中文字幕 | 亚洲国产中文字幕视频| 色多多a级毛片免费看| 国产熟女亚洲精品麻豆| 久久精品日韩免费视频| 无码爽视频| 丰满人妻被黑人中出849| 亚洲先锋影院一区二区| 国产精品自拍视频在线| 亚洲精品天天影视综合网| 人妻无码人妻有码中文字幕| 国产精品无码久久AⅤ人妖| 性生大片免费观看性少妇| 熟妇人妻久久中文字幕| 日韩高清毛片| 国产av一区二区内射| 日日碰狠狠添天天爽超碰97久久| 亚洲男同志网站| 99久久久69精品一区二区三区 | 国产麻豆精品一区| 国产精品深夜福利免费观看| 中文字幕人乱码中文字幕乱码在线 | 正在播放国产多p交换视频| 水蜜桃久久| 精品国产污黄网站在线观看| 亚洲av成人无码久久精品老人|