1、Chapter5 IPTV視訊服務的程式設視訊服務的程式設計考量計考量Reporter:Yan-Lin ChuAdvisor:Chin-Shiuh Shieh5.1 Windows Media Services 9 的程的程式控制技術式控制技術 5.1.1 Windows Media Services 9 簡介:簡介:Windows Media Series 9是微軟針對網多媒體服務所提出的一整套完整的解決方案,除Windows Server 2003內才有的多媒體服務外,最重要的是整合許多的媒體製作與播放工具,讓使用者使用網多媒體時有絕佳的體驗與享受。25.1.1 Windows Media
2、 Services 9 簡介簡介(cont.)最佳串流經驗:最佳串流經驗:Windows Media Services 9 系列的快速串流功能可有效去除緩衝處理時間,並降低因網路狀況而發生播放中斷的機率。諸如快速啟動、快速快取、快速恢復與快速重新連線的功能,藉由最低需求的緩衝與下載時間來串流處理內容,甚至是透過高度不穩定性的網路連線(例如無線網路或衛星)提供立即/持續的播放。35.1.2 Windows Media Service 的程式的程式控制技術(控制技術(cont.)Web網頁中嵌入網頁中嵌入Windows Media Player:45.1.2 Windows Media Servi
3、ce 的程式的程式控制技術(控制技術(cont.)與串流播放有直接關係的事件有:與串流播放有直接關係的事件有:OpenStateChangePlayStateChangeBufferingScriptCommandMarkerHit55.1.2 Windows Media Service 的程式的程式控制技術(控制技術(cont.)多點傳播資訊檔案:多點傳播資訊檔案:多點傳播資訊檔案中含有一些播放程式解碼串流所需使用的資訊,在接收以多點傳播串流處理的內容之前,播放程式必須存取多點傳播資訊檔案,才能擷取下列資訊:1.多點傳播多點傳播 IP 位址位址 6.單點傳播變換單點傳播變換 URL2.多點傳
4、播連接埠多點傳播連接埠 7.已傳送內容所使用的串流格式已傳送內容所使用的串流格式 3.執行時間值執行時間值4.預設錯誤修正間隔預設錯誤修正間隔5.多點傳播登入多點傳播登入 URL65.1.2 Windows Media Service 的程式的程式控制技術(控制技術(cont.)伺服器端播放清單:伺服器端播放清單:播放清單檔案是由下列七個基本的可延伸標記語言(XML)元件所組成:smil、media、seq、excl、priorityClass switch和clientData。播放清單由元件及元件相關屬性所組成。75.2 機上盒機上盒(set-top box)的介面整合的介面整合 近幾年才
5、逐步發展的互動電視機上盒(Set Top Box,STB),由於其主要受限於成本與技術上的考量,因此STB的硬體規格就彷彿當年WWW起飛之時的個人電腦硬體配備。因此,以數位匯流的角度來看,同一份數位內容要讓不同介面平台(在此指電腦與STB)都能接收、進而讓使用者使用的話,則在規畫設計此份數位內容時,便需以STB的環境做為前提考量。8捕捉鍵盤與滑鼠事件捕捉鍵盤與滑鼠事件 鍵盤事件:鍵盤事件:我們可以偵測某一個特定按鍵是否被按下,是先利用 document.onkeydown 來抓到按鍵事件,並指定相關的事件處理程式,之後再從事件處理程式中,利用 window.event.keycode 來知道按
6、鍵代碼,並進行相關的處理。滑鼠事件:滑鼠事件:偵測方式也如同鍵盤事件一般,也可以利用event.button來偵測使用者所按下的滑鼠鍵,也就是左、右鍵或是中鍵。910STB的環境的環境 STB軟硬體規格簡介:軟硬體規格簡介:STB:IP420STB:MOD201CPU:280MHzCPU:SIS552 396 MIPSMedia Processor:Media Processor:ADI ADSP-BF533Flash:16 MBFlash:64 MBMemory:SDRAM 64 MBMemory:SDRAM 128 MBOS:LinuxOS:Microsoft Windows CE 4.2
7、0Browser:ANT FrescoBrowser:ANT FrescoJavaScript Version:1.1JavaScript Version:1.3Output Resolution:640 x 480 pixelsOutput Resolution:720 x 480 pixelsSTB:MOD202Browser:NetscapeCPU:AMD SC1100 266MHzJavaScript Version:1.5Media Processor:PHILIPS PNX1502 300MHzOutput Resolution:720 x 480 pixelsFlash:64 M
8、BMemory:133Mhz SDRAM 128 MBOS:Linux11數位內容於數位內容於STB環境下發展的限制因環境下發展的限制因子子 各各STB輸入的差異:輸入的差異:於STB環境中,使用者僅能藉由壓下該STB專屬的遙控器按鈕,來下達對數位內容的要求,然而除了各STB觸發接收使用者按下遙控器某一按鈕事件的方式不一之外,對於按鈕所對應到的鍵碼以及鍵碼取得的方式亦是不盡相同。12STBMETHODIP420MOD201MOD202onkeydownonkeypressSTB觸發接收遙控器按鈕事件方式觸發接收遙控器按鈕事件方式STBKEYIP420MOD201MOD202返回鍵1073741
9、953134217729680右方向鍵1073741841107374184139左方向鍵1073741840107374184037上方向鍵1073741838107374183838下方向鍵1073741839107374183940各各STB部分遙控器按鈕對應的鍵碼部分遙控器按鈕對應的鍵碼13數位內容於數位內容於STB環境下發展的限環境下發展的限制因子制因子 數位內容載入流暢度不足:數位內容載入流暢度不足:由於STB的CPU效能有限,若數位內容需使用大量的CPU運算時,便會影響到數位內容的載入速度,例如在載入圖片眾多的數位內容時,便會大量增加載入、等待的時間。而在STB還正於載入數位內容
10、的同時,若STB接收到因使用者不耐等待而隨意按下遙控器按鈕命令,則可能會導致數位內容使用流程的錯誤,更甚者亦可能使得STB當機。14數位內容於數位內容於STB環境下發展的限環境下發展的限制因子制因子 各各STB所支援的所支援的HTML及及JavaScript不一:不一:由於各STB內建的瀏覽器不盡相同,其所支援的HTML及JavaScript亦不盡相同,例如欲於數位內容達到經選取則切換不同圖片的功能,在MOD201 STB上,須使用selimage語法,而在MOD202 STB上,則是用onFocus語法。或是欲於數位內容達到跳出另一小視窗功能,在MOD201 STB上,是使用JavaScri
11、pt window.open語法,而在MOD202 STB上,則是用HTML中的iFrame來達成。15限制因子對應的解決方法限制因子對應的解決方法 Key Handler:是設計用以解決各STB輸入的差異,在Key Handler中整合了各個裝置(1)觸發接收遙控器按鈕事件的方式、(2)按鈕鍵碼取得的方式、(3)按鈕對應的鍵碼等三部份。例如於STB載入數位內容之前,該數位內容會先經由Key Handler來判別是何種裝置、何款STB。16限制因子對應的解決方法(限制因子對應的解決方法(cont.)MediaCtrl:為能讓同一份數位內容皆能在不同的STB環境下進行播放、快轉、倒轉、暫停、停止
12、等影音操控,因此本文修改了各STB專屬影音操控指令,使各STB影音操控程式中都具有PlayStream、TrickPlay、StopStream等函式。17201 STB統一函式影音操控流程統一函式影音操控流程202 STB統一函式影音操控流程統一函式影音操控流程18MediaCtrl提供之功能提供之功能 容錯功能容錯功能 錯誤記錄功能錯誤記錄功能 重覆播放功能重覆播放功能 播放指令導向功能播放指令導向功能 快轉、倒轉功能快轉、倒轉功能 暫停、停止功能暫停、停止功能19限制因子對應的解決方法(限制因子對應的解決方法(cont.)State-Machine:設立一個State-Machine以避
13、免當數位內容尚未完全載入前,STB接收到因使用者不耐等待而隨意按下遙控器按鈕命令,則可能會導致數位內容使用流程的錯誤,更甚者亦可能使得STB當機。State-Machine設計了waiting機制,令數位內容須在完整下載於STB後(使用者端),才接受、並回應使用者於遙控器所下的命令。20The proposed state-machine of video-on-demand service with“waiting”states21限制因子對應的解決方法(限制因子對應的解決方法(cont.)DevCmd-Detector:DevCmd-Detector用以克服各STB所支援的HTML及Jav
14、aScript不一的限制因子。DevCmd-Detector主要功能有二,其一是判斷使用者端是何款STB,其二是依各STB所支援的HTML及JavaScript語法,來動態產生HTML、或選擇需執行的程式。22DevCmd-Detector23電腦環境與電腦環境與STB環境的差異環境的差異 在數位匯流的趨勢下,同一份數位內容將會被不同介面平台(在此指電腦與STB)中使用,而同一份數位內容若欲跨平台都能被使用,那麼於發展數位內容時,如何整合平台之間的差異便是一大議題。24DeviceDifferenceComputerSTBInput DeviceKeyboard MouseRemoter Co
15、ntrollerVideo PlayALLRTSPOutput DeviceMonitor:800 x 600 TV:640 X 480TV:720 X 480HTMLALLPartialJavaScript Fun.ALLPartial電腦環境與電腦環境與STB環境的差異環境的差異25電腦環境與電腦環境與STB環境輸入裝置的環境輸入裝置的差異差異 電腦環境鍵盤行為事件相同,但鍵值不同:電腦環境鍵盤行為事件相同,但鍵值不同:電腦環境輸入裝置主要是藉由鍵盤以及滑鼠,而STB環境則是透過遙控器,由於數位內容於STB環境與使用者的互動設計,是藉由接收到使用者按下遙控器某按鈕後,產生keydown或k
16、eypress事件進而執行。26電腦環境與電腦環境與STB環境輸入裝置的環境輸入裝置的差異(差異(cont.)電腦環境滑鼠輸入模式迥異:電腦環境滑鼠輸入模式迥異:由於滑鼠輸入模式因其不受空間、或是選項點項順序的限制,例如使用者欲點選數位內容中第三個選項,則選項焦點不需像遙控器或鍵盤輸入模式時,需要先經過第一以及第二個選項,而是直接點選第三個選項。此外,滑鼠點選時所產生的事件亦不同於遙控器或鍵盤的keydown或keypress事件,而是onclick事件。27電腦環境與電腦環境與STB環境影音播放的環境影音播放的差異差異 STB影音播放依據影音播放依據RTSP協定:協定:STB影音播放依據RT
17、SP協定,由前端的STB透過網路接收由後端串流伺服器所發送的串流媒體,並於操作上支援快轉、倒轉、暫停等操作模式。28電腦環境與電腦環境與STB環境影音播放的環境影音播放的差異(差異(cont.)電腦環境影音播放多元,電腦環境影音播放多元,Store&Play、串流、串流播放:播放:電腦環境影音播放方式就相形多元,除了傳統經由 FTP 或 HTTP 將整個檔案下載至本地端後,再利用撥放程式來撥放的Store&Play播放方式外,亦支援串流媒體的播放方式,不過電腦環境的串流媒體播放是不支援快、倒轉的操作。29電腦環境與電腦環境與STB環境差異的克服環境差異的克服方法(方法(cont.)克服影音播放
18、的差異:克服影音播放的差異:在電腦環境相較於STB環境,所支援播放影片方式非常多元,目前本文於擴充了MediaCtrl中的PlayStream函式,讓使用者於電腦環境中在要求播放影片時,數位內容同樣呼叫PlayStream函式,而PlayStream函式會依據使用者所使用的環境(電腦環境或STB環境)來選擇應採用的影片播放方式,例如若是電腦環境則會採取Store&Play的方式播放該影片。30電腦環境與電腦環境與STB環境差異的克服環境差異的克服方法(方法(cont.)克服輸出介面的差異:克服輸出介面的差異:由於電腦的監視器解析度相較於電視來得大,故在設計相容於電腦環境及STB環境的數位內容介
19、面時,便以STB環境輸出解析度限制為最大值,並設定該數位內容於瀏覽器呈顯時,上、左邊界同時設定為零(leftMargin=0 topMargin=0)。31效能因素對系統程式設計的考量效能因素對系統程式設計的考量 Slow transition of web pages:在網路上。對於PC用戶來說,其輸入或導覽設備是鍵盤和滑鼠。當他們點擊一個按鈕或按鍵,他們通常看他們電腦的回應。但互動電視用戶,他們使用遙控器作為其互動裝置且他們習慣於快速反應的傳統電視服務。由於網頁轉換較緩慢和電視用戶的行為,互動電視服務的網頁設計是比網路困難。32效能因素對系統程式設計的考量效能因素對系統程式設計的考量(co
20、nt.)Key-locking during web page transition:網頁轉換通常發生在離開網頁而載入新網頁時。在轉換期間,該系統的設計是以禁用所有用戶輸入,並確保轉換安全。33效能因素對系統程式設計的考量效能因素對系統程式設計的考量(cont.)Using scrolling mechanism to reduce number of web page transition of a ITV service:在傳統的Web應用中,瀏覽器可以調整其展示視窗,如果該頁面介紹超出大小,然後滾動條在橫軸或縱軸會出現這樣的表示,用戶可以滾動介紹網頁。但互動電視服務,電視屏幕的分辨率是固
21、定的,它缺乏輸入設備(如滑鼠)讓用戶滾動網頁。34菜單應用菜單應用35菜單應用的捲軸設計範例菜單應用的捲軸設計範例36set-top box 的的state-machine設計設計37set-top box 的的state-machine設計設計(cont.)38set-top box 的的state-machine設計設計(cont.)39set-top box 的的state-machine設計設計(cont.)40Conclusions 目前的互動電視服務(互動電視)採用基於網路和基於IP的技術。通過這些技術,互動電視服務非常相似,傳統的上網服務,除設備在客戶端是一套機上盒與電視顯示器。目前的兩個實際問題和他們的解決方案為Web應用程序設計、基於網路的互動電視服務。41
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。