XBMC软件技术构成分析
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工具。