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

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

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

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

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

Спасибо

Aurelien Potier

Ответ 1

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

Дополнительная информация в этом сообщении в блоге:

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

Ответ 2

В меню "Проект" выберите "Редактировать активный объект" [...] ".

Затем в разделителе Build убедитесь, что вы выбрали All Configuration и выполните следующие действия:

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

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

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

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

alt text

Ответ 3

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