Без QuickTime (или эквивалентной мультимедийной среды) то, что вы описываете, является довольно большой работой. Обычно вы используете алгоритм сжатия видео (например, H.264) для кодирования ваших изображений в видео, и алгоритм сжатия аудио (например, AAC) для кодирования вашей звуковой дорожки. Затем вы должны записать эти потоки в файл контейнера, такой как файл MPEG-4, который чередует потоки для воспроизведения, содержит метаданные и индексы и так далее. Затем для воспроизведения вы анализируете файл, декодируете видео и аудио данные и планируете их воспроизведение, стараясь обеспечить их синхронизацию.
QuickTime делает все это (и даже больше) для вас, и было бы огромной обязанностью написать все это самостоятельно. Есть ли какая-то причина, по которой вы работаете в OS X, но не можете использовать QuickTime?
Если вопрос помечен iPhone, почему вы не можете просто использовать QTKit?
Если бы вам пришлось делать это с нуля, вы могли бы принять очень простое решение, при котором вы сохраняете последовательность изображений в виде набора файлов JPEG (но тогда вам потребуется libjpeg
; используйте необработанные RGB или PPM, если необходимо) звуковая дорожка в виде необработанных данных WAV, а затем есть другой файл (определяемый вами текстовый файл), в котором хранится информация о синхронизации, так что вы можете просто вывести аудио и сохранить номера кадров изображений с соответствующим временным кодом / смещение образца. Это очень простое решение, которое можно заставить работать без особых усилий.
Если вы дадите нам больше идей о том, чего вы пытаетесь достичь, мы могли бы предложить более конкретные предложения.