GStreamer作为一个开源的multimediaframework,在多媒体开发中被广泛应用。GStreamer无疑是一个美观的设计,但初学者往往觉得结构复杂,难以掌握。编译起来也很麻烦:)
本文列出了编译和配置GStreamer的主要步骤,给需要的人提供一个参考。
像其它的Linux开源项目一样,GStreamer也是采用包括autoconf,automake在内的GNU buildsystem来编译的。而且,GStreamer在编译和安装时还要依赖于其它的库,这些库至少包括:
pkg-config
GLib
libxml2
liboil
这些库都使用pkg-config来提供include路径和library路径等编译信息,而不是像很多开源项目一样在执行configure脚本的时候用CPPFLAGS/CFLAGS环境变量来指定。
这些库很容易通过google找到,一般以“*.tar.gz”或“*.tar.bz2”压缩文件的形式存在。使用tar命令解压:
tar xzf *.tar.gz
或
tar xjf *.tar.bz2
解压后一般会生成一个源文件目录,先面的命令都要进入到各个库的源文件目录内执行。
具体编译和安装步骤如下:
(1)确定各个库的安装路径。为描述方便,假设如下的安装路径:
pkg-config: /usr/local/install-pkg-config/
Glib: /usr/local/install-glib/
libxml2: /usr/local/install-libxml2/
liboil: /usr/local/install-liboil/
GStreamer Core: /usr/local/install-gstcore/
GStreamer Base Plugins: /usr/local/install-plugins-base/
(2)设置环境变量。下面的命令按bshell/bash的语法,cshell中应该用setenv。
export PATH=/usr/local/install-pkg-config/bin:$PATH
第一个命令是将pkg-config这个工具加入到PATH变量中,这样在执行configure脚本时就能够调到刚刚安装好的pkg-config。
第二个命令是设置pkg-config的搜索路径,在执行configure脚本时会调用pkg-config得到所依赖的头文件和库。
(3)编译和安装pkg-config。
./configure --prefix=/usr/local/install-pkg-config
执行configure脚本时用--prefix指定安装路径
(4)编译和安装GLib。
./configure --prefix=/usr/local/install-glib
(5)编译和安装libxml2。
./configure --prefix=/usr/local/install-libxml2
(6)编译和安装liboil。
./configure --prefix/usr/local/install-liboil
(7)编译和安装GStreamer Core。
./configure --prefix=/usr/local/install-gstcore
(8)编译和安装GStreamer Base Plugins。
./configure --prefix=/usr/local/install-plugins-base
(9)编译和安装GStreamer的其它plugins,包括gst-plugins-good,gst-plugins-bad等。可选。
与编译安装gst-plugins-base类似。
(10)设置运行环境。要运行GStreamer,需要设置GST_PLUGIN_PATH环境变量,指明GStreamerCore和Plugins的库路径。
exportGST_PLUGIN_PATH="=/usr/local/gst/install-gstcore/lib:=/usr/local/install-plugins-base/lib"
如果还安装了其它plugins,也要加到GST_PLUGIN_PATH路径里。
另外,如果已有的tool chain版本不够,还需要更新toolchain。常需要做的是安装新版本的autoconf和automake。tool chain的升级有时候是比较麻烦的事,略。
联系客服