Hardware-beschleunigte h.264-Dekodierung in Textur, Overlay oder ähnliches unter iOS

Ist es möglich und wird dies unterstützt, die hardwarebeschleunigte h.264-Dekodierungs-API von iOS zu verwenden, um eine lokale (nicht gestreamte) Videodatei zu dekodieren und dann andere Objekte darauf zu erstellen?

Ich möchte eine Anwendung erstellen, in der grafische Objekte vor einem Video gezeichnet werden, und mit dem Wiedergabe-Timer synchronisieren, was ich oben zeichne und was im Video abgespielt wird. Ändern Sie dann basierend auf den Aktionen des Benutzers, was ich oben zeichne (aber nicht das Video).

Ich komme von DirectX, OpenGL und OpenGL ES für Android und stelle mir vor, wie ich das Video als Textur rendere und diese Textur zum Zeichnen eines Quad-Bildschirms und dann zum Zeichnen der restlichen Objekte mit anderen Sprites verwende. oder vielleicht schreibe ich einen Zwischenfilter kurz vor dem Renderer, damit ich die einzelnen Ausgaberahmen manipulieren und meine Sachen zeichnen kann; Oder zeichnen Sie auf eine 2D-Ebene über dem Video.

Es scheint wie AV Foundation oder Core Mediakann hilf mir, das zu tun, was ich tue, aber bevor ich mich mit den Details befasse, möchte ich wissen, ob es überhaupt möglich ist, das zu tun, was ich tun möchte, und was meine wichtigsten Wege sind, um das Problem anzugehen.

Bitte unterlassen Sie die Antworten "Dies ist zu fortgeschritten für Sie, versuchen Sie Hallo Weltneuheit". Ich kenne mich aus und möchte nur wissen, ob das, was ich tun möchte, möglich ist (und vor allem unterstützt wird, damit die App letztendlich nicht abgelehnt wird), bevor ich die Details selbst studiere.

bearbeiten:

Ich kenne mich in der iOS-Entwicklung nicht aus, mache aber professionell DirectX, OpenGL und OpenGL ES für Android. Ich überlege, eine iOS-Version einer Android-Anwendung zu erstellen, die ich derzeit habe, und möchte nur wissen, ob dies möglich ist. In diesem Fall habe ich genügend Zeit, um die iOS-Entwicklung von Grund auf zu beginnen und das zu tun, was ich tun möchte. Wenn es nicht möglich ist, werde ich zu diesem Zeitpunkt keine Zeit investieren, um die gesamte Plattform zu studieren.

Daher ist dies eine technische Machbarkeitsfrage. Ich fordere keinen Code an. Ich suche nach Antworten vom Typ "Ja, das können Sie tun. Verwenden Sie einfach A und B, verwenden Sie C, um in D zu rendern und Ihre Sachen mit E zu zeichnen" oder "Nein, das können Sie nicht. Die hardwarebeschleunigte Dekodierung ist nicht für Anwendungen von Drittanbietern verfügbar "(das hat mir ein Freund gesagt). Nur das, und ich werde auf dem Weg sein.

Ich habe die Übersicht zu den Videotechnologien auf Seite 32 derios Technologieübersicht. Es heißt so ziemlich, dass ich Media Player für die einfachste Wiedergabefunktion verwenden kann (nicht das, wonach ich suche), UIKit für das Einbetten von Videos mit etwas mehr Kontrolle über das Einbetten, aber nicht über die tatsächliche Wiedergabe (nicht das, wonach ich suche). m auf der Suche nach), AVFoundation für mehr Kontrolle über die Wiedergabe (vielleicht was ich brauche, aber die meisten Ressourcen, die ich online finde, sprechen über die Verwendung der Kamera) oder Core Media für volle Kontrolle auf niedriger Ebene über Video (wahrscheinlich was ich brauchen, aberextrem schlecht dokumentiertund es mangelt noch mehr an Ressourcen bei der Wiedergabe als bei AVFoundation.

Ich mache mir Sorgen, dass ich in den nächsten sechs Monaten das Programmieren mit iOS in Vollzeit erlernen und feststellen muss, dass die relevante API nicht für Entwickler von Drittanbietern verfügbar ist. Was ich tun möchte, ist für die Bereitstellung im iTunes Store inakzeptabel. Das hat mir mein Freund gesagt, aber ich kann anscheinend nichts Relevantes in den Richtlinien für die App-Entwicklung finden. Deshalb bin ich hergekommen, um Leute, die mehr Erfahrung auf diesem Gebiet haben, zu fragen, ob das, was ich tun möchte, möglich ist oder nicht. Nicht mehr.

Ich betrachte dies als eine gültige Frage auf hoher Ebene, die als eine Frage missverstanden werden kann, die ich nicht für meine Hausaufgaben gemacht habe. Wenn mein Urteil hier falsch war, können Sie diese Frage löschen oder zur Verachtung Ihres Herzens ablehnen.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage