Обнаружение кодирования видео H.264 / Avc и H.262/ MPEG-2

#c# #h.264 #video-encoding

#c# #h.264 #кодирование видео

Вопрос:

Мне нужно проверить, закодирован ли файл в H.264 / Avc, H.262 / MPEG-2 или другом формате. Я искал в Интернете последовательности магических байтов, чтобы определить это.

То, что я нашел до сих пор 00 00 00 nn 66 74 79 70 , предположительно говорит мне, что файл содержится в контейнере MPEG-4. К сожалению, этот формат контейнера ничего не говорит о том, какую кодировку использует видео в контейнере.

Есть ли простой способ отличить кодировку H.264 / Avc и H.262 / MPEG-2? Я бы предпочел использовать magic bytes или «бесплатную» лицензионную библиотеку для c #.

Комментарии:

1. «Есть ли простой способ» нет . Попробуйте taglib # .

2. Привет из того, что я могу видеть, taglib # находится под лицензией типа GPL. Знаете ли вы, есть ли какие-либо библиотеки, которые находятся под менее строгой лицензией, которые я мог бы использовать?

3. Проверка mediaarea.net/en/MediaInfo он будет делать именно то, что вы хотите

4. Являются ли ваши файлы элементарными потоками? Можете ли вы поделиться несколькими примерами файлов? Если у вас есть файлы mp4 с видео AVC или mpeg-2, вам нужно выполнить небольшой синтаксический анализ контейнера.

5. Где я могу узнать больше о синтаксическом анализе контейнеров?