J'ai besoin d'encoder plusieurs images tournées par la caméra iPhone dans un fichier vidéo MP4 et je sais que FFMPEG peut le faire (l'application TimLelapser et les réelmoments le font déjà). Je prévois d'utiliser cela dans mon application IMOTION (disponible dans l'AppStore). P>
J'ai installé et compiler avec succès le FFMPEG pour l'iPhone SDK avec ce lien: http://lists.mplayerhq.hu/pipemermail/ffmpeg- Devel / 2009-octobre / 076618.html P>
Mais maintenant je suis coincé ici dans mon projet Xcode. Que dois-je faire à côté d'utiliser la bibliothèque FFMPEG pour le codage vidéo? La documentation Apple sur la bibliothèque externe en utilisant est très légère et je viens de trouver tout didacticiel sur le Web, ce qui explique comment faire cela. P>
3 Réponses :
Dans le menu du projet, sélectionnez Modifier la cible active "[...]". P>
Ensuite, dans le séparateur de construction, assurez-vous de disposer de toutes les configurations sélectionnées et de faire ce qui suit: p>
Cela devrait le faire, mais il y a une plus grande trucoche dans ce dernier. Vous pouvez ajouter une condition de construction aux «chemins de recherche de bibliothèque» afin que le compilateur utilise différents binaires pour différentes architectures, c'est-à-dire que vous pouvez compiler de manière transparente pour le simulateur et pour le périphérique. Instruction ci-dessous. P>
ci-dessous est un exemple de ce type de paramètres de construction. P>
p>
Consultez le iframeExtractor projet sur github. Bien que ce ne soit pas exactement ce que vous recherchez, il a des scripts pour la construction des bibliothèques FFMPEG et le projet Xcode relie les bibliothèques. P>
Quelques informations supplémentaires dans ce blog Post: P>
http://www.codza.com/extracting-frames- de Films-On-iPhone p>
J'ai essayé de le faire fonctionner, mais quand je le fais ./build_universal the "Lipo" -instructions dans le fichier semble échouer et je me retrouve sans les fichiers * .a. Je reçois cette erreur: lipo: type d'architecture spécifié (ARMV6) pour fichier (armv6 / libavcodec.a) ne correspond pas à ce que ce soit CPPUTYPE (16777223) et CPUSUBTYPE (3) (doit être CPUPUTYPE (12) et CPUSUBTYPE (6) ) code> pour chacune des commandes de lipo
Pour résoudre ce problème, suivez ce fil Stackoverflow.com/questions/6994151 / ...
Une autre option serait d'utiliser FFMPEG sur un serveur. Envoyez les images sur le serveur et utilisez PHP W / FFMPEG pour convertir la vidéo. Avec cela, vous n'auriez pas à vous soucier de la compilation de FFMPEG sur l'appareil. Juste une pensée p>
Assurez-vous de vous conformer à la LGPL si vous utilisez FFMPEG.
De plus, si vous envisagez de soumettre votre candidature à l'App Store, sachez les implications juridiques du logiciel de vente utilisant FFMPEG. Il peut porter atteinte aux brevets de votre juridiction ( ffmpeg.org/legal.html ). Cela peut également avoir une incidence sur votre capacité à obtenir l'approbation de l'App Store.
Oui, vous devrez libérer votre code source ou votre code d'objet pour votre application afin de vous conformer à la LGPL lors de l'utilisation de FFMPEG en tant que bibliothèque statique: HUYZING.COM/2009/08/24/...
IOS prend déjà en charge le codage H.264 avec du matériel intégré via la classe Avaisetwriter. Voir Stackoverflow.com/Questions/2563212/create-Video -in-iphone / ...