FFMPEG-integration auf dem iphone/ ipad Projekt
Kann Einer mir Sagen wie integriere ich FFMPEG in meinem iphone - /ipad-Projekt.ich m mit Xcode 4.
ich suchte eine Menge, aber fand keine nützlichen Link .bitte sagen Sie mir Schritt für Schritt Vorgehensweise zur Integration von FFMpeg in meinem Projekt.
Dank,
- wieder diese sehr alte Frage ist, schauen Sie auf Kewlbear ist überragend, genial Skript: github.com/kewlbear/FFmpeg-iOS-build-script
Du musst angemeldet sein, um einen Kommentar abzugeben.
Voraussetzungen
MacPorts zu installieren:öffnen Sie das terminal und geben Sie
Starten Sie das Terminal und laden Sie die FFmpeg-source -
Den Speicherort des Verzeichnisses ist bis zu Ihrer persönlichen Präferenz, und ich wählte, um es zu speichern in einer ffmpeg-Ordner in meinem Home-Ordner für den einfachen Zugriff später.
Bevor wir weiter gehen, wir müssen an die Zukunft denken und erkennen, dass wir wahrscheinlich einige-simulation auf dem Mac selbst zusammen mit den aktuellen Tests auf dem iPhone. Was wir tun müssen, ist, dass wir brauchen, um zu bauen Bibliotheken für 3 Architekturen: armv7 (iPhone 3Gs oder neuer), armv7s (iPhone 5) und i386 (iPhone-Simulator).
Lassen Sie uns einige Ordner in den ffmpeg Ordner zu halten 3 verschiedene builds, so dass wir lipo diejenigen, die zusammen in ein universal build.
Zu Installieren, gas-preprocessor
Konfigurieren FFmpeg für armv7 bauen
Sich vor der Konfiguration,
Lesen Sie die detaillierten Optionen durch geht in den ffmpeg Ordner, und geben Sie:
Liste von Optionen für Ihre Referenz: FFmpeg-Optionen Konfigurieren. Das "Komponenten-Optionen" wird bis zu Ihnen, je nachdem, was Sie tun möchten, mit FFmpeg.
Führen Sie nun die folgenden Optionen konfigurieren:
Erhalten Sie möglicherweise eine Warnung wie:
Keine sorgen. Sie sollten in Ordnung sein, um weiter zu den nächsten Schritten.
Bauen FFmpeg für armv7
Führen Sie die build-Befehle:
Nun sollten Sie in der Lage, um zu sehen, Dateien aufgefüllt werden innerhalb der ffmpeg/armv7 Ordner. Nun kommen wir auf den Bau für armv7s für das iPhone 5.
Konfigurieren und Installieren FFmpeg für armv7s-Architektur (iPhone 5)
Dann bauen Sie mit:
Konfigurieren FFmpeg für i386 build
Bitte beachten Sie die Letzte --disable-asm tag. Wenn Sie vergessen, diesen tag, werden Sie wahrscheinlich diese Fehlermeldung erhalten:
Bauen FFmpeg für i386
Erstellen universal-Bibliothek
Lipo-Befehle (vorausgesetzt, Sie sind noch unter den ffmpeg-Ordner):
(Bitte beachten Sie, dass Mountain Lion mitgelieferte lipo-weiß nichts über armv7s noch. Wir benötigen also xcrun zu finden, der lipo Lieferumfang des SDK.)
Schauen Sie unter universal/lib finden Sie alle FAT-libs frisch gebacken gibt. Wir wenden uns nun unsere Aufmerksamkeit auf die Verknüpfung dieser statischen Bibliotheken, um das Xcode-Projekt.
wenn Sie bekommen eine Fehlermeldung wie diese Fehler: Keine Entwickler-Verzeichnis unter /Developer"? geben Sie dann
Verknüpfung von statischen Bibliotheken in Xcode
Erstens, wir ziehen in die .a-Dateien.
Erstellen einer neuen Leeren Anwendung mit Xcode. Weisen Sie einen Produkt-Name und Company Identifier. Dann klicken Sie auf Weiter und speichern Sie das Projekt.
Suchen Sie den universal-libs, die wir erstellt haben (der .Dateien) unter ffmpeg/universal/lib.
Ziehen Sie die .Dateien in den Frameworks-Ordner in der Projekt-Navigator-Fenster.
Haken bei "Copy items into destination group' s folder (if needed)". Und klicken Sie auf Fertig stellen.
Nun kümmern wir uns um den include-Dateien.
Suchen Sie den include-Dateien unter ffmpeg/armv7/include.
Drag-and-drop den Inhalt des Ordners auf den Namen des Projekts Ordner in der Projekt-Navigator-Fenster.
Wieder, Haken bei "Copy items into destination group' s folder (if needed)". Klicken Sie dann auf Fertig stellen.
Endlich, wir brauchen, um den Header Suchpfade für das Projekt.
Klicken Sie auf die Projekt im projektnavigator angezeigt.
In der Standard-Editor in der Mitte des Bildschirms, klicken Sie auf Build-Einstellungen.
Suche für "Header Search Paths".
Fügen Sie Ihrem Projekt-Pfad und legen Sie es Rekursiv. also $(SRCROOT)
Klicken Sie auf Build-Phasen.
Unter " Link-Binary Mit Bibliotheken, hinzufügen libbz2.dylib und libz.dylib.
Test und überprüfen Sie die Arbeit der Bibliothek
Sind wir nicht in die Tiefe hier. Nur um sicher zu gehen, dass die Bibliothek funktionieren.
Gehen Sie zu Ihrem AppDelegate.m, und fügen Sie hinzu:
> #include "avformat.h"
Und in der didFinishLaunchingWithOptions Funktion hinzufügen:
angenommen, wenn Sie erhalten diese Fehler bedeutet
Undefined symbols for architecture i386:
"_iconv", auf die dort verwiesen wird:
_mail_iconv in libmailcore.ein(charconv.o)
"_iconv_open", auf die dort verwiesen wird:
_charconv in libmailcore.ein(charconv.o)
_charconv_buffer in libmailcore.ein(charconv.o)
"_iconv_close", auf die dort verwiesen wird:
_charconv in libmailcore.ein(charconv.o)
_charconv_buffer in libmailcore.ein(charconv.o)
ld: symbol(s) not found for architecture i386
collect2: ld zurückgegeben, 1 exit status
dann fügen Sie libiconv.dylib Rahmen
sind Sie nun bereit, Tauchen Sie ein in entwickeln, mit dem FFmpeg auf iOS.
./configure-Skript:
./configure --extra-ldflags=-L/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/lib/system --disable-bzlib --disable-doc --disable-ffmpeg-deaktivieren-ffplay --disable-ffserver --enable-cross-compile - --arch=arm --target-os=darwin --cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc --as='gas-preprocessor/gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk --cpu=cortex-a8 --extra-cflags='-arch armv7 - ' --extra-ldflags='-arch armv7 - ' --enable-pic
diese funktioniert einwandfrei. da die Standard-ffmpeg-Konfigurations-Skript über die Standard-Library-Pfad auf "/usr/lib/system" so kann es nicht finden Bibliothek libcache.dylib,also hier habe ich diese
die Letzte sdk-Pfad.