天天看點

XBMC軟體技術構成分析

版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/4709296

XBMC軟體技術構成分析

XBMC是一個跨平台的媒體娛樂中心軟體,它可以播放音視訊、浏覽圖檔、檢視天氣、管理存儲器上的媒體資源檔案、系統設定、支援遊戲搖桿等功能。

XBMC最大的特點是界面超炫、人機互動效果相當出色。

截圖1

XBMC的技術構成:

1)XBMC在圖形化方面采用了X11庫來建構界面

注:X11指X Window系統版本11,是一個對網絡透明的客戶/伺服器架構的圖形顯示系統,它支援應用程式在你的螢幕上繪制象素,線條,文字,圖象等等。 X11還包括一些其它的輔助的函數庫,使得它可以容易地繪制使用者界面,例如:按鈕,文本輸入區等等。X11 是 Unix 事實上的圖形系統标準。 Linux,各種 BSD 版本和多數的商用 Unix 都采用它。類似 CDE,KDE 和 GNOME 等桌面環境都運作在它之上。

截圖2

2)XBMC使用了OpenGL渲染

XBMC使用了OpenGL的渲染庫,來完成很多特效效果。

3)XBMC使用了VDPAU解碼庫

VDPAU (Video Decode and Presentation API for Unix)是一種由NVIDIA開發的針對其G9x以及更高系列GPU,在UNIX和類UNIX系統下的API(包括 Linux、FreeBSD和Solaris)。 VDPAU 可以将視訊播放器的視訊解碼交由 GPU 進行硬解碼。 目前VDPAU可處理的格式有MPEG-1、MPEG-2、MPEG-4 AVC(H.264)、VC-1和WMV3/WMV9。

4)XBMC使用了GNU gprof庫

GNU gprof庫實作軟體的個性化定制。

5)XBMC使用了RandR庫

RandR庫提供了螢幕分辨率、重新整理率的自動适應能力。

6)XBMC使用了PulseAudio、FAAC、MID庫

處理音頻方面的庫。

7)XBMC使用了DVDCSS庫

DVD防拷貝方面的庫。

8)XBMC采用了SQLite資料庫

SQLite是一個輕量級的嵌入式資料庫,XBMC使用它來儲存本地資料,比如定制化的資訊等。

9)還有很多處理圖像、視訊方面的庫

...

總體來說,XBMC在設計上使用C++/C程式設計,利用了多種開源庫以及OpenGL渲染,在背景的配置資料方面則利用SQLite資料庫來儲存資訊。XBMC首先在Linux/Unix上開發完成,為移植到Windows平台則使用了VISUAL STUDIO 2003和VISUAL STUDIO 2008開發工具,為移植到MacOS則使用了XCode工具。