2016-05-25 1 views
2

Я планирую создать новое приложение для личного использования на моем Mac, которое использует библиотеку FFMPEG, для хранения фида с IP-камеры RTSP.Использование ffmpeg для OSX Xcode Project для Mac

После этого official installation procedure from FFMPEG у меня удалось успешно решить следующие 2 шага:

Чтобы получить FFmpeg для OS X, вы должны сначала установить Homebrew. Если вы не хотите использовать Homebrew, см. Раздел ниже.

Тогда:
- заварить установки Automake ФОК-ААС мерзавец хромого libass Libtool libvorbis libvpx \ опус SDL shtool texi2html theora wget x264 xvid yasm

Вопрос: Мой вопрос h потому что я смущен, это как импортировать библиотеку в Xcode, поэтому я могу использовать ее в приложении, которое я собираюсь построить для своего Mac. Я вижу множество проектов GitHub, связанных с FFMPEG с IOS/Android, но для OSX их нет.

Всех команд FFMPEG под терминалом работает нормально, такие как преобразование видео и т.д.

ответ

1

В общем, вам нужно настроить параметры целевой сборки Xcode, чтобы добавить /usr/local/include к Header Search Path.

Тогда ваш #include <ffmpeg.h> (или как его зовут) начнет работать.

Тогда для подключения к libffmpeg.a (или как там это называется), вы можете сделать одну из двух вещей:

  1. Добавить файл в дополнительных библиотек и фреймворков настроек сборки (выбирающих его через диалог открытия файла).
  2. Добавить /usr/local/lib в Библиотека Пути поиска и -lffmpeg к Другие Флаги Linker.

(1. лучше, если вы спросите меня).

Я использую MacPorts, так что для меня пути являются /opt/local/{include,lib} однако с Homebrew там может быть дополнительный уровень каталога (например, /usr/local/ffmpeg/{include,lib}, но вы должны быть в состоянии работать, что из себя.

Я не пойду в подробности о том, как на самом деле использовать FFMPEG как то слишком вовлечен (и я ничего не знаю об этом).

1

Если вы посмотрите в /usr/local/Cellar/ffmpeg вы найдете фактический ffmpeg пакет и все, что в homebrew всего символические ссылки на это.Например:

/usr/local/bin/ffmpeg -> ../Cellar/ffmpeg/3.0.2/bin/ffmpeg 

Теперь, если вы остаетесь в этом каталоге и сделать это, вы найдете все параметры конфигурации pkgconfig для составных частей ffmpeg:

find . -name \*.pc 

./lib/pkgconfig/libavcodec.pc 
./lib/pkgconfig/libavdevice.pc 
./lib/pkgconfig/libavfilter.pc 
./lib/pkgconfig/libavformat.pc 
./lib/pkgconfig/libavresample.pc 
./lib/pkgconfig/libavutil.pc 
./lib/pkgconfig/libpostproc.pc 
./lib/pkgconfig/libswresample.pc 
./lib/pkgconfig/libswscale.pc 

Это означает, что теперь вы можете найти путь include и library пути, которые необходимо установить в настройках Xcode. Так, например, если вы хотите includes для libavutil, вы можете сделать:

pkg-config --cflags libavutil 

и он скажет вам:

-I/usr/local/Cellar/ffmpeg/3.0.2/include 

Если вы хотите library параметры libavfilter, вы можете сделать:

pkg-config --libs libavfilter 

и он расскажет вам

-L/usr/local/Cellar/ffmpeg/3.0.2/lib -lavfilter 

Так вы получите настройки для компилятора/компоновщика. Затем вам нужно поместить их в Xcode, и я описал, что here - посмотрите на бит с желтыми, красными и синими квадратами.

Надеюсь, что это поможет. Ах, вам нужно сделать:

brew install pkg-config 

первым, чтобы получить pkgconfig двоичную.

+0

Вы не должны запускать что-либо под '/ usr/local/Cellar' ** напрямую ** - вот почему все символически связано с'/usr/local/bin' с Cellar. Общая идея заключается в том, что вы должны использовать двоичные файлы в '/ usr/local/bin', установив PATH для включения этого каталога. –

+0

привет там, удалось решить это. Я нахожусь в точке, где мне нужно скомпилировать мою библиотеку ffmpeg с помощью инструмента командной строки XCode. Это команда, используемая для процесса opencv-g ++ $ (pkg-config -cflags -libs opencv) process.cpp -o. Можете ли вы привести мне пример, который мне нужно добавить в терминал для библиотеки FFMPEG? – cmario

+0

Теперь я смущен - из вашего вопроса я понял, что вы хотите использовать Xcode. Xcode - это графический инструмент, а не командная строка, поэтому я связался с другим сообщением об установках в графическом интерфейсе Xcode. И 'clang/clang ++' - это компилятор Apple Xcode, а не 'gcc/g ++', который является GNU. –

Смежные вопросы