国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

IPTV通用機(jī)頂盒模擬器開(kāi)發(fā)探討

2021-08-12 10:53:42
視聽(tīng) 2021年8期
關(guān)鍵詞:開(kāi)發(fā)人員機(jī)頂盒遙控器

蘭 珺

一、概述

IPTV(互聯(lián)網(wǎng)交互電視)是基于寬帶業(yè)務(wù)平臺(tái),以機(jī)頂盒或其他具有音視頻編解碼能力的數(shù)字化設(shè)備為終端,通過(guò)聚合服務(wù)商的各種流媒體服務(wù)內(nèi)容和增值應(yīng)用,為用戶(hù)提供多種互動(dòng)多媒體服務(wù)的一項(xiàng)業(yè)務(wù)。

隨著業(yè)務(wù)的不斷完善,用戶(hù)大量增加,IPTV已成為黨和政府的重要宣傳渠道。根據(jù)工信部相關(guān)數(shù)據(jù),截止到2020年底,中國(guó)電信、中國(guó)移動(dòng)、中國(guó)聯(lián)通三家企業(yè)在全國(guó)范圍內(nèi)共發(fā)展IPTV用戶(hù)3.15億戶(hù),全年凈增2120萬(wàn)戶(hù)。廣西現(xiàn)有IPTV用戶(hù)近600萬(wàn),覆蓋人群超過(guò)2000萬(wàn)。

雖然從數(shù)據(jù)上看,IPTV的發(fā)展欣欣向榮,用戶(hù)量仍在增加,但增速已明顯放緩,已經(jīng)基本觸及用戶(hù)紅利的天花板。調(diào)整IPTV運(yùn)營(yíng)思路,深挖現(xiàn)有存量用戶(hù)價(jià)值,成為IPTV發(fā)展轉(zhuǎn)型的重要方向,而EPG頁(yè)面開(kāi)發(fā)因此成為重要的運(yùn)營(yíng)環(huán)節(jié)。

EPG是英文Electronic Program Guide的縮寫(xiě),意思是電子節(jié)目菜單。EPG是數(shù)字電視的重要標(biāo)志,是觀眾進(jìn)入IPTV的門(mén)戶(hù)。EPG界面上一般都提供有各類(lèi)菜單、按鈕、鏈接等可供用戶(hù)選擇節(jié)目時(shí)直接點(diǎn)擊的組件,因此,IPTV所提供的各種業(yè)務(wù)都是通過(guò)EPG系統(tǒng)索引及導(dǎo)航來(lái)完成的。

可以說(shuō),EPG系統(tǒng)在IPTV發(fā)展過(guò)程中的地位十分重要,它是IPTV業(yè)務(wù)面向用戶(hù)最重要的界面,IPTV的運(yùn)營(yíng)思路、運(yùn)營(yíng)手段和實(shí)現(xiàn)方式等均需EPG系統(tǒng)的密切配合。在IPTV人口紅利期已過(guò),更講求精細(xì)化運(yùn)營(yíng)的大環(huán)境下,IPTV業(yè)務(wù)對(duì)EPG的頁(yè)面開(kāi)發(fā)提出了更高的要求。

二、EPG頁(yè)面開(kāi)發(fā)遇到的困擾

在IPTV EPG頁(yè)面的開(kāi)發(fā)過(guò)程中,經(jīng)常需要使用機(jī)頂盒進(jìn)行調(diào)試。由于IPTV機(jī)頂盒的型號(hào)種類(lèi)過(guò)多,且測(cè)試用機(jī)頂盒數(shù)量有限,常常出現(xiàn)多個(gè)開(kāi)發(fā)人員需要共享機(jī)頂盒進(jìn)行調(diào)試的情況,影響了開(kāi)發(fā)的效率。另外,如需在機(jī)頂盒中進(jìn)行調(diào)試,必須在開(kāi)發(fā)代碼中添加大量的調(diào)試代碼,而這些代碼在上線前必須全部刪除,稍有不慎就會(huì)影響EPG頁(yè)面的上線質(zhì)量,造成功能缺失、頁(yè)面BUG或用戶(hù)投訴等情況。因此,在機(jī)頂盒中調(diào)試EPG頁(yè)面代碼一直是開(kāi)發(fā)人員在工作中遇到的難題。

