【问题标题】:C# Reading Video Metadata in Windows (Title,description,year)C# 在 Windows 中读取视频元数据(标题、描述、年份)
【发布时间】:2014-12-28 23:47:03
【问题描述】:

大家好,只是想制作一个浏览视频文件并从文件元数据中读取标题和描述的程序。我从 microsoft here 中找到了一些文档,提供了所需的内容,但如何访问这些功能? c# 中需要使用哪些命名空间?我希望能提供任何帮助。

【问题讨论】:

  • 不知道为什么投反对票;也许有人认为你没有在你的问题上付出足够的努力?老实说,我和你一样困惑;此页面不包含函数或库的链接。如果滚动到底部并单击“Shell Metadata Providers”,则会显示更多信息,包括一些 C++ 代码。
  • 让我们关闭它。 6 年后可能没有任何链接仍然相关。目前已不在主题范围内(推荐第三方库)。

标签: c# video metadata


【解决方案1】:

在您发布的链接中,滚动到底部并单击“Shell Metadata Providers”。还有更多信息和一些示例 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

https://web.archive.org/web/20170225230114/https://stackoverflow.com/questions/7396265/c-sharp-to-read-properties-of-video-files

抱歉,我无法为您提供更具体的信息,但是看起来一些标签库(即用于读取 MP3 元数据)也可以工作,因为视频的元数据似乎存储在类似的(如果不相同的话)中,格式。话虽如此,您可以试一试 TagLib#。

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

【讨论】:

  • 我使用了 TagLib#,到目前为止效果很好。但是我找不到我需要用来获取视频文件描述标签的东西,我知道标签在那里,因为 iTunes 在查看视频时看到了描述标签。如果有人愿意提供帮助,see this thread.
【解决方案2】:

我编写了一个简单的 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() 来源。

【讨论】:

    猜你喜欢
    • 2016-06-01
    • 2018-03-10
    • 1970-01-01
    • 2011-09-01
    • 2012-02-08
    • 2019-03-30
    • 2021-05-28
    • 2011-10-03
    • 1970-01-01
    相关资源
    最近更新 更多