给定一组 mp4 文件,我只想识别音频文件而不是视频文件。以前我通过确保只有一个 trak 原子来做到这一点,并且该轨道原子包含一个 trak.mdia.minf.smhd
原子,但后来发现这排除了一些有效的音频文件。
所以现在我检查文件中找到的每个 trak 原子,只有当我们在任何原子中找到 trak.mdia.minf.vmhd
原子或者我们至少找不到一个时才会拒绝trak.mdia.minf.smhd
原子。但我确信这不是无懈可击的,因为肯定有不使用 vmhd
原子的视频格式。
解决此问题的最佳方法是什么?
最佳答案
您可以在 trak->mdia->hdlr->handlerType
中查找轨道类型,其中 handlerType
是 soun
用于音频或vide
视频。
关于video - 您如何安全地识别 mp4 是纯音频文件还是视频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4713417/