Sprzętowo przyspieszone dekodowanie h.264 na tekstury, nakładki lub podobne w systemie iOS

Czy jest możliwe i obsługiwane korzystanie z interfejsu API dekodowania h.264 z akceleracją sprzętową iOS w celu dekodowania lokalnego pliku wideo (nie przesyłanego strumieniowo), a następnie tworzenia innych obiektów?

Chciałbym stworzyć aplikację, która polega na rysowaniu obiektów graficznych przed wideo i używaniu timera odtwarzania do synchronizacji tego, co rysuję na górze, z tym, co jest odtwarzane na wideo. Następnie, w oparciu o działania użytkownika, zmień to, co rysuję na górze (ale nie wideo)

Pochodzący z DirectX, OpenGL i OpenGL ES dla Androida, wyobrażam sobie coś takiego jak renderowanie wideo do tekstury i używanie tej tekstury do narysowania pełnoekranowego quada, a następnie użycie innych ikonek do rysowania reszty obiektów; lub może napisanie filtru pośredniego tuż przed renderowaniem, dzięki czemu mogę manipulować poszczególnymi ramkami wyjściowymi i rysować moje rzeczy; a może rysowanie do warstwy 2D na górze wideo.

Wydaje się, że to AV Foundation lub Core Mediamoże pomóż mi robić to, co robię, ale zanim zagłębię się w szczegóły, chciałbym wiedzieć, czy jest w ogóle możliwe, aby zrobić to, co chcę i jakie są moje główne drogi podejścia do problemu.

Proszę powstrzymać się od odpowiedzi „to jest dla ciebie zbyt zaawansowane, spróbuj najpierw przywitaj świat”. Znam swoje rzeczy i chcę wiedzieć, czy to, co chcę zrobić, jest możliwe (i co najważniejsze, obsługiwane, więc aplikacja nie zostanie ostatecznie odrzucona), zanim sam przestudiuję szczegóły.

edytować:

Nie znam się na rozwoju iOS, ale profesjonalnie wykonuję DirectX, OpenGL i OpenGL ES dla Androida. Zastanawiam się nad stworzeniem wersji Androida aplikacji na system iOS, którą obecnie mam, i chcę tylko wiedzieć, czy jest to możliwe. Jeśli tak, mam wystarczająco dużo czasu, aby rozpocząć tworzenie systemu iOS od podstaw, aż do zrobienia tego, co chcę zrobić. Jeśli nie jest to możliwe, to po prostu nie zainwestuję teraz czasu na studiowanie całej platformy.

Dlatego jest to pytanie techniczne wykonalności. Nie żądam kodu. Szukam odpowiedzi typu „Tak, możesz to zrobić. Po prostu użyj A i B, użyj C, aby renderować na D i narysuj swoje rzeczy za pomocą E”, lub „Nie, nie możesz. niedostępne dla aplikacji innych firm ”(co powiedział mi znajomy). Tylko to i będę w drodze.

Przeczytałem przegląd technologii wideo na stronie 32przegląd technologii ios. Mówi się, że mogę używać Media Playera do najprostszej funkcji odtwarzania (nie tego, czego szukam), UIKit do osadzania filmów wideo z nieco większą kontrolą nad osadzaniem, ale nie do rzeczywistego odtwarzania (nie tego, co ja m szukam), AVFoundation dla większej kontroli nad odtwarzaniem (być może tego, czego potrzebuję, ale większość zasobów, które znajduję online, mówią o tym, jak korzystać z aparatu), lub Core Media, aby mieć pełną kontrolę nad wideo na niskim poziomie (prawdopodobnie co ja potrzeba, alebardzo źle udokumentowane, a jeszcze bardziej brakuje zasobów podczas odtwarzania niż nawet AVFoundation).

Obawiam się, że mogę poświęcić następne sześć miesięcy na naukę programowania na iOS w pełnym wymiarze godzin, tylko po to, aby znaleźć na końcu, że odpowiedni interfejs API nie jest dostępny dla programistów zewnętrznych, a to, co chcę zrobić, jest nie do przyjęcia w przypadku wdrażania sklepu iTunes. Oto, co powiedział mi mój przyjaciel, ale nie wydaje mi się, aby znaleźć wskazówki dotyczące rozwoju aplikacji. Dlatego przyjechałem tutaj, aby zapytać ludzi, którzy mają większe doświadczenie w tej dziedzinie, czy to, co chcę zrobić, jest możliwe. Już nie.

Uważam to za ważne pytanie na wysokim poziomie, które może być źle zrozumiane jako pytanie „nie robię mojej pracy domowej-plz-daj-me-teh-codez”. Jeśli mój osąd był tutaj błędny, nie krępuj się, aby usunąć lub zignorować to pytanie do pogardy twojego serca.

questionAnswers(1)

yourAnswerToTheQuestion