通過(guò)編寫(xiě)一個(gè)IPTV通用機(jī)頂盒開(kāi)發(fā)模擬器,可以讓開(kāi)發(fā)人員在EPG開(kāi)發(fā)過(guò)程中只要使用電腦就可以模擬機(jī)頂盒的操作,簡(jiǎn)化EPG調(diào)試流程,不需要在EPG代碼中添加其他過(guò)多的調(diào)試信息,提升開(kāi)發(fā)的質(zhì)量。本文將詳細(xì)說(shuō)明如何通過(guò)Chrome瀏覽器的擴(kuò)展(Extension)機(jī)制來(lái)實(shí)現(xiàn)IPTV機(jī)頂盒的模擬。

三、開(kāi)發(fā)基本思路

通過(guò)閱讀IPTV機(jī)頂盒規(guī)范可以看出,IPTV機(jī)頂盒的核心實(shí)質(zhì)上是一個(gè)網(wǎng)頁(yè)瀏覽器。主流的瀏覽器對(duì)頁(yè)面的解析功已經(jīng)很完整了,技術(shù)人員在開(kāi)發(fā)IPTV機(jī)頂盒模擬器的時(shí)候不需要從零開(kāi)始,可以直接使用現(xiàn)有瀏覽器,并根據(jù)IPTV機(jī)頂盒模擬器的特殊需求進(jìn)行二次開(kāi)發(fā)。另外,Chrome瀏覽器對(duì)于二次開(kāi)發(fā)是友好的,開(kāi)發(fā)人員可以很方便地進(jìn)行代碼的調(diào)試,只需要在網(wǎng)頁(yè)瀏覽器的基礎(chǔ)上添加三個(gè)IPTV機(jī)頂盒內(nèi)置的JavaScript對(duì)象,就可以在Chrome瀏覽器中基本實(shí)現(xiàn)模擬IPTV機(jī)頂盒的工作。三個(gè)IPTV機(jī)頂盒內(nèi)置的JavaScript對(duì)象分別為:

(一)MediaPlayer:直播、點(diǎn)播的視頻播放器對(duì)象;

(二)Utitliy:播放器狀態(tài)變化事件處理的對(duì)象;

(三)Authentication:IPTV用戶(hù)認(rèn)證,保存盒子信息和直播頻道列表。

另外,還需要實(shí)現(xiàn)模擬遙控器,來(lái)負(fù)責(zé)向機(jī)頂盒模擬器頁(yè)面發(fā)送消息,這就需要開(kāi)發(fā)一個(gè)遙控器頁(yè)面,讓開(kāi)發(fā)人員可以通過(guò)這個(gè)虛擬的遙控器發(fā)送按鍵消息給機(jī)頂盒模擬器頁(yè)面。

四、模擬器的具體實(shí)現(xiàn)方式

根據(jù)以上思路可以明確,若要實(shí)現(xiàn)IPTV機(jī)頂盒的模擬器及相關(guān)功能,就需要Chrome Extension完成兩個(gè)模塊的開(kāi)發(fā),一個(gè)模塊實(shí)現(xiàn)IPTV內(nèi)嵌的javascript對(duì)象,另一個(gè)模塊是遙控器模擬頁(yè)面。Chrome Extension的工作機(jī)制如下。

Chrome Extension主要由4個(gè)核心的組件來(lái)完成工作:

(一)Background scripts:服務(wù)腳本和Chrome同一個(gè)生命周期,在Chrome打開(kāi)時(shí)創(chuàng)建,在Chrome關(guān)閉時(shí)銷(xiāo)毀,同時(shí)負(fù)責(zé)監(jiān)聽(tīng)Chrome的事件進(jìn)行相應(yīng)的處理;

(二)Content scripts:和每個(gè)頁(yè)面是同一個(gè)生命周期,根據(jù)Chrome的安全沙盒的機(jī)制可以訪問(wèn)頁(yè)面上的DOM,但是不能訪問(wèn)頁(yè)面上的JavaScript腳本;

(三)Options page:通過(guò)這個(gè)頁(yè)面可對(duì)Extension進(jìn)行配置;

(四)UI Elements:點(diǎn)擊插件圖標(biāo)的時(shí)候響應(yīng)UI的頁(yè)面。

了解Chrome的Extension機(jī)制之后,就可以著手進(jìn)行IPTV機(jī)頂盒模擬器具體頁(yè)面的開(kāi)發(fā)工作了。IPTV機(jī)頂盒的模擬器整體流程如下圖:

流程說(shuō)明如下。

1.開(kāi)發(fā)人員打開(kāi)Chrome瀏覽器時(shí),瀏覽器會(huì)自動(dòng)加載IPTV模擬器插件,先調(diào)用background.js,完成缺省配置的配置工作。

2.開(kāi)發(fā)人員訪問(wèn)一個(gè)頁(yè)面,Chrome瀏覽器加載Content Script的腳本。

3.Content Script中的腳本,通過(guò)檢測(cè)加載HTML中的Meta節(jié)點(diǎn)來(lái)判斷是不是一個(gè)合法標(biāo)準(zhǔn)的IPTV頁(yè)面,如果是IPTV頁(yè)面則注入MediaPlayer、Authentication、Utitliy三個(gè)對(duì)象。

4.在頁(yè)面加載成功后,Content Script自動(dòng)生成遙控器的界面。

5.將遙控器的界面注入。

這樣,一個(gè)IPTV機(jī)頂盒的模擬器就完成了整體的流程,IPTV頁(yè)面即可正常顯示和訪問(wèn)。

需要解決的第二個(gè)問(wèn)題是如何模擬遙控器中的按鍵信息。在以往IPTV的EPG頁(yè)面開(kāi)發(fā)中,處理遙控按鍵的代碼都采用onkeypress來(lái)實(shí)現(xiàn),即用戶(hù)按下或按住一個(gè)遙控器按鍵時(shí)會(huì)觸發(fā)onkeypress事件。因此,可以通過(guò)構(gòu)建一個(gè)事件直接調(diào)用document.onkeypress的方法來(lái)模擬調(diào)用遙控器情景。

五、視頻播放功能的實(shí)現(xiàn)方式

實(shí)現(xiàn)IPTV機(jī)頂盒的模擬器功能,最重要的就是模擬機(jī)頂盒的視頻播放功能。采用配置需要模擬播放的視頻URL地址,使用H5的Video標(biāo)簽,EPG頁(yè)面通過(guò)調(diào)用MediaPlayer來(lái)實(shí)現(xiàn)視頻播放。同時(shí),將Video的播放事件轉(zhuǎn)換為IPTV對(duì)應(yīng)的播放事件,發(fā)送給相關(guān)頁(yè)面。

此外,還可以通過(guò)MediaPlayer的joinChannel方法來(lái)模擬IPTV直播頻道視頻流的播放,本文不再贅述。

六、總結(jié)

通過(guò)IPTV通用機(jī)頂盒模擬器的開(kāi)發(fā),可極大減輕開(kāi)發(fā)人員在IPTV EPG頁(yè)面開(kāi)發(fā)過(guò)程中對(duì)機(jī)頂盒的依賴(lài)。同時(shí),由于開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境的EPG代碼基本匹配,不再需要區(qū)分開(kāi)發(fā)環(huán)境和測(cè)試環(huán)境,整體提升了EPG的整體開(kāi)發(fā)效率。

后續(xù),模擬器工具可進(jìn)行相應(yīng)開(kāi)發(fā),對(duì)接應(yīng)用到真實(shí)的IPTV環(huán)境中,用于EPG實(shí)時(shí)頁(yè)面監(jiān)控、IPTV視頻播放質(zhì)量監(jiān)控、IPTV內(nèi)容編排管理等工作,進(jìn)一步為IPTV的運(yùn)營(yíng)提供支撐能力。

猜你喜歡
開(kāi)發(fā)人員機(jī)頂盒遙控器
時(shí)間遙控器
爸媽有個(gè)“遙控器”
安全使用機(jī)頂盒注意五點(diǎn)
Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
行走的飛行遙控器
數(shù)字電視機(jī)頂盒軟件自動(dòng)測(cè)試系統(tǒng)的開(kāi)發(fā)及應(yīng)用
有線電視高清數(shù)字電視機(jī)頂盒測(cè)試系統(tǒng)的構(gòu)建
按錯(cuò)遙控器
讓W(xué)indows 10進(jìn)入開(kāi)發(fā)者模式
電腦迷(2015年12期)2015-04-29 23:22:51
What is Apple Watch All About?
东阿县| 佳木斯市| 台湾省| 旬阳县| 潞城市| 广南县| 洛隆县| 临潭县| 宣威市| 东台市| 安图县| 朝阳区| 平昌县| 出国| 南平市| 商南县| 土默特右旗| 平罗县| 忻州市| 宝清县| 博爱县| 滁州市| 南阳市| 乾安县| 宁晋县| 巧家县| 鱼台县| 兖州市| 铜陵市| 侯马市| 高要市| 永和县| 普宁市| 黄浦区| 绵阳市| 阜新| 石狮市| 库伦旗| 响水县| 金寨县| 栾川县|