首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >支持iOS8硬件解码器的Gstreamer

支持iOS8硬件解码器的Gstreamer
EN

Stack Overflow用户
提问于 2014-10-20 13:22:00
回答 1查看 928关注 0票数 2

我正在寻找一种使用iOS8中的硬件解码器的方法。

我遵循了以下方法:

1)从http://gstreamer.freedesktop.org/data/pkg/ios/1.4.3/下载软件包并安装在machine 10.9.4中

2)我成功地用Xcode编译了示例代码,并使用下面的管道组件来解码蒸通道中的RTP数据包。

代码语言:javascript
复制
udpsrc port=5000 ! application/x-rtp, clock-rate=90000, encoding-name=(string)H264, payload=96  ! rtph264depay ! vtdec! autovideosink sync=true

3)遗憾的是,无法找到vtdec或vtdec_h264组件。

4)为了检查库中是否有硬件解码器插件,在分期付款包上做了一些修改:

下面是基于Gstreamer O通用二进制文件的otool的输出,具有3种体系结构.

代码语言:javascript
复制
GStreamer(libgstapplemedia_a_armv7_-libgstapplemedia_la-corevideobuffer.o) (architecture armv7):
GStreamer(libgstapplemedia_a_armv7_-libgstapplemedia_la-atdec.o) (architecture armv7):
GStreamer(libgstapplemedia_a_armv7_-libgstapplemedia_la-plugin.o) (architecture armv7):
GStreamer(libgstapplemedia_a_armv7_-libgstapplemedia_la-vtutil.o) (architecture armv7):
GStreamer(libgstapplemedia_a_armv7_-libgstapplemedia_la-coremediabuffer.o) (architecture armv7):
GStreamer(libgstapplemedia_a_armv7_-libgstapplemedia_la-dynapi.o) (architecture armv7):
GStreamer(libgstapplemedia_a_armv7_-libgstapplemedia_la-vtapi.o) (architecture armv7):
GStreamer(libgstapplemedia_a_armv7_-libgstapplemedia_la-iosassetsrc.o) (architecture armv7):
GStreamer(libgstapplemedia_a_armv7_-libgstapplemedia_la-avfvideosrc.o) (architecture armv7):
GStreamer(libgstapplemedia_a_armv7_-libgstapplemedia_la-avfassetsrc.o) (architecture armv7):
GStreamer(libgstapplemedia_a_armv7_-libgstapplemedia_la-coremediactx.o) (architecture armv7):

发现:

1)以上所述不包括libgstapplemedia_la-vtdec.o。

2) gst Makefile.am -1.4.3/sys/applemedia有以下代码。

代码语言:javascript
复制
if HAVE_VIDEOTOOLBOX
      libgstapplemedia_la_SOURCES +=  vtenc.c  vtdec.c
      libgstapplemedia_la_LDFLAGS += -Wl,-framework -Wl,VideoToolbox
endif

问题:

1)以上理解是正确的,如果我错了,请纠正我,在哪里可以得到具有硬件解码功能的iOS GStreamer SDK库,可以在iOS8中使用。

2)如果没有,我们是否必须在Cerbero构建系统的帮助下自己构建GStreamer SDK?

我还需要注意什么怪癖?

EN

回答 1

Stack Overflow用户

发布于 2014-10-20 13:42:35

您将不得不等待1.4.4版本,或者使用cerbero构建系统构建自己。无论是从1.4或主分支。你可以在这里找到它:http://cgit.freedesktop.org/gstreamer/cerbero/

为了自己构建自己,您将需要iOS8 SDK,否则硬件解码器/编码器就不会生成。在您的应用程序中,您还必须在其他框架旁边的链接器标志中添加“-弱框架VideoToolbox”。

在1.4.3和之前,vtdec/vtenc只提供给OSX。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26466734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档