Хорошо, вы сказали, что успешно скомпилировали FFMpeg для iPhone, верно? Как сказал mvds, вы не можете использовать их в качестве исполняемых файлов. Таким образом, чтобы использовать эти библиотеки после завершения компиляции, вам необходимо скопировать все .a библиотеки, сгенерированные в ваш проект (как при добавлении библиотек или других фреймворков). Эти библиотеки:
libavcodec.a
libavfilter.a
libavutil.a
libswscale.a
libavdevice.a
libavformat.a
libswresample.a
Тогда вы должны настроить свой проект
Кликните на свой проект -> Настройки сборки
Выполните поиск в разделе «Пути поиска в заголовке» и добавьте местоположение вашей библиотеки (местоположение может быть абсолютным или относительным).
Нажмите на этапах сборки -> Связать двоичные файлы с библиотеками -> Добавить другие и добавить все файлы .a
Вуаля! Теперь вы можете импортировать и использовать библиотеки FFmpeg для вашего проекта
#include <avcodec.h>
#include ...
// More C and/or Objective-C Code
Чтобы получить доступ к отдельным несжатым кадрам, вы можете использовать captureOutput: didOutputSampleBuffer: fromConnection: метод делегата из AVCaptureVideoDataOutput (есть множество примеров), и каким-то образом кодировать их в h264, возможно, используя AVFrame? Насколько я знаю, FFmpeg также может выполнять потоковую передачу с использованием RTSP для потоковой передачи в реальном времени, но, похоже, документация близка к нулю: (
Чтобы ответить на ваш последний вопрос
и самое главное, будет ли это работать так, как я хочу?
Ответ - да, это может работать, я нашел 2 библиотеки, которые делают именно то, что вы хотите достичь
http://www.foxitsolutions.com/iphone_h264_sdk.html
http://ios -rtmp-library.com
Оба используют FFmpeg так же, как вы предлагаете, этот вопрос немного устарел, но я нашел много пользователей, пытающихся достичь этого, поэтому у меня есть вопрос. У вас был успех в этом? Можете ли вы поделиться своим опытом или рекомендациями?