Использование библиотеки FFMPEG с iPhone SDK для кодирования видео

Мне нужно закодировать несколько снимков, снятых камерой iphone, в видеофайл mp4, и я знаю, что FFMPEG может это сделать (приложения TimeLapser и ReelMoments уже делают это). Я планирую использовать это в своем приложении iMotion (доступно в магазине приложений).

Я успешно установил и скомпилировал ffmpeg для iphone SDK по этой ссылке: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-October/076618.html

Но теперь я застрял здесь, в моем проекте XCode. Что мне делать дальше, чтобы использовать библиотеку FFMPEG для кодирования видео? Документация Apple по использованию внешней библиотеки очень проста, и я могу найти в Интернете любое руководство, объясняющее, как это сделать.

Если кто-нибудь может мне помочь, я был бы очень признателен..

Спасибо

Аурелиен Потье

3 ответа

Проверьте проект iFrameExtractor на GitHub. Хотя это не совсем то, что вы ищете, у него есть скрипты для сборки библиотек ffmpeg, и проект xcode связывает библиотеки.

Еще немного информации в этом блоге:

http://www.codza.com/extracting-frames-from-movies-on-iphone

В меню "Проект" выберите "Изменить активную цель"[...].

Затем в разделе "Построение разделителя" убедитесь, что выбрана вся конфигурация, и выполните следующие действия:

  • найдите "Пути поиска заголовка" и укажите, где расположены заголовки FFmpeg;
  • найдите "Пути поиска в библиотеке" и укажите, где находятся скомпилированные статические двоичные файлы библиотеки (файлы.a).

Это должно сделать это, но есть еще один аккуратный трюк в последнем. Вы можете добавить условие сборки в "Пути поиска в библиотеке", чтобы компилятор использовал разные двоичные файлы для разных архитектур, т.е. вы можете без проблем компилировать как для симулятора, так и для устройства. Инструкция ниже.

  • Выбрав строку "Пути поиска в библиотеке", нажмите кнопку в левом нижнем углу того же окна и выберите "Добавить условие настройки сборки";
  • Где появляется "Any SDK", выберите "Any iPhone OS Simulator" и укажите путь к бинарным файлам x86 ffmpeg.
  • Повторите шаги, описанные выше, заменив "Любой симулятор iPhone OS" на "Любое устройство iPhone OS" и укажите двоичные файлы ARM ffmpeg.

Ниже приведен пример такого рода настроек сборки.

альтернативный текст

Другой вариант - использовать FFMPEG на сервере. Отправьте изображения на сервер и используйте PHP w/ ffmpeg для конвертации видео. При этом вам не придется беспокоиться о компиляции FFMPEG на устройстве. Просто мысль

Другие вопросы по тегам