Аппаратное ускорение декодирования h.264 в текстуру, наложение и т. п. в iOS

Возможно ли и поддерживается ли использование API декодирования h.264 с аппаратным ускорением iOS для декодирования локального (непотокового )видеофайла, а затем создания других объектов поверх него?

Я хотел бы сделать приложение, которое включает рисование графических объектов перед видео и использовать таймер воспроизведения для синхронизации того, что я рисую сверху, с тем, что воспроизводится на видео. Затем, в зависимости от действий пользователя, изменить то, что я рисую сверху (, но не видео )

. Исходя из DirectX, OpenGL и OpenGL ES для Android, я представляю что-то вроде рендеринга видео в текстуру и использования этой текстуры для рисования полноэкранного четырехугольника, а затем использования других спрайтов для рисования остальных объектов; или, может быть, написать промежуточный фильтр непосредственно перед средством визуализации, чтобы я мог манипулировать отдельными выходными кадрами и рисовать свои вещи; или, может быть, рисование на 2D-слое поверх видео.

Похоже, что AV Foundation или Core Media могут помочь мне делать то, что я делаю, но прежде чем углубляться в детали, я хотел бы знать, возможно ли вообще делать то, что я хочу делать., и каковы мои основные пути решения проблемы.

Пожалуйста, воздержитесь от ответов «это слишком сложно для вас, сначала попробуйте привет, мир». Я знаю свое дело и просто хочу знать, возможно ли то, что я хочу сделать (и, самое главное, поддерживается ли это, чтобы приложение не было в конечном итоге отклонено ), прежде чем я изучу детали самостоятельно.

редактировать:

Я не разбираюсь в iOS-разработке, но профессионально занимаюсь DirectX, OpenGL и OpenGL ES для Android. Я рассматриваю возможность создания iOS-версии приложения для Android, которое у меня есть в настоящее время,и я просто хочу знать, возможно ли это. Если да, то у меня достаточно времени, чтобы начать разработку iOS с нуля, вплоть до того, что я хочу делать. Если это невозможно, то я просто не буду тратить время на изучение всей платформы в это время.

Поэтому это вопрос технической осуществимости. Я не запрашиваю код. Я ищу ответы типа «Да, вы можете это сделать. Просто используйте A и B, используйте C для рендеринга в D и рисуйте свои материалы с помощью E» или «Нет, вы не можете. Декодирование с аппаратным ускорением недоступен для сторонних -приложений» (, как сказал мне друг ). Только это, и я буду в пути.

Я прочитал обзор видеотехнологий на странице 32 обзора технологий ios . Это в значительной степени говорит о том, что я могу использовать Media Player для самых простых функций воспроизведения (не то, что я ищу ), UIKit для встраивания видео с немного большим контролем над встраиванием, но не над фактическим воспроизведением (не то, что я ищу ), AVFoundation для большего контроля над воспроизведением (может быть, то, что мне нужно, но большинство ресурсов, которые я нахожу в Интернете, рассказывают о том, как использовать камеру ), или Core Media для иметь полный низкоуровневый -контроль над видео (возможно то, что мне нужно, но крайне плохо документировано , и еще больше не хватает ресурсов на воспроизведение, чем даже AVFoundation ).

Меня беспокоит то, что я могу посвятить следующие шесть месяцев изучению программирования для iOS на постоянной основе, но в конце концов обнаружу, что соответствующий API недоступен для сторонних разработчиков, а то, что я хочу сделать, неприемлемо для развертывания магазина iTunes. Это то, что сказал мне мой друг, но я не могу найти ничего подходящего в руководстве по разработке приложений. Поэтому я пришел сюда, чтобы спросить людей, у которых больше опыта в этой области, возможно ли то, что я хочу сделать. Больше не надо.

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

10
задан user1003819 18 May 2012 в 05:08
поделиться