您如何安全地识别 mp4 是纯音频文件还是视频文件
Posted
技术标签:
【中文标题】您如何安全地识别 mp4 是纯音频文件还是视频文件【英文标题】:How do you safely identify whether an mp4 is an audio only or video file 【发布时间】:2011-01-17 13:01:49 【问题描述】:给定一组 mp4 文件,我只想识别音频文件而不是视频文件。以前我通过确保只有一个 trak atom 来做到这一点,并且该 track atom 包含一个 trak.mdia.minf.smhd
atom 但后来发现这不包括一些有效的音频文件。
所以现在我检查文件中找到的每个 trak 原子,只有在我们在任何原子中找到 trak.mdia.minf.vmhd
原子或者我们没有找到至少一个 trak.mdia.minf.smhd
原子时才会拒绝。但我确信这不是无懈可击的,因为必须有不使用 vmhd
原子的视频格式。
最好的方法是什么?
【问题讨论】:
【参考方案1】:您可以在trak->mdia->hdlr->handlerType
中查找轨道类型,其中handlerType
为soun
用于音频或vide
用于视频。
【讨论】:
感谢听起来比我最终为每个 moov.trak.mdia.minf 原子所做的要简单一些,如果它包含一个 vmhd 原子意味着视频。我猜无论您采用哪种方式,您都需要检查每个 trak atom,虽然可以拥有多个 trak atom,但如果您发现任何包含 vmhd atom 或处理程序类型的 vide,则拒绝。以上是关于您如何安全地识别 mp4 是纯音频文件还是视频文件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用fineuploader或javascript检测MP4文件是音频还是视频?