我正在尝试阅读mp4视频文件中的章节。我在File.Tags
列表中没有看到这一点,但我希望有办法通过请求chap atom来获取它们。
我确实试过了mp4chap
,但它只给了我第一章。我认为它可能只适用于音频文件。
答案 0 :(得分:0)
我是mp4chap lib的作者。
是的,你是对的。 mp4chap库仅用于音频文件。
图书馆是开源的,非常简单,您可以自由修改它。
此处库仅分析第一首曲目(请参阅下面的代码)。您可以使用此代码并从mp4曲目中获取更多数据。
http://mp4chap.codeplex.com/SourceControl/latest#Mp4Chapters/ChapterExtractor.cs
private void ReadChapters(MoovInfo moovBox)
{
var soundBox = moovBox.Tracks.Where(b => b.Type == "soun").ToArray();
if (soundBox.Length == 0) return;
if (soundBox[0].Chaps != null && soundBox[0].Chaps.Length > 0)
{
var cb = new HashSet<uint>(soundBox[0].Chaps);
var textBox = moovBox.Tracks.Where(b => b.Type == "text" && cb.Contains(b.Id)).ToArray();
if (textBox.Length == 0) return;
ReadChaptersText(textBox[0]);
}
}