如何安全地识别一个mp4文件是仅音频还是视频文件?

5
给定一组 mp4 文件,我想要识别出其中的音频文件而非视频文件。以前我通过确保只有一个 trak 原子,并且该轨道原子包含一个 trak.mdia.minf.smhd 原子来实现此目的,但后来发现这排除了一些有效的音频文件。
所以现在我检查文件中找到的每个 trak 原子,仅在任何原子中找到 trak.mdia.minf.vmhd 原子或者我们没有至少找到一个 trak.mdia.minf.smhd 原子时才拒绝。但我确定这并不是十分可靠的,因为可能存在不使用 vmhd 原子的视频格式。
那么,最好的方法是什么?
1个回答

4

您可以在 trak->mdia->hdlr->handlerType 中查找跟踪类型,其中 handlerType 表示音频的为 soun,视频的为 vide


谢谢听起来比我最终做的要简单一些,对于每个moov.trak.mdia.minf原子,如果它包含一个vmhd原子,则表示视频。我猜无论你怎么做,都需要检查每个trak原子,虽然有多个trak原子是可以的,但如果发现任何包含vmhd原子或处理程序类型为vide的trak原子,则应予以拒绝。 - Paul Taylor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接