C#在Windows中读取视频元数据(标题、说明、年份)

本文关键字:标题 说明 年份 元数据 Windows 读取 视频 | 更新日期: 2023-09-27 18:28:55

嘿,大家都在尝试制作一个程序,浏览视频文件并从文件元数据中读取标题和描述。我在这里找到了一些来自微软的文档,提供了所需的内容,但我如何访问这些功能?c中需要什么使用名称空间?我愿意提供任何帮助。

C#在Windows中读取视频元数据(标题、说明、年份)

在您发布的链接中,滚动到底部并单击"Shell元数据提供者";。这里有更多的信息和一些示例C++代码。

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

读/写音频/视频文件的元数据

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

https://web.archive.org/web/20170225230114/https://stackoverflow.com/questions/7396265/c-清晰易读的视频文件属性

很抱歉,我不能给你任何更具体的东西,但看起来一些标签库(即用于读取MP3元数据)也可以工作,因为视频的元数据似乎以类似的格式存储,如果不是完全相同的话。话虽如此,你可以试试TagLib#。

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

我制作了一个简单的C#代码(也可移植到Unity)cstomreader。它针对速度进行了优化,也可以通过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()源。