基于IntelPXA270平臺的嵌入式流媒體播放器設計
解碼格式的可擴展性
播放器支持的文件格式越多,其生命力也就越強大,PXA270 嵌入式處理器加上2700G 多媒體加速芯片的搭配方案為媒體播放提供了強大的硬件支持,通過軟件升級,理論上可以支持任何媒體格式。本方案的做法是:在播放器中實現一個索引表類,將來根據需要新添加的編碼格式作為獨立的類注冊到索引表中?;趌inux 的c++解碼類源代碼可以由網上開放源碼的解碼器網站下載,系統(tǒng)中的MP1,MP2,MP3 和WAV 的解碼就是采用這種方法實現的。
播放模塊實現
文件的輸入
在播放器系統(tǒng)中,文件的來源有兩種:由網卡讀入存儲器后播放或通過其它數據傳輸途徑寫入存儲器,在存儲器中直接播放。sophia 板提供了網卡的驅動模塊,可以使用命令modprobe usbcore 和modprobe usbwlnc動態(tài)加載,為數據從網卡經由操作系統(tǒng)到達播放進程提供一個全雙工的通道。數據的處理由播放器中的stream input 類來實現。
流媒體協議
實現流式傳輸有兩種方法:實時流式傳輸和順序流式傳輸,系統(tǒng)使用的是實時流式傳輸,需要標準化的流媒體協議來保證客戶機和專用的流媒體服務器之間進行通信。根據流媒體協議的功能可以分為兩類:
基本網絡協議
為媒體傳輸提供基本的網絡服務支持,由于TCP需要較多的開銷,不太適合傳輸實時數據。在流式傳輸的實現方案中,采用RTSP/TCP 來傳輸控制信息,而用RTP/UDP 來傳輸實時聲音、圖像數據。
傳輸協議
傳輸協議包括RTP、RTCP、RTSP 和RSVP,RTP和RTCP 控制端到端網絡數據的傳輸,RTSP 提供話路控制的功能,RSVP 是可選的,它為播放進程在網上預先申請一部分網絡資源( 即帶寬),能在一定程度上為流媒體在Internet 上的傳輸提供特殊服務質量QoS。為流媒體設計的協議棧如圖3 所示:從UDP/TCP層得到的數據包處理后得到打包的RTP 數據流,通過RTP/RTCP/RTSP 層分離出定時和同步信息以及包的序列號,將讀出的流文件交給ASF 和RM解碼模塊。
評論