c++ - MPEG ADTS格式识别

标签 c++ detection mpeg identification

我需要检测文件是否为 MPEG ADTS 文件。我已经四处搜索了它,但无论是我寻找得很糟糕还是其他东西,但我找不到我可以肯定地说某些文件具有 MPEG ADTS 格式的签名。

例如如果文件以这样的签名 00 00 00 nn 66 74 79 70 6D 70 34 开头,我们可以肯定地说文件是 MP4。 如何使用 MPEG ADTS 完成?

在此先感谢您的帮助!

最佳答案

ADTS header 通常用于独立的 aac、mpeg-ts 文件。(流媒体场景) ADIF主要用于MP4文件

adts 文件头以 12 位“同步工作”开头,它始终是 (111111111111) 接下来的 1 位是 ID - 接下来的 2 位(始终为 0)

http://developer.longtailvideo.com/trac/browser/providers/adaptive/doc/adts.pdf?rev=1460 (提供完整标题)

所以你要检测的算法是 -

  1. 搜索12位同步工作
  2. 验证下一个字段是否包含有效值

关于c++ - MPEG ADTS格式识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14632415/

相关文章:

c++ - 我什么时候应该使用新的智能指针

c++ - 访问 boost fusion map 字段名称

ffmpeg - 如何从视频流中删除 PES header

c++ - 类似于 `declval` 的概念

c++ - 在 C++ 中使用 Hbase Thrift2 API

javascript - jQuery + Modernizer - 如果禁用 javascript,则不显示 div? (参见代码)

algorithm - 检测网页抓取的方法

unity-game-engine - 相机中的颜色检测 (Unity3D)

ffmpeg - 如何检查 MPEG 传输流文件是否包含声音?

mpeg - 如何在 mpeg2ts 中嵌入元数据