2014-10-30 13 views
4

Taglib-sharp似乎不支持超过4GB的文件。我想为大型高清电影文件编辑诸如标题,说明,艺术作品等内容。我在代码中发现了一些似乎暗示64位文件不受支持的评论。任何人都知道这是否会得到支持?我也开放其他建议在替代图书馆方面。Taglib-Sharp大文件(64位文件)支持

https://bugzilla.gnome.org/show_bug.cgi?id=739272

+0

你有这个问题的证据吗?当在这里查看主要的文件处理代码时:https://github.com/mono/taglib-sharp/blob/master/src/TagLib/File.cs它似乎处理64位大小的文件(到处使用'long'它的大小和长度) – 2014-11-04 07:14:27

+0

是的,当然,问题是在一个64位文件中Atom Size/offset是不同的,所以当代码尝试读取“MVHD”框(打开文件时它所寻找的第一个框)它没有得到正确的字节并且没有说它是一个无效的MPEG4。是的,我100%确定这是一个有效的mpeg4使用其他软件来读取和播放文件正常工作。 – 2014-11-04 17:47:47

+1

好的你的意思是mvhd atom * size *是64位。你有没有这样一个MP4样本文件,我们可以在网上找到某个地方? – 2014-11-05 06:54:14

回答

1

好的,这是问题所在。在默认情况下,64位MPEG4将moov框放置在mdat框之后。在taglib-sharp中,只有该文件的前32个字节被读取,如果moov框首先出现,这就足够了。为了解决这个问题,你可以使用mp4box.exe来切换盒子的位置,或者你可以在手刹中勾选“优化网页”框,这将首先放置moov盒子。