如何安全地识别 mp4 是纯音频文件还是视频文件

Pau*_*lor 6 audio video mp4

给定一组 mp4 文件,我只想识别音频文件而不是视频文件。以前,我通过确保只有一个 trak 原子来做到这一点,并且该轨道原子包含一个trak.mdia.minf.smhd原子,但后来发现这排除了一些有效的音频文件。

所以现在我检查文件中找到的每个 trak 原子,并且只有在我们trak.mdia.minf.vmhd在任何原子中找到原子或者我们没有找到至少一个trak.mdia.minf.smhd原子时才拒绝。但我确信这并不是无懈可击的,因为一定有不使用原子的视频格式vmhd

解决这个问题的最佳方法是什么?

Jon*_*eig 4

您可以在音频或视频的位置trak->mdia->hdlr->handlerType查找轨道类型。handlerTypesounvide