Это зависит от того, насколько хорошим должен быть ваш сниффер и насколько хорошими должны быть результаты.Если вы можете анализировать около 1024 байтов, то вы можете искать другие метаданные, относящиеся к файлам WMV.Если таких данных нет, вы можете предположить, что это WMA.
Найдите следующие байты в (в предпочтительном порядке):
- AspectRatio (UTF-16)
- WindowsMediaVideo (UTF-16)
- WMV3 (ASCII)
- DeviceConformanceTemplate MP @ ML (UTF-16)
Подарок любой тегов метаданных в области заголовка идентифицирует файл как WMV.Поэтому в худшем случае вам потребуется выполнить около 8 поисков (включая все типы DeviceConformanceTemplate
) в области 1024 байта для обнаружения WMV, а в лучшем случае 1 поиск для обнаружения WMV.
Другой способ заключается в заголовок разбора (может помочь AsfMojo ), который может быть типичным размером 8 Кбайт, но не ограничен в целом.Я предполагаю, что информация заголовка должна быть достаточной для того, чтобы расстаться с аудионом и видеоданными (но я не уверен на 100%).Я бы предпочел этот путь и отступить на «хакерское» решение, если разбор невозможен.