Подробный гайд: Разбираем, как определить параметры RAW-файлов
Понятие «параметры кодирования» для файлов .raw не является универсальным — всё зависит от того, что именно содержит файл: аудио, изображение, видео или текст. Ключевая сложность в том, что формат .raw (raw data) по определению не содержит заголовка с метаданными, поэтому программе-анализатору приходится угадывать параметры или получать их от вас.
RAW-аудио (PCM)
RAW-аудио — это «сырые» несжатые аудиоданные (обычно PCM) без заголовка WAV. Стандартные инструменты, вроде soxi, с такими файлами не работают.
Вам нужно определить вручную:
- Частота дискретизации (Sampling rate): 8000, 44100, 48000 Гц и т.д. Обычно 44100 Гц для CD-качества.
- Разрядность (Bit depth): 8, 16, 24 или 32 бита. Для 16-битного аудио каждая точка (сэмпл) занимает 2 байта.
- Количество каналов: моно (1) или стерео (2). Если данных больше, чем ожидается для моно, возможно, это стерео.
- Порядок байтов (Endianness): обычно Little Endian.
Как это сделать на практике:
- Audacity (кроссплатформенно):
Откройте файл через File → Import → Raw Data.... В диалоге нужно указать предполагаемые параметры (кодирование, порядок байтов, каналы, частота). Audacity позволяет воспроизвести результат и на слух оценить, правильно ли угадан формат.
- FFmpeg (командная строка):
Можно указать параметры вручную, чтобы декодировать или проанализировать файл.
Например:
ffmpeg -f s16le -ar 44100 -ac 2 -i input.raw output.wav
Здесь s16le — 16-битный signed PCM, Little Endian; -ar — частота; -ac — каналы. FFmpeg не определит параметры автоматически, но позволит проверить ваши догадки.
- Программный подход:
Если вы пишете код, можно создать временный WAV-файл с заголовком, заполненным предполагаемыми параметрами, и прослушать результат.
Важно:
Если аудио содержит шум или сложный сигнал, угадывание на слух может быть затруднено.
RAW-изображения
RAW-изображения бывают двух принципиально разных типов:
1. Сырые пиксельные данные (без заголовка)
Это просто последовательность байтов, представляющая пиксели.
Чтобы «увидеть» изображение, нужно знать:
- Ширину и высоту (в пикселях).
- Бит на пиксель (bpp): 8, 16, 24 (RGB) и т.д.
- Цветовую модель: Grayscale, RGB, Indexed и т.д..
Инструменты для подбора параметров:
- IrfanView (Windows): при открытии файла с расширением
.raw(или переименованного) предложит диалог, где можно ввести ширину, высоту и битность. Вы сразу увидите, выглядит ли результат как осмысленное изображение. - GIMP (кроссплатформенно): откройте файл как «Raw Image Data». В диалоге укажите разрешение и тип кодирования (Indexed, RGB). После открытия можно посмотреть
Image → Propertiesдля уточнения спецификации. - XnView: в настройках чтения RAW можно задать формат, чтобы отображение было корректным.
Подсказка:
Если файл начинается с сигнатуры TIFF (II* или MM*), это, вероятно, один из форматов RAW-камер (NEF, CR2, ARW и т.п.). Для их анализа используйте ExifTool или exifprobe — они читают метаданные из заголовков и MakerNotes.
2. RAW-форматы камер (NEF, CR2, ARW, DNG и др.)
Хотя они называются «RAW», у них есть заголовки и метаданные.
Для определения параметров (ISO, выдержка, баланс белого, размер матрицы) используйте:
- ExifTool — самый мощный инструмент для извлечения метаданных из RAW-файлов камер.
- exifprobe — специализированная утилита для изучения структуры RAW-файлов камер. Она показывает содержимое IFD, MakerNotes и других секций.
- ImageMagick
identify:identify -verbose image.nefпокажет доступные атрибуты.
RAW-видео
RAW-видео — это последовательность несжатых кадров.
Параметры, которые нужно знать:
- Разрешение (ширина × высота).
- Pixel format: например,
yuv420p,rgb24и т.д. - Частота кадров (framerate).
- Размер кадра в байтах (stride) — иногда требуется для корректного чтения.
Инструмент:
FFmpeg (и ffplay). Поскольку автоматическое определение невозможно, параметры задаются явно.
Пример для чтения rawvideo:
ffplay -f rawvideo -pixel_format rgb24 -video_size 1920x1080 -framerate 25 input.raw
Если изображение выглядит некорректно (цветные полосы, «снег»), попробуйте другие pixel format (например, yuv420p, bgr24) или измените разрешение.
Команда ffprobe также может анализировать raw-видео, если вы укажете входной формат и параметры:
ffprobe -f rawvideo -pixel_format yuv420p -video_size 640x480 input.raw
RAW-текст (неизвестная кодировка)
Если .raw — это текстовый файл (или файл, который вы подозреваете таковым), задача — определить кодировку символов.
Что можно сделать:
- Проверить BOM (Byte Order Mark): в начале файла могут быть байты
EF BB BF(UTF-8),FF FE(UTF-16 LE) и т.д. Это даёт точную подсказку. - Использовать эвристические детекторы:
chardet(Python) — библиотека и CLI-утилита. Установите и запустите:chardet file.raw. Она выдаст предполагаемую кодировку и уровень уверенности.enca(Linux) — анализирует текст с учётом языка:enca file.raw.uchardet— библиотека от Mozilla, лежит в основе многих инструментов (например, Notepad3).file -i file.raw— в Linux командаfileс опцией-iпокажет MIME-тип и предполагаемую кодировку.
- Ручной анализ в hex-редакторе: если автоматика не справляется, откройте файл в hex-редакторе (например,
xxd, HxD) и поищите закономерности. Например, частые нулевые байты могут указывать на UTF-16 или UTF-32.
Важно:
Для текстовых файлов не существует 100% надёжного автоматического определения кодировки. Если файл не содержит BOM, любой детектор может ошибиться. Лучший способ — знать источник файла или иметь подсказку.
Универсальные инструменты для анализа бинарных .raw
Если вы не уверены, что содержит файл, начните с этих утилит:
file(Linux/macOS):file input.rawпокажет базовый тип (например, «data» или «TIFF image data»).binwalk: ищет встроенные сигнатуры и сжатые потоки. Полезен, если.raw— это контейнер или прошивка.xxd/hexdump: просмотр первых байтов файла в hex-виде. Помогает найти сигнатуры (magic numbers) известных форматов.strings: извлекает печатные строки, что может дать подсказку о содержимом.- Veles / SentinelNav: инструменты визуализации бинарных данных, позволяющие увидеть структуру и аномалии.
Итоговая таблица: что и чем определять
| Тип RAW | Ключевые параметры | Рекомендуемые инструменты |
|---|---|---|
| Аудио (PCM) | Частота, битность, каналы, endianness | Audacity, FFmpeg, ручной подбор |
| Изображение (сырые пиксели) | Ширина, высота, bpp, цветовая модель | IrfanView, GIMP, XnView |
| RAW камеры | Метаданные EXIF, MakerNotes, размер матрицы | ExifTool, exifprobe, ImageMagick |
| Видео | Разрешение, pixel format, framerate | FFmpeg (ffplay/ffprobe) |
| Текст | Кодировка символов (UTF-8, UTF-16, CP1251 и т.д.) | chardet, enca, uchardet, file -i |
| Неизвестный бинарный | Встроенные сигнатуры, структура | file, binwalk, hex-редакторы, Veles |
Главный вывод:
Для .raw не существует «одной кнопки», которая покажет все параметры. Вам придётся либо знать контекст (откуда файл), либо последовательно пробовать варианты с помощью перечисленных
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.
инструментов, пока результат не станет осмысленным.