2016-05-25 3 views
2

Je prévois de créer une nouvelle application pour un usage personnel sur mon Mac qui utilise la bibliothèque FFMPEG, pour stocker un flux à partir d'une caméra IP RTSP.Utiliser ffmpeg sur OS X Xcode Project pour Mac

Après cette official installation procedure from FFMPEG je réussi à atteindre avec succès les 2 étapes suivantes:

Pour obtenir ffmpeg pour OS X, vous devez d'abord installer Homebrew. Si vous ne souhaitez pas utiliser Homebrew, consultez la section ci-dessous.

Puis:
- infusion installer automake fdk-aac git boiteux libass libtool libvorbis libvpx \ opus sdl shtool texi2html theora wget x264 xvid yasm

Question: Ma question h Parce que je suis confus, est comment importer une bibliothèque dans Xcode afin que je puisse l'utiliser dans l'application que je suis sur le point de construire pour mon Mac. Je peux voir beaucoup de projets GitHub liés à FFMPEG avec IOS/Android, mais aucun pour OSX.

Toutes les FFMPEG commandes sous la borne fonctionnent très bien, comme la conversion d'une vidéo, etc.

Répondre

1

En général, vous devez configurer les paramètres de génération cible Xcode ajouter /usr/local/include au tête Chemin de recherche.

Ensuite, votre #include <ffmpeg.h> (ou quel que soit son nom) commencera à fonctionner.

Ensuite, pour la liaison à libffmpeg.a (ou quelque chose comme ça), vous pouvez faire une des deux choses:

  1. Ajoutez le fichier aux bibliothèques et des cadres supplémentaires des paramètres de construction (sélection via un boîte de dialogue d'ouverture de fichier).
  2. Ajouter /usr/local/lib à la Bibliothèque des chemins de recherche et -lffmpeg aux Autres drapeaux Linker.

(1. vaut mieux si vous me demandez).

J'utilise Macports, donc pour moi les chemins sont /opt/local/{include,lib} mais avec Homebrew il pourrait y avoir un niveau de répertoire supplémentaire (comme /usr/local/ffmpeg/{include,lib}, mais vous devriez être en mesure de travailler que vous-même.

Je ne vais pas dans les détails de la façon d'utiliser effectivement FFMPEG comme cela est trop impliqué (et je ne sais rien à ce sujet).

1

Si vous regardez dans /usr/local/Cellar/ffmpeg vous trouverez le paquet ffmpeg réel et tout homebrew est juste des liens symboliques à cela.Par exemple:

/usr/local/bin/ffmpeg -> ../Cellar/ffmpeg/3.0.2/bin/ffmpeg 

Maintenant, si vous restez dans ce répertoire et cela, vous trouverez tous les paramètres de configuration pkgconfig pour les parties constitutives de ffmpeg:

find . -name \*.pc 

./lib/pkgconfig/libavcodec.pc 
./lib/pkgconfig/libavdevice.pc 
./lib/pkgconfig/libavfilter.pc 
./lib/pkgconfig/libavformat.pc 
./lib/pkgconfig/libavresample.pc 
./lib/pkgconfig/libavutil.pc 
./lib/pkgconfig/libpostproc.pc 
./lib/pkgconfig/libswresample.pc 
./lib/pkgconfig/libswscale.pc 

Cela signifie que vous pouvez maintenant trouver le chemin include et les chemins library que vous devez placer dans les paramètres Xcode. Ainsi, par exemple, si vous voulez que le includes pour libavutil, vous pouvez le faire:

pkg-config --cflags libavutil 

et il vous dira:

-I/usr/local/Cellar/ffmpeg/3.0.2/include 

Si vous voulez que les library paramètres pour libavfilter, vous pouvez le faire:

pkg-config --libs libavfilter 

et il vous dira

-L/usr/local/Cellar/ffmpeg/3.0.2/lib -lavfilter 

Voilà comment vous obtenez les paramètres pour le compilateur/éditeur de liens. Ensuite, vous devez les mettre dans Xcode, et j'ai décrit que here - regarder le bit avec les boîtes jaunes, rouges et bleus.

Espérons que ça aide. Oh, vous devez faire:

brew install pkg-config 

premier à obtenir le binaire pkgconfig.

+0

Vous n'êtes pas censé exécuter quoi que ce soit dans '/ usr/local/Cellar' ** directement ** - c'est pourquoi tout est symboliquement lié de'/usr/local/bin' à la Cellar. L'idée générale est que vous devriez utiliser les binaires dans '/ usr/local/bin' en définissant votre PATH pour inclure ce répertoire. –

+0

bonjour là, a réussi à résoudre cela. Je suis au point où j'ai besoin de compiler ma bibliothèque ffmpeg en utilisant l'outil de ligne de commande XCode. C'est la commande utilisée pour opencv - g ++ $ (pkg-config --cflags --libs opencv) process.cpp -o processus. Pouvez-vous me donner l'exemple que je dois ajouter au terminal pour la bibliothèque FFMPEG? – cmario

+0

Maintenant, je suis confus - J'ai compris à partir de votre question que vous vouliez utiliser Xcode. Xcode est un outil graphique, pas une ligne de commande - c'est pourquoi j'ai lié à mon autre article les paramètres de l'interface graphique Xcode. Et 'clang/clang ++' est le compilateur Apple Xcode, pas 'gcc/g ++' qui est GNU. –