2014-10-20 3 views
1

Я искал способ использования аппаратного декодера в iOS8 в конвейере gstreamer.Gstreamer SDK с аппаратным декодером для iOS8

Я следовал ниже подхода:

1) загрузили пакет из http://gstreamer.freedesktop.org/data/pkg/ios/1.4.3/ и установлен в машине макинтоша [10.9.4]

2) Я удалось собрать образцы кода в Xcode , и я использовал следующие компоненты конвейера для декодирования пакетов RTP в пропаривающем канале.

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) Для того, чтобы проверить, если аппаратный декодер плагин внутри библиотеки, xplored немного на installaed Пакет:

Ниже представлен результат работы над otool Gstreamer Маха-O универсального двоичного файла с 3-архитектур.

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) Makefile.am из GST-плагинов-плохой-1.4.3/sys/applemedia имеет следующий код.

if HAVE_VIDEOTOOLBOX 
     libgstapplemedia_la_SOURCES += vtenc.c vtdec.c 
     libgstapplemedia_la_LDFLAGS += -Wl,-framework -Wl,VideoToolbox 
endif 

ВОПРОС:

1) Сказав выше понимание правильно [пожалуйста, поправьте меня, если я ошибаюсь], , где я могу получить библиотеку IOS GStreamer SDK с функциями аппаратного декодирования, которые может использоваться в iOS8.

2) Если нет, мы должны построить GStreamer SDK самостоятельно с помощью системы сборки Cerbero?

Какую еще особенность я должен знать?

ответ

2

Вам придётся дождаться выпуска 1.4.4 или создать собственную систему сборки cerbero. Либо из ветки 1.4, либо ведущей. Вы можете получить его здесь: http://cgit.freedesktop.org/gstreamer/cerbero/

Для создания самостоятельно вам понадобится SDK iOS8, в противном случае аппаратные декодеры/кодировщики не будут построены. Также в вашем приложении вам нужно будет добавить «-weak-framework VideoToolbox» к вашим флагам компоновщика рядом с другими фреймворками.

В версии 1.4.3 и ранее vtdec/vtenc был доступен только для OSX.