2010-06-11 2 views
2

Une aide? Maintenant, vous pouvez obtenir NSSize, durée et tout.Comment obtenir des métadonnées d'un fichier vidéo en utilisant Objective-c?

+0

Quel type de métadonnées? Métadonnées Spotlight ou métadonnées incorporées dans le fichier lui-même? –

+0

Objective-C ne fournit aucune fonctionnalité de ce type. Utilisez-vous un cadre d'application qui pourrait être pertinent (par exemple, Cocoa, iPhone SDK)? – Chuck

+0

Dans le fichier lui-même. Parce que j'ai besoin de métadonnées à partir de disques réseau. Cacao. Oui, je le connais déjà, et passe beaucoup de temps à creuser des frameworks, notamment QT, mais pas de résultats6 il n'y a que des méta données audio + durée + NSSize de vidéo, mais pas de débit binaire, codecs .. – Yola

Répondre

4

Cette fonctionnalité n'est peut-être pas intégrée (je ne suis honnêtement pas sûr), mais je connais deux bibliothèques tierces qui peuvent vous fournir les informations dont vous avez besoin.

  • VLCKit, la structure étant utilisée par les dernières versions bêta de VLC pour Mac.
  • libmediainfo, une bibliothèque polyvalente qui peut lire pratiquement n'importe quel bit d'information dont vous avez besoin sur pratiquement n'importe quel fichier multimédia.

Je peux aller plus loin dans la façon d'utiliser l'un ou l'autre de ces éléments, mais je préfère ne le faire que si vous finissez par avoir besoin de moi. Faites le moi savoir!

+0

libmediainfo dans votre question. –

+0

application de test basée sur libmediainfo semble assez bien, mais je ne peux vraiment pas comprendre comment l'utiliser dans mon projet. Si vous faisiez un projet objectif-c avec cette bibliothèque, je serais très reconnaissant si vous partagiez ce projet avec moi ou si vous n'aviez pas de projet objectif-c lorsque vous me donneriez quelques conseils pour inclure et utiliser cette bibliothèque dans mon projet. – Yola

+2

Pour commencer, vous devez télécharger le MediaInfo dylib. Suivez le lien ci-dessus et trouvez ce fichier: MediaInfo_DLL_0.7.33_Mac_Universal.tar. Télécharge le. Ajoutez le fichier .dylib à votre projet. S'il y a plus d'un dylib dans le dossier, ajoutez celui qui est le plus grand. Assurez-vous que le fichier dylib est ajouté à la phase de construction "Link Binary with Libraries" de la cible. Ajoutez ensuite le chemin d'accès au répertoire Developers/Include du dossier téléchargé vers vos chemins de recherche d'en-tête dans Xcode. Vous pouvez ensuite #importer "MediaInfoDLL.h" dans votre code et suivre la documentation fournie pour l'ouverture des fichiers. –

5

Vous pouvez le faire presque entièrement en utilisant les métadonnées de Spotlight.

Par exemple, je fais ce qui suit dans l'une de mes applications

MDItemRef fileMetadata=MDItemCreate(NULL,(CFStringRef)eachPath); 
NSDictionary *metadataDictionary = (NSDictionary*)MDItemCopyAttributes (fileMetadata, 
                          (CFArrayRef)[NSArray arrayWithObjects:(id)kMDItemPixelHeight,(id)kMDItemPixelWidth,nil]); 

Ce code demande essentiellement pour la largeur de pixel et de la hauteur pour un fichier vidéo (pour déterminer si elle est la dimension d'un film HD ou non est la raison).

La Référence des attributs de métadonnées Spotlight répertorie toutes les clés disponibles pour différents types de fichiers par catégorie. Vous pouvez probablement obtenir les données requises de cette façon sans rien faire de significatif, à condition que le type de média que vous examinez dispose d'un plug-in Spotlight.

Questions connexes