Java 如何使用Mp4parser从iTunes视频中获取avcC atom

Java 如何使用Mp4parser从iTunes视频中获取avcC atom,java,mp4,mp4parser,Java,Mp4,Mp4parser,在使用mp4parser java库读取源自iTunes的文件时,是否有办法访问avcC atom?我在一些自定义代码中使用pasp atom手动完成了这项工作,但在切换到该库后,我失去了对数据的访问 avcC原子的已知路径: /moov/trak/mdia/minf/stbl/stsd/avc1/avcC /moov/trak/mdia/minf/stbl/stsd/avc1/pasp/avcC /moov/trak/mdia/minf/stbl/stsd/drmi/avcC MP4Par

在使用mp4parser java库读取源自iTunes的文件时,是否有办法访问avcC atom?我在一些自定义代码中使用pasp atom手动完成了这项工作,但在切换到该库后,我失去了对数据的访问

avcC原子的已知路径:

  • /moov/trak/mdia/minf/stbl/stsd/avc1/avcC
  • /moov/trak/mdia/minf/stbl/stsd/avc1/pasp/avcC
  • /moov/trak/mdia/minf/stbl/stsd/drmi/avcC

MP4Parser

有效quicktime文件的avcC原子永远不能位于pasp原子内部。avcC原子可以位于pasp旁边,但不能位于pasp中,因为pasp框不包含其他框。 您可以使用Path类以方便访问(它知道一些regexp):


在所有AVC配置框中,不管它们的父框是什么。

我希望你是对的,我们以前的自定义mp4读取器可能存在错误,但它肯定认为avcC是pasp子级。如何从avcC父级获取avcDecoderConfiguration?也尝试了此路径,但出现错误:异常解码头/atoms java.lang.RuntimeException:。。。是无效路径。我还尝试使用四个点并得到以下结果:java.lang.ClassCastException:com.coremedia.iso.box.UnknownBox无法转换为com.coremedia.iso.box.ContainerBox
public static void main(String[] args) throws IOException {
    IsoFile isoFile = new IsoFile("video.mp4");
    AvcConfigurationBox avcC = Path.getPath(isoFile, "/moov/trak/mdia/minf/stbl/stsd/.../avcC");
}