C#在Windows中读取视频元数据(标题,描述,年份)

时间:2014-11-02 02:04:40

标签: c# video metadata

嘿大家只是想制作一个浏览视频文件的程序,并从文件元数据中读取标题和描述。我发现一些来自microsoft here 的文档给出了什么,但我如何访问这些功能?在c#中需要使用名称空间?我很乐意为您提供任何帮助。

2 个答案:

答案 0 :(得分:5)

在您发布的链接中,滚动到底部,然后点击" Shell元数据提供商"。还有更多信息和一些示例C ++代码。

以下是其他一些相关链接:

Reading/Writing metadata of audio/video files

http://www.codeproject.com/Articles/14535/Accessing-WMF-metadata-with-C

https://social.msdn.microsoft.com/Forums/pt-BR/0f36a3b2-4d3d-4842-88a4-bea493bbbace/read-video-filemov-avi-mpg-etc-meta-data?forum=csharpgeneral

C# to read properties of video files?

很抱歉,我无法为您提供更具体的内容,但看起来有些标记库(即用于阅读MP3元数据)也可以正常工作,因为视频的元数据似乎存储在类似的内容中,如果不是相同,格式。话虽如此,你可以给TagLib#shot。

https://www.nuget.org/packages/taglib/

答案 1 :(得分:0)

我已经编写了一个简单的C#代码(也可以移植到Unity)csatomreader。它针对速度进行了优化,也可以通过HTTP读取原子。

例如获取标题:

using (FileStream stream = new FileStream(fileName, FileMode.Open))
{
    var mp4Reader = new AtomReader(stream);
    string value = mp4Reader.GetMetaAtomValue(AtomReader.TitleTypeName);
    Console.WriteLine($"{atomTypeName}: {value}");
}

如果您需要一次获取更多的元数据值,请在ParseAtoms()上进行迭代,例如请参阅GetMetaAtomValue()来源。