Схема для воспроизведения видеофайла в собственном контейнере в формате Mac OS X - PullRequest
1 голос
/ 30 сентября 2010

Я планирую написать приложение (C / C ++ / Objective-C), которое будет воспроизводить медиа-файлы в собственном (приватном) формате контейнера.Файлы будут содержать: несколько видеопотоков, закодированных видеокодеком (предполагается, что в системе присутствуют компоненты, способные декодировать форматы видео), такие как XVid или H264;несколько аудиопотоков в некоторых сжатых форматах (предполагается, что декодирование будет выполняться системным компонентом или собственным кодом).

Итак, кажется, необходимо реализовать следующую схему:

1) Реализовать демультиплексор контейнера (может быть в форме компонента обработчика мультимедиа).

2) Передать видеокадры в компонент видеодекодера и смешать распакованные кадры (используя некоторые собственные правила).

3) Передача аудиоданных в компонент аудиодекодера или распаковка аудио по собственному коду и смешивание декодированных аудиоданных.

4) Рендеринг видеокадров в окно.

5) Передайте аудиоданные на выбранную аудиоплату.

Может ли кто-нибудь дать советы по любому из вышеперечисленных этапов, а именно: наборы инструментов, которые я должен использовать;полезные образцы;могут быть названия функций, которые будут использоваться;могут быть улучшения в схеме, ....

1 Ответ

0 голосов
/ 21 марта 2012

Я знаю, что уже довольно поздно, поэтому вам это может больше не понадобиться, но я просто хотел упомянуть, что правильный способ сделать это - написать компонент QuickTime.Хотя это довольно старая школа, Apple использует ее для поддержки новых форматов и кодеков.

Посмотрите на проект Perian как на точку ориентации.

Наилучшее

...