7

我需要一些帮助来读取/写入音频/视频文件的元数据信息。我搜索了很多,但没有找到任何有用的东西。Taglib sharp 是一个开源库,可提供读取/写入元数据的帮助。使用标签库我可以编辑一些值,但不是全部都喜欢。

TagLib.File videoFile = TagLib.File.Create("test.mp4");
videoFile.Tag.Title = "Test";
videoFile.Tag.Comment = "Nothing";

但我无法编辑以下属性,如作者 url、生产者等。我如何编辑这些属性?

4

2 回答 2

7

我以前从来没有为视频文件做过这个,但我有 mp3 文件。您可以像这样访问这些框架:

TagLib.File file = TagLib.File.Create(mp3FileName);
file.Tag.Title = "some title"; // you've got this
TagLib.Id3v2.Tag tag = (TagLib.Id3v2.Tag)file.GetTag(TagTypes.Id3v2);
tag.SetTextFrame("WOAR", "some url"); // WOAR = Official artist/performer webpage
file.Save();

您可以在 Wikipedia 上找到文本框架标识符的列表: ID3v2 Frame Specification (Version 2.3)

我不知道视频文件是否为您提供与 ID3 相同的帧范围,但请注意维基百科也说(非 mp3 和替代方案中的实现

MP4 还允许嵌入 ID3 标签,这已得到广泛支持。

所以我猜这也适用于你正在尝试的 mp4 文件。

于 2013-08-15T13:24:45.887 回答
3

您将需要使用 AppleTag。这将起作用。对于 mp4 文件,您必须将值写入 dashbox。像这样:

TagLib.File videoFile = TagLib.File.Create("test.mp4");
TagLib.Mpeg4.AppleTag customTag = (TagLib.Mpeg4.AppleTag)f.GetTag(TagLib.TagTypes.Apple);
customTag.SetDashBox("Producer","Producer1", "value");
f.Save();
f.Dispose();

你可以得到这样的值:

var tokenValue = customTag.GetDashBox("Producer", "Producer1");
于 2014-02-24T19:29:11.487 回答