Ricorda che anche se un progetto è GPL, ciò non significa che non puoi contattare l'autore su un'opzione LGPL sul codice sottostante.
Una possibile rotolo la propria soluzione sarebbe quella di utilizzare OpenGL come superficie compositing per il video e ottenere un dietro la biblioteca quinte come ffmpeg, se è necessario elaborare tipi di video specifici.
NeHe ha un esempio di rendere AVI a OpenGL: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=35
FFMpeg è stato recentemente portato su iPhone ed è un prodotto a base di LGPL: http://geek.thinkunique.org/2008/03/05/ffmpeg-on-the-iphone/
(Nota: C'è un certo dibattito circa l'uso commerciale di LGPL su iPhone perché la licenza fa riferimento alla frase "dinamico" quando si fa riferimento al linkage della libreria, che iPhone non consente. Non ho visto alcun team di progetto bloccare il proprio codice utilizzato su iPhone in modo statico, ma è necessario contattare direttamente gli autori per chiarimenti.)
Un'altra versione (anche se GPL) di un riproduttore video OpenGL è: http://code.google.com/p/glover/
Cosa si ottiene attraverso una soluzione come questa è fondamentalmente un bypass sui dettagli tecnici specifici di iPhone/Mac/CALayer e sfruttando una base di conoscenza video esistente attraverso OpenGL che, sebbene non esteso, è ancora ampiamente supportato.
Se si ha a che fare con uno stile video specifico, è possibile vedere se una libreria è disponibile per il formato video specifico direttamente dal fornitore invece di utilizzare uno strumento multifunzione come FFMpeg. Una volta che il compositing funziona, il video può provenire dalla maggior parte delle librerie.
Barney
fonte
2009-11-17 23:35:36
Non supporto in alcun modo MPMoviePlayerController, ma ha una proprietà per "initialPlaybackTime". A seconda delle esigenze, questo combinato con le notifiche Play/Finished e un timer/thread può fornire un certo livello di controllo aggiuntivo. Non è carino però! :) –