【摘要】近幾年來,隨著科學技術的快速發展,以及信息化腳步的加快,互聯網技術已經深入到人們的工作、生活和學習當中。在光纖接入網絡升級改造工程的不斷進行中,網絡寬度無論是速率上還是服務質量上都得到了明顯的提升,網絡寬帶成為網絡運營商部署戰略發展中的一項核心業務,而且網絡寬帶業務的發展使得網絡用戶的數量不斷增加。本文以IPTV數字機頂盒為基礎,提出了流媒體播放器的構建方案。
【關鍵詞】數字機頂盒;IPTV;流媒體播放器
1.引言
隨著科技技術的發展與進步,互聯網服務在人類的生活中扮演著越來越重要的角色,原先的一些傳統行業、傳統業務也在逐步地向著互聯網滲透和靠近。因此IPTV就是繼傳統的廣電數字電視業務后新發展的互聯網電視交互業務。隨著光纖網絡帶寬的日益普及,以及流媒體技術的深入發展,多媒體產業的發展進入了前所未有的盛世。IPTV網絡電視通過數據互聯網將傳統的數字電視業務和互聯網交互業務進行有機的結合,并未廣大用戶提供直播、時移、點播、網頁瀏覽、游戲等交互式電視業務,使人們工作以外的業余時間得以極大程度上的豐富,近年來獲得了飛速的發展。IPTV集合了互聯網技術、多媒體技術、通信技術于一體,以家庭電視機設備作為顯示終端,使用戶切身體驗到多媒體技術發展帶來的巨大變革,與傳統有線電視傳播方式相比,IPTV是一種革命性的節目內容傳播方式,影響了整個媒體產業的發展,推動了新技術的不斷進步。
IPTV業務以互聯網為基礎,機頂盒為主要終端,為用戶提供包括視頻、點播、網頁瀏覽、互動游戲等在內的多個服務項目。機頂盒是一個典型的嵌入式系統,具有豐富的功能,如模擬/數字轉換功能、圖形圖像的顯示功能、音頻和視頻編解碼的功能、流媒體傳輸控制功能等。消費者可以通過IPTV機頂盒在現有的電視機上體驗IPTV提供的各種服務。相較于普通機頂盒,IPTV機頂盒在顯示系統具有以下幾個突出優勢:
(1)在不同的網絡帶寬環境下,家庭用戶可以獲得不同質量的多媒體功能服務。例如:家庭中接入了光纖網絡寬帶,用戶能夠獲取到高質量、高清晰度的視頻服務。
(2)隨著互聯網技術在全球范圍內的普及應用,用戶可以通過IPTV獲取到更多的網絡資源,用戶的選擇范圍得到了進一步拓展。
(3)IPTV的明顯特征決定了其具有較強的交互性、實時性,不但可以為用戶提供個性化的視頻服務,還能夠實現電子郵件接收、在線購物、在線游戲等多種功能。
目前,網絡寬帶已經進入了高速發展的階段,網絡寬帶用戶數量的持續增多,促進了網絡寬帶在各個領域的普及應用。在網絡寬帶產業化發展的進程中,多媒體技術應運而生。現代信息社會背景下,數字媒體服務成為了新型的產業,在人們生活、工作和學習中有著不可忽視的重要位置。隨著光纖寬帶網絡建設的推進,怎樣能夠在高質量、高速度網絡帶寬環境下開發設計出針對性較強的應用業務,成為了IPTV發展中的核心任務,更凸顯了“三網融合”背景下的重要意義。
2.常見的多媒體播放器軟件架構
多媒體指的是視音頻技術與計算機技術的結合產物。一般情況下,多媒體播放系統包括四個重要組成部分:以處理器為核心的硬件系統、實時操作系統、業務應用以及相關處理程序。由于多媒體播放系統的通用性較強,可以實現多種集合各種功能與一體的開源流媒體播放器。
2.1 VLC播放器架構
VLC流媒體播放器是后期開發的播放器,其架構設計在最初就充分考慮到模塊化功能的重要性,成為了發展速度最快的流媒體播放器架構模式。VLC流媒體播放器的特征使其版本得到了不斷的更新和升級,集成了多種開源代碼版本。因此,VLC流媒體播放器的地位不可忽視,其開發設計的借鑒意義在流媒體播放器構建中具有關鍵作用。
2.2 通用播放器架構
流媒體播放器在播放網絡媒體資源和本地媒體資源時,都需要獲取媒體數據,當流媒體播放器完成視音頻解碼后,再將媒體數據顯示給用戶。在流媒體播放器實際開發設計中,可以將其分為獲取媒體數據的通信模塊,解碼視音頻的緩存/解碼模塊,以及用戶顯示控制模塊。
3.流媒體播放器軟件設計
按照本文提出的數字機頂盒流媒體播放器設計目標,其軟件架構設計必須充分滿足可擴展性和可移植性,整個數字機頂盒系統的設計要采用分層設計思想,實現JAVA代碼與C/C++代碼的調用操作。
3.1 JAVA代碼層
JAVA代碼層通過功能強大的Android界面空間看實現對流媒體播放器的交互控制。以APK應用方式,將全部功能集成于Android平臺中,以確保實現流媒體播放器系統的獨立性。同時,JAVA代碼層還能夠實現播放控制、用戶認證、網絡資源分配和瀏覽器交互等多種功能。Android庫能夠調用不同標準的類庫,進而降低系統開發和設計的難度。例如,可以直接對Android瀏覽器進行調用,定制和對接開源瀏覽器,以其靈活的擴展性來適應不同服務器的功能需求。對流媒體播放器的邏輯關系進行抽象化處理,進一步細化功能內容,負責提供完整的各種應用接口,加載不同的C/C++動態庫,以實現跨平臺系統功能。
3.2 C/C++代碼層
C/C++代碼層負責實現流媒體播放器的核心功能,以及一系列流媒體傳輸協議,實現解碼器和數據處理平臺之間的調用關系。C/C++代碼執行具有較高性能,可以消耗過多的系統資源。IPTV系統包含了各種各樣的功能模塊,其結構十分復雜,但流媒體播放器功能模塊始終是其核心部分。
4.流媒體播放模塊設計
(1)初始化模塊
初始化模塊負責實現部分參數的初始化,同時完成一些糾錯處理任務。
(2)消息處理機制
消息處理機制采用專門線程對流媒體播放器的功能狀態進行控制,能夠以管道方式存儲消息,消息處理模式采用的是先進先出方案。最終以回調的方式將消息類型和消息狀態反饋到上層應用。
(3)預處理流媒體數據
對于傳來的流媒體數據來說,數據形態在不同環境下也不盡相同。預處理流媒體數據模塊針對TS數據流進行同步處理,再將其傳送到緩沖區中。
(4)流媒體數據解碼處理
TCP/UDP數據處理依靠socket連接實現,同時,根據不同的網絡傳輸協議,可以講接收到的數據基于RTSP模塊進行分析,將消息控制命令分離出來,傳送到預處理流媒體數據功能模塊中,最后將處理完成后的數據劃分為大小固定的數據包,再注入到解碼器中。
(5)RTSP模塊
RTSP模塊屬于一個功能獨立的模塊,負責實現系統中全部RTSP協議。
5.結論
目前,互聯網寬帶業務正在日新月異的蓬勃發展。IPTV以數據網為載體開展以傳統媒體業務為主的服務。真正的實現了傳播者與收視者的良性有效互動,并能夠根據用戶選擇來配置各種多媒體服務,將傳統的數字電視網、IP通訊網、以及數據互聯網三者有機的結合捆綁,真正的實現“三網融合”。作為呈現廣電業務和數據業務的載體的IPTV,隨著市場前景的日趨明朗,必將迎來廣闊發展的黃金時機。綜上所述,隨著“三網融合”的進一步推進,從根本上解決了電信運營商對增值業務的壟斷問題,引入了雙向傳輸機制,促進了網絡運營商、電信運營商和有線電視運營商的可持續發展。IPTV利用網絡寬帶成為了各大運營商競爭發展中的核心業務,為IPTV產業的戰略發展創造了有利契機。
參考文獻
[1]閔銳.基于FPGA的IPTV數字機頂盒設計與實現[J].有線電視技術,2014,02:43-46.
[2]劉迪菲,金立標.基于交互機頂盒的無線數字家庭網絡應用探討[J].電視技術,2014,02:60-62.
作者簡介:屠恒海(1980—),男,中級工程師,研究方向:嵌入式硬件研發。