如何使用Objective-c从视频电影文件中获取元数据?

时间:2010-06-11 15:11:09

标签: objective-c cocoa video metadata

有任何帮助吗?现在可以获得NSSize,持续时间及其全部。

2 个答案:

答案 0 :(得分:5)

您几乎可以使用Spotlight的元数据完成此操作。

例如,我在其中一个应用中执行以下操作

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

此代码基本上要求电影文件的像素宽度和高度(以确定它是否是HD电影的尺寸是原因)。

Spotlight元数据属性参考按类别列出了各种文件类型的所有可用密钥。如果您正在检查的媒体类型具有Spotlight插件,您可以通过这种方式获取所需数据而不会执行任何重要操作。

答案 1 :(得分:4)

这个功能可能没有内置(我老实说不确定),但我知道有两个第三方库可以告诉你所需的信息。

  • VLCKit,最新的测试版VLC for Mac使用的框架。
  • libmediainfo,一个多用途库,几乎可以从任何媒体文件中读取您需要的任何信息。

我可以更深入地了解如何使用其中任何一种,但是如果你最终需要我,我宁愿这样做。让我知道!