1. 背景介绍
GStreamer是目前比较热火的创建流媒体应用程序的框架,建立在GObject的基础上。其基本设计思想来自于俄勒冈(Oregon)研究生院有关视频管道的创意,同时也借鉴了DirectShow的设计思想。
2. 下载SDK
GStreamer目前版本发展非常迅速,已经到达了1.2,但提供下载的编译好的SDK还是0.10版本的。
本文提供的是已经编译好可以直接在iOS上使用的framework,位于http://cdn.gstreamer.com/ios/gstreamer-sdk-devel-2013.6-ios-universal.dmg
该版本最小需要使用iOS6.0,使用xCode4来开发。
3. 安装
安装实际上很方便,和其他软件的安装没什么区别。
不过dmg里面除了一个pkg的安装包之外还有一个tutorial的目录,里面是一些学习的例子。
这里有个挺奇怪的,在选择路径时,我只能选择“仅为我安装”项,其余项都不能选中。如下图所示,有知道原因的兄弟姐妹请点拨一下
4. Tutorial
在安装之后,在xCode里面会自动生成一批Template,都带着GStreamer的字样。这样当用户选中某个template时,GStreamer自动完成一些嵌入的工作。
不过这个时候你直接编译tutorial会编译不过,错误提示如下:
ld:warning: could not create compact unwind for .LFB3: non-standard register 5being saved in prolog
Undefinedsymbols for architecture i386:
"_iconv", referenced from:
__nl_find_msg inGStreamer(libintl_a_i386_-dcigettext.o)
(maybe you meant: _iconv_canonicalize,_g_convert_with_iconv , _g_iconv_close , _g_iconv , _g_iconv_open )
"_iconv_open", referenced from:
__nl_find_msg inGStreamer(libintl_a_i386_-dcigettext.o)
(maybe you meant: _g_iconv_open)
ld:symbol(s) not found for architecture i386
clang:error: linker command failed with exit code 1 (use -v to see invocation)
这些错误并非是GStreamer配置不正确,而是需要增加libiconv.dylib这个库,增加之后就可以正常编译运行了。(这个小错误当时也卡了我将近半天,一直以为是配置问题)
原文链接:http://blog.csdn.net/sakulafly/article/details/17503251