專利背景
IPTV業務是基於電信寬頻網路、以電視機加機頂盒為主要
終端設備、為用戶提供多媒體服務的寬頻增值業務。包括電視直播和視頻點播在內的視頻播放是IPTV的主要業務形式。能否簡便、高效地在IPTV網路中實現並控制視頻播放是順利開展和推廣IPTV業務的關鍵因素。
傳統IPTV視頻播放的控制由機頂盒本地播放器發起控制請求、伺服器進行回響來實現,伺服器平台被動地進行控制。這樣,在一些需要統一視頻播放控制的業務場景中,如流媒體形式的廣告快進、快退操作等,伺服器平台無法實現主動控制,也無法實現區域化的控制方式。為了適應多變的業務需求,需要一種簡便、有效的IPTV視頻播放的控制方法。
發明內容
專利目的
《控制網路電視視頻播放的方法、系統》要解決的一個技術問題是提供一種簡便、有效的IPTV視頻播放的控制方法。該發明要解決的另一個技術問題是提供一種網路電視系統,可以通過伺服器主動控制機頂盒視頻播放的功能。
技術方案
《控制網路電視視頻播放的方法、系統》提供一種控制網路電視視頻播放的方法,包括:從伺服器端統一下發包含控制視頻播放邏輯的擴展腳本的電子節目指南頁面或者單獨的頁面,所述擴展腳本提供媒體對象和媒體播放對象,所述媒體播放對象提供和底層媒體播放功能提供的API對應的操作函式;通過瀏覽器解析包含在電子節目指南頁面或單獨的頁面中的擴展腳本,根據所述擴展腳本創建包括控制邏輯的控制對象,將控制對象關聯到機頂盒的播放器;控制對象的控制邏輯根據接收到的操作指令和/或內部事件進行判斷後調用相應的腳本函式執行操作,所述腳本函式與底層媒體播放功能提供的API相對應,從而控制機頂盒的播放器。
根據該發明的控制網路電視視頻播放的方法的一個實施例,上述將控制對象關聯到機頂盒的播放器的步驟包括:瀏覽器將來自遙控器的操作指令和/或內部事件分發給控制對象包含的控制邏輯進行判斷處理;在控制對象的控制邏輯中調用擴展腳本的函式,擴展腳本的函式和底層媒體播放功能提供的應用程式接口相對應。
進一步,上述操作指令包括來自遙控器的上、下、左、右、確定、停止、播放、暫停、快進、快退指令中的一個或者多個。上述內部事件包括URL錯誤、網路連線錯誤、媒體格式錯誤、媒體解碼錯誤、快進到右邊界、快進到左邊界、或播放狀態改變事件。
該發明還提供一種網路電視系統,包括:流媒體伺服器,用於存儲並提供流媒體;電子節目指南伺服器,用於存儲並下發包括控制視頻播放邏輯的擴展腳本的電子節目指南頁面,所述擴展腳本提供媒體對象和媒體播放對象,所述媒體播放對象提供和底層媒體播放功能提供的API對應的操作函式;機頂盒,用於從電子節目指南伺服器獲取電子節目指南頁面,通過頁面中的擴展腳本創建包括控制邏輯的控制對象,將控制對象與機頂盒的播放器關聯;從流媒體伺服器獲取流媒體並播放;接收來自用戶的操作指令和/或內部事件,通過控制對象的控制邏輯根據操作指令和/或內部事件進行判斷後調用相應的腳本函式執行操作,所述腳本函式與底層媒體播放功能提供的API相對應,從而控制機頂盒的播放器對流媒體的播放。
該發明還提供一種套用於上述方法和系統的機頂盒,包括:播放器,用於播放流媒體;瀏覽器,用於解析頁面中包括的擴展腳本,創建播放控制模組;接收來自播放器的內部事件和來自遙控器的操作指令,分發給播放控制模組;播放控制模組,用於接收瀏覽器分發的內部事件和/或操作指令,對內部事件和/或操作指令進行判斷,根據判斷結果控制播放器的操作和播放。
有益效果
《控制網路電視視頻播放的方法、系統》提供的控制網路電視視頻播放的方法,通過擴展腳本創建控制對象,通過控制對象來控制機頂盒內的播放器,從而可以通過擴展腳本設定不同的控制邏輯,簡便、有效地控制IPTV視頻播放。該發明提供的網路電視系統,通過電子節目指南伺服器下發包括擴展腳本的電子節目指南頁面,機頂盒根據擴展腳本創建控制對象,對機頂盒的播放器進行控制,實現了伺服器主動控制機頂盒視頻播放的功能。
附圖說明
圖1為《控制網路電視視頻播放的方法、系統》的IPTV系統的示意圖;
圖2為該發明的控制IPTV視頻播放的方法的一個實施例的流程圖;
圖3為該發明的控制IPTV視頻播放的方法的另一個實施例的流程圖;
圖4為該發明的機頂盒的一個實施例的結構圖。
權利要求
1.一種控制網路電視視頻播放的方法,其特徵在於,包括:從伺服器端統一下發包含控制視頻播放邏輯的擴展腳本的電子節目指南頁面或者單獨的頁面;所述擴展腳本提供媒體對象和媒體播放對象,所述媒體播放對象提供和底層媒體播放功能提供的API對應的操作函式;通過瀏覽器解析包含在電子節目指南頁面或單獨的頁面中的擴展腳本,根據所述擴展腳本創建包括控制邏輯的控制對象;將所述控制對象關聯到機頂盒的播放器;所述控制對象的控制邏輯根據接收到的操作指令和/或內部事件進行判斷後調用相應的腳本函式執行操作,所述腳本函式與底層媒體播放功能提供的API相對應,從而控制所述機頂盒的播放器。
2.根據權利要求1所述的控制網路電視視頻播放的方法,其特徵在於,將控制對象關聯到機頂盒的播放器的步驟包括:瀏覽器將來自遙控器的操作指令和/或內部事件分發給所述控制對象包含的控制邏輯進行判斷處理;在所述控制對象的控制邏輯中調用擴展腳本的函式,所述擴展腳本的函式和底層媒體播放功能提供的應用程式接口相對應。
3.根據權利要求1所述的控制網路電視視頻播放的方法,其特徵在於,通過在所述擴展腳本中的控制邏輯中設定對快進、快退的期望處理,對用戶通過遙控器對廣告發出的快進、快退操作指令進行過濾。
4.根據權利要求1至3中任意一項所述的控制網路電視視頻播放的方法,其特徵在於,所述操作指令包括來自遙控器的上、下、左、右、確定、停止、播放、暫停、快進、快退指令中的一個或者多個。
5.根據權利要求1至3中任意一項所述的控制網路電視視頻播放的方法,其特徵在於,所述內部事件包括URL錯誤、網路連線錯誤、媒體格式錯誤、媒體解碼錯誤、快進到右邊界、快進到左邊界、或播放狀態改變事件。
6.一種網路電視系統,包括:流媒體伺服器,用於存儲並提供流媒體;電子節目指南伺服器,用於存儲並下發包括控制視頻播放邏輯的擴展腳本的電子節目指南頁面;所述擴展腳本提供媒體對象和媒體播放對象,所述媒體播放對象提供和底層媒體播放功能提供的API對應的操作函式;機頂盒,用於從所述電子節目指南伺服器獲取所述電子節目指南頁面,通過所述頁面中的擴展腳本創建包括控制邏輯的控制對象,將所述控制對象與機頂盒的播放器關聯;從所述流媒體伺服器獲取流媒體並播放;接收來自用戶的操作指令和/或內部事件,通過所述控制對象的控制邏輯根據所述操作指令和/或內部事件進行判斷後調用相應的腳本函式執行操作,所述腳本函式與底層媒體播放功能提供的API相對應,從而控制機頂盒的播放器對所述流媒體的播放。
7.如權利要求6所述的網路電視系統,其特徵在於,所述機頂盒包括瀏覽器,所述瀏覽器解析包括在所述電子節目指南頁面中的擴展腳本,創建包括控制邏輯的控制對象。
8.如權利要求7所述的網路電視系統,其特徵在於,所述控制對象通過與底層媒體播放應用程式接口對應的擴展腳本函式來建立與所述播放器實體的關聯。
9.根據權利要求6所述的網路電視系統,其特徵在於,所述機頂盒包括:播放器,用於播放流媒體;瀏覽器,用於解析頁面中包括的擴展腳本,創建播放控制模組;接收來自所述播放器的內部事件和/或來自遙控器的操作指令,分發給所述播放控制模組;所述播放控制模組,用於接收瀏覽器分發的所述內部事件和/或操作指令,對內部事件和/或操作指令進行判斷,根據判斷結果控制所述播放器。
10.如權利要求9所述的網路電視系統,其特徵在於,所述播放控制模組通過調用底層媒體播放功能提供的應用程式接口來控制所述播放器的操作和播放。
11.如權利要求9或10所述的網路電視系統,其特徵在於,所述操作指令包括來自遙控器的上、下、左、右、確定、停止、播放、暫停、快進、快退指令中的一個或者多個。
12.如權利要求9或10所述的網路電視系統,其特徵在於,所述內部事件包括URL錯誤、網路連線錯誤、媒體格式錯誤、媒體解碼錯誤、快進到右邊界、快進到左邊界、或播放狀態改變事件。
實施方式
圖1為《控制網路電視視頻播放的方法、系統》的IPTV系統的示意圖。如圖1所示,IPTV系統通常包括機頂盒10、EPG(電子節目指南)伺服器11和流媒體伺服器12。其中,流媒體伺服器12用於存儲並提供流媒體,可在IPTV網路內提供流媒體服務。EPG伺服器11用於存儲並提供EPG頁面,該EPG頁面中包括擴展腳本,適合電視顯示及遙控器操作。EPG伺服器11可在IPTV網路內提供EPG服務。機頂盒10具備IPTV基本業務能力,例如接入IPTV網路,IPTV流媒體獲取及播放能力,接收遙控器操作,具有瀏覽器,可顯示EPG頁面,並支持擴展腳本等。機頂盒10用於從EPG伺服器11獲取EPG頁面,通過頁面中的擴展腳本創建控制對象,將控制對象與機頂盒的播放器關聯;從流媒體伺服器12獲取流媒體並播放;接收來自用戶的操作指令(例如,用戶通過遙控器發出),通過控制對象根據操作指令控制機頂盒的播放器對流媒體的播放。
需要指出的是,雖然在圖1中EPG伺服器和流媒體伺服器是分離的部分,在該發明的其他實施例中,EPG伺服器和流媒體伺服器也可以位於同一伺服器上。用於顯示流媒體播放的電視或者顯示器(圖1中未示出)或者可分離地通過接口與機頂盒相連,或者與機頂盒集成在一起。遙控器不限於通過紅外方式和機頂盒通信,也可以採用無線、藍牙等其他通信方式。機頂盒內的播放器可以通過硬體、軟體、或者硬體與軟體的結合來實現。
圖2為《控制網路電視視頻播放的方法、系統》的控制IPTV視頻播放的方法的一個實施例的流程圖。
如圖2所示,在步驟202,根據擴展腳本創建控制對象,將控制對象關聯到機頂盒的播放器。擴展腳本可以包括在EPG頁面中,也可以通過單獨的頁面下發擴展腳本。通常機頂盒內包括支持擴展腳本的瀏覽器,通過瀏覽器解析頁面中的擴展腳本,創建控制對象。控制對象與機頂盒播放器的關聯實質上是機頂盒通過系統訊息機制將與播放器相關的操作指令和內部事件分發給相應的處理程式,處理程式通過該控制對象調用與底層媒體播放功能提供的API對應的函式。擴展腳本可以通過多種程式語言實現,例如Javascript,Perl等。
在步驟204,控制對象根據接收到的操作指令和/或內部事件控制機頂盒的播放器。控制對象的控制邏輯對接收到的操作指令或內部事件進行判斷後通過調用相應的擴展腳本函式執行操作,這些擴展腳本函式與底層媒體播放功能提供的API相對應,從而控制播放器。
在該發明的控制IPTV視頻播放的方法的一個實施例中,擴展腳本提供媒體對象(Media)和媒體播放對象(MediaPlayer)的支持。媒體對象為純粹的數據對象,包括URL、媒體ID、編碼格式、碼率等,不包括函式。媒體播放對象提供各種操作函式,例如創建對象(NewMediaPlayer)、設定播放對象(SetMedia)、播放(Play)、快進(FastForward)、快退(Rewind)、暫停(Pause)、停止(Stop)、視窗位置設定(SetWindowPos)、顯示(Show)、隱藏(Hide)等。而底層媒體播放功能提供各種API,如用於媒體播放器管理的API:媒體播放器狀態初始化(InitMediaPlayer)、播放器退出(ReleaseMediaPlayer);用於播放處理管理的AIP:設定播放URL(SetMediaURL)、設定媒體格式(SetMediaFormat)、啟動播放(Play)、快進(FastForward,參數為速度)、快退(Rewind,參數為速度)、暫停(Pause)、停止(Stop)、定位到時間(Seek)等;用於播放顯示和輸出管理的API:設定播放視窗大小(SetWindowSize)、顯示位置(SetWindowPos)、音量調節(SetVolume)等。擴展腳本的API和底層媒體播放功能提供的API存在對應關係。在擴展腳本的API的底層實現上可以調用相應的底層媒體播放功能提供的API,從而實現對播放器的操作和播放的控制。
圖3為《控制網路電視視頻播放的方法、系統》的控制IPTV視頻播放的方法的另一實施例的流程圖。
如圖3所示,在步驟302,機頂盒開機後,進入EPG伺服器,訪問視頻播放頁面,頁面包含了控制視頻播放邏輯的擴展腳本,通過擴展腳本請求創建視頻播放的控制對象。
在步驟304,視頻播放控制對象請求關聯到機頂盒的視頻播放器實例(Instance),建立起與視頻播放器實例之間的對應聯繫。
在步驟306,EPG擴展腳本控制送入視頻內容地址,並通過控制對象要求開始播放。
在步驟308,機頂盒視頻播放器進入播放狀態,並根據播放速度的不同,可分為正常、快進、快退、暫停、停止等狀態。
在步驟310,如果機頂盒接收到用戶的遙控器操作指令,則將操作指令送入擴展腳本的控制邏輯,進行相應操作。
在步驟312,如果機頂盒視頻播放器及系統、網路通訊等功能實體檢測到快進到頭、快退到頭、播放到頭、網路錯誤等事件,則將發生的事件送入擴展腳本的控制邏輯,進行相應操作。
在步驟314,擴展腳本的控制邏輯處理用戶操作或內部事件,並判斷是否需要退出播放,如不需要退出播放,則進行相應處理後調至播放狀態,進入步驟308。
在步驟316,如擴展腳本的控制邏輯處理後需退出播放,則刪除擴展腳本的視頻播放控制對象,並結束視頻播放。
該發明提供的控制網路電視視頻播放的方法和系統,通過擴展腳本創建控制對象,通過控制對象來控制機頂盒內的播放器,從而可以通過擴展腳本設定不同的控制邏輯,簡便、有效地控制IPTV視頻播放。擴展腳本可以包含在電子節目指南頁面中,從伺服器端統一下發,便於通過伺服器端實現對機頂盒視頻播放的控制,從而改善2008年10月以前傳統網路電視視頻播放中,伺服器只能被動回響機頂盒本地播放器發起的控制請求的單一播放控制方式,提出伺服器主動控制機頂盒視頻播放的功能,提高了IPTV業務的視頻播放功能的靈活性,降低了視頻播放業務處理的難度。例如,通過在擴展腳本的控制邏輯中設定對快進、快退的期望的處理,可以對用戶通過遙控器對廣告發出的快進、快退操作指令進行過濾。
圖4為《控制網路電視視頻播放的方法、系統》的機頂盒的一個實施例的結構圖。如圖4所示,機頂盒包括瀏覽器40、播放控制模組41和播放器42。其中,播放器42用於播放流媒體。瀏覽器40用於解析頁面中包括的擴展腳本,播放控制模組41;接收來自播放器42的內部事件和/或來自遙控器的操作指令並分發給播放控制模組。播放控制模組41用於接收瀏覽器40分發的內部事件和/或操作指令,對內部事件和/或操作指令進行判斷,根據判斷結果控制播放器。播放控制模組41可以通過調用底層媒體播放功能提供的應用程式接口來控制所述播放器的操作和播放。
播放器在初始化或者播放過程中觸發事件時,會調用系統底層的事件通知API(如SetEvent),並傳入事件的參數,系統然後調用上層瀏覽器的回調函式,在瀏覽器的訊息佇列中插入對應的訊息。瀏覽器處理到該訊息時,則生成一個基於擴展腳本形式的事件通知,將訊息分發給播放控制模組進行處理。當機頂盒接收到遙控器的按鍵操作時,處理過程與上述內部事件的處理過程類似。播放器的內部事件可以包括URL錯誤、網路連線錯誤、媒體格式錯誤、媒體解碼錯誤、快進到右邊界、快進到左邊界、播放狀態改變等事件。遙控器的操作指令由用戶通過鍵盤按鍵的形式發出,主要包括:上、下、左、右、確定、停止、播放/暫停、快進、快退等指令。
榮譽表彰
2013年10月,《控制網路電視視頻播放的方法、系統》獲得第十五屆中國專利優秀獎。