Справочник по RIFF-файлу AVI
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Формат файла Microsoft AVI — это спецификация RIFF-файла, используемая с приложениями, которые захватывают, редактируют и воспроизводит последовательности аудио-видео. Как правило, файлы AVI содержат несколько потоков данных разных типов. Большинство последовательностей AVI используют аудио- и видеопотоки. Простой вариант последовательности AVI использует видеоданные и не требует аудиопотока.
В этом разделе не описываются расширения формата файлов OpenDML AVI. Дополнительные сведения об этих расширениях см. в разделе Расширения формата файлов OpenDML AVI, опубликованные Подкомитетом по формату файлов OpenDML AVI M-JPEG.
FOURCC
FOURCC (четырехзначный код) — это 32-разрядное целое число без знака, созданное путем объединения четырех символов ASCII. Например, функция FOURCC «abcd» представлена в Little-Endian системе как 0x64636261. FOURCC может содержать пробелы, поэтому ‘abc’ является допустимым FOURCC. Формат файла AVI использует коды FOURCC для идентификации типов потоков, блоков данных, записей индекса и других сведений.
Формат RIFF-файла
Формат файла AVI основан на формате документа RIFF (формат файла обмена ресурсами). RIFF-файл состоит из заголовка RIFF, за которым следует ноль или несколько списков и блоков.
- Заголовок RIFF имеет следующую форму: ‘RIFF’ fileSize fileType (data) где «RIFF» — это литеральный код FOURCC «RIFF», fileSize 4-байтовое значение, определяющее размер данных в файле, и fileType значение FOURCC, определяющее конкретный тип файла. Значение fileSize включает размер fileType FOURCC плюс размер следующих данных, но не включает размер «RIFF» FOURCC или размер fileSize . Данные файла состоят из блоков и списков в любом порядке.
- Блок имеет следующую форму: ckID ckSize ckData где ckID — это FOURCC, который идентифицирует данные, содержащиеся в блоке, ckSize — 4-байтовое значение, определяющее размер данных в ckData , и ckData равно нулю или более байтам данных. Данные всегда заполняются до ближайшей границы WORD . ckSize предоставляет размер допустимых данных в блоке; Он не включает заполнение, размер ckID или размер ckSize .
- Список имеет следующую форму: ‘LIST’ listSize listType listData где «LIST» — это литеральный код FOURCC «LIST», listSize 4-байтовое значение, указывающее размер списка, listType является кодом FOURCC и listData состоит из блоков или списков в любом порядке. Значение listSize включает размер listType плюс размер listData ; оно не включает «LIST» FOURCC или размер listSize .
В оставшейся части этого раздела для описания фрагментов RIFF используется следующая нотация:
где размер блока является неявным. Используя эту нотацию, список можно представить следующим образом:
‘LIST’ ( listType ( listData ) )
Необязательные элементы помещаются в квадратные скобки: [ optional element ]
Форма RIFF AVI
AVI-файлы идентифицируются с помощью FOURCC ‘AVI’ в заголовке RIFF. Все файлы AVI включают два обязательных блока LIST, которые определяют формат потоков и данных потока соответственно. AVI-файл также может содержать блок индекса, который определяет расположение блоков данных в файле. Файл AVI с этими компонентами имеет следующую форму:
RIFF ('AVI ' LIST ('hdrl' . ) LIST ('movi' . ) ['idx1' () ] )
Список hdrl определяет формат данных и является первым обязательным блоком LIST. Список «movi» содержит данные для последовательности AVI и является вторым обязательным блоком LIST. Список idx1 содержит индекс. Файлы AVI должны поддерживать эти три компонента в правильной последовательности.
Расширения OpenDML определяют другой тип индекса, определяемый indx FOURCC.
В списках «hdrl» и «movi» для своих данных используются вложенные фрагменты. В следующем примере показана форма RIFF AVI, развернутая блоками, необходимыми для заполнения этих списков:
RIFF ('AVI ' LIST ('hdrl' 'avih'() LIST ('strl' 'strh'() 'strf'() [ 'strd'() ] [ 'strn'() ] . ) . ) LIST ('movi' . ) ['idx1' () ] )
Главный заголовок AVI
Список hdrl начинается с заголовка main AVI, который содержится в блоке avih. Заголовок main содержит глобальные сведения для всего файла AVI, например количество потоков в файле, а также ширину и высоту последовательности AVI. Блок заголовка main состоит из структуры AVIMAINHEADER.
Заголовки потока AVI
Один или несколько списков strl следуют за заголовком main. Для каждого потока данных требуется список strl. Каждый список strl содержит сведения об одном потоке в файле и должен содержать блок заголовка потока (strh) и блок формата потока (strf). Кроме того, список strl может содержать блок данных заголовка потока (strd) и блок имени потока (strn).
Блок заголовка потока (strh) состоит из структуры AVISTREAMHEADER .
Блок формата потока (strf) должен следовать за блоком заголовка потока. Фрагмент формата потока описывает формат данных в потоке. Данные, содержащиеся в этом блоке, зависят от типа потока. Для видеопотоков эти сведения являются структурой BITMAPINFO , включая сведения о палитре, если это необходимо. Для аудиопотоков информация представляет собой структуру WAVEFORMATEX .
Если присутствует блок данных заголовка потока (strd), он следует блоку формата потока. Формат и содержимое этого блока определяются драйвером кодека. Как правило, драйверы используют эти сведения для настройки. Приложениям, которые считывают и записывают AVI-файлы, не нужно интерпретировать эти сведения; они просто переносят его в драйвер и из него в качестве блока памяти.
Необязательный блок strn содержит текстовую строку, завершающуюся null, описывающую поток.
Заголовки потоков в списке hdrl связаны с данными потока в списке movi в соответствии с порядком блоков strl. Первый блок strl применяется к потоку 0, второй — к потоку 1 и т. д.
Поток данных (список movi)
После сведений заголовка отображается список movi, содержащий фактические данные в потоках, то есть видеокадры и примеры звука. Блоки данных могут находиться непосредственно в списке movi или быть сгруппированы в списки rec. Группирование «rec» подразумевает, что сгруппированные блоки должны считываться с диска одновременно, и предназначено для файлов, которые чередуются для воспроизведения с компакт-диска.
Функция FOURCC, идентифицирующая каждый блок данных, состоит из двухзначного номера потока, за которым следует двухзначный код, определяющий тип информации в блоке.
| Двухсимвный код | Описание |
|---|---|
| db | Несжатый видеокадр |
| dc | Сжатый видеокадр |
| пк | Изменение палитры |
| Wb | Звуковые данные |
Например, если поток 0 содержит звук, то блоки данных для этого потока будут иметь значение FOURCC «00wb». Если поток 1 содержит видео, блоки данных для этого потока будут иметь FOURCC «01db» или «01dc». Фрагменты видеоданных также могут определять новые записи палитры для обновления палитры во время последовательности AVI. Каждый блок изменения палитры (xxpc) содержит структуру AVIPALCHANGE . Если поток содержит изменения палитры, установите флаг AVISF_VIDEO_PALCHANGES в элементе dwFlags структуры AVISTREAMHEADER для этого потока.
Текстовые потоки могут использовать произвольные коды из двух символов.
Записи индекса AVI
Необязательный фрагмент индекса (idx1) может следовать за списком movi. Индекс содержит список блоков данных и их расположение в файле. Он состоит из структуры AVIOLDINDEX с записями для каждого блока данных, включая блоки «rec». Если файл содержит индекс, установите флаг AVIF_HASINDEX в элементе dwFlags структуры AVIMAINHEADER .
Индекс AVI 2.0 может выглядеть как один блок. Кроме того, сегменты индекса можно чередуть в пределах блока movi. Если сегменты индекса помещаются в блок movi, супериндекс содержит индекс сегментов индекса. Структура AVIMETAINDEX является базовой структурой как для сегментов индекса, так и для супериндексов. Дополнительные сведения см. в разделе Расширения формата файлов OpenDML AVI, опубликованные в AVI-OpenDML M-JPEG. (Этот ресурс может быть недоступен для некоторых языков и стран.)
Другие блоки данных
Данные можно выровнять в AVI-файле, вставив блоки «JUNK» при необходимости. Приложения должны игнорировать содержимое блока «JUNK».
Avi jpeg что это

Начиная с 2013 года мы сконвертировали
более
113.091.477 файла(-ов)
!
Все о файлах AVI
Формат файла .avi — это контейнерный формат, разработанный Microsoft для аудио- и видеофайлов. Аббревиатура .avi расшифровывается как A udio V ideo I nterleave, что означает «связывание аудио и видео данных», и является описанием технического фона. Поскольку файлы .avi могут содержать разные кодеки (кодек — это своего рода алгоритм, в котором хранятся данные), файл .avi не всегда можно открыть на каждом устройстве. Например, файлы .mp4 обеспечивают лучшую совместимость, что теперь можно открыть практически любым современным веб-браузером.
10.0 / 10 (4 голоса)
Конвертируйте, открывайте и редактируйте файлы AVI
Информация о файлах AVI
Программное обеспечение для открытия файлов AVI Программное обеспечение для редактирования файлов AVI MIME-тип для AVI
RAW или JPEG — вот в чем вопрос!
Всем добрый день! Сегодня рассмотрим очень простой вопрос — в каком формате снимать?
Практически все современные фотокамеры, независимо от того, зеркальные или компакты, могут снимать в двух форматах.
Первый, наиболее привычный, всем знакомый — JPEG.
Второй, родной для профессионалов и, подчас, совершенно неизвестный любителям RAW(маркируется как CR – на камерах CANON, NEF – на камерах NIKON, ARW – на камерах SONY).
В чем же разница? И в каком формате лучше и удобнее снимать любителям?
Обычно все любители снимают в JPEG, даже не всегда задумываясь об этом и это, действительно объяснимо, ибо этот формат:
— достаточно хорошо передает информацию о файле, это относится преимущественно к фотофайлам, причем, желательно с натуральным, плавным переходом цветов
— читается всеми браузерами, просмотрщиками и т. д
— фактически JPEG — это уже обработанный файл, там повышена резкость, насыщенность и т. д. , то есть, если Вы принципиально не планируете обрабатывать фото, то это ваш формат.
Однако, в тоже время JPEG:
(материал из Википедии )
— «малопригоден для сжатия чертежей, текстовой и знаковой графики, где резкий контраст между соседними пикселами приводит к появлению заметных артефактов, изображения целесообразно сохранять в форматах без потерь, таких как , GIF или PNG.
— JPEG не должен использоваться и в тех случаях, когда недопустимы даже минимальные потери, например, при сжатии астрономических или медицинских изображений. В таких случаях может быть рекомендован предусмотренный стандартом JPEG режим сжатия Lossless JPEG (который, однако, не поддерживается большинством популярных кодеков) или стандарт сжатия JPEG-LS.
— JPEG (как и другие методы искажающего сжатия) не подходит для сжатия изображений при многоступенчатой обработке, так как искажения в изображения будут вноситься каждый раз при сохранении промежуточных результатов обработки.»
Даже если Вы не снимаете чертежи и высоко контрастные изображения, равно как и астрономические или медицинские объекты, то на третий пункт я советую обратить особое внимание — КАЖДЫЙ РАЗ, КОГДА ВЫ СОХРАНЯЕТЕ ФАЙЛ ФОРМАТА JPEG ОН ТЕРЯЕТ В КАЧЕСТВЕ.
Поэтому, если у Вас есть обработанные файлы, сохраненные в формате JPEG, каждый раз когда сохраняете файл, используйте первый файл, а не пересохраненную копию.
Вот так :
1 — 2 сохраненный файл
1 — 3 сохраненный файл
1 — 4 сохраненный файл
а не 1-2-3-4, тогда потери качества будут минимальны.
Теперь из практики:
Основной недостаток
— Файл, снятый (а точнее, записанный ФА ) в формате JPEG не содержит ВСЕЙ информации, которая попала на матрицу. При съемке, часть ее (информации) потеряна безвозвратно.
Поэтому, если файл имеет какой либо дефект ( чаще всего это провалы в тенях и светах), то как бы Вы не обрабатывали его, кардинально ситуацию не исправите и кадр придется выбросить.
— Чем больше Вы обрабатываете файл, работая в кривых и уровнях, тем ужаснее будет выглядеть гистограмма, очень быстро она становится похожей на расческу с выломанными зубчиками, что говорит о серьезных потерях цвета, то есть на файле все меньше сохраняется полутонов.
С файлом же, снятом в формате RAW, Вы можете сделать множество чудес!
Как минимум:
— откорректировать экспозицию (в пределах одной ступени без потери качества)
— наложить градиент на пересвеченное небо или другую область
— убрать пересветы локально
— вернуть детали в тенях
— откорректировать баланс белого
— повысить контраст в средних тонах
На самом деле RAW файл дает гораздо больше возможностей, но, если Вы только начинаете увлекаться фотографией, то этих опций Вам будет достаточно.
В тоже время, RAW файлы значительно больше весят чем JPEG, и выглядят без обработки несколько серовато, вяло и немного мыльно.
Поэтому я рекомендую снимать RAW + JPEG.
Особо понравившиеся кадры Вы сможете тщательно обработать из формата RAW (потом их нужно будет сохранить в формате TIFF или JPEG ).
Для просмотра же более удобен JPEG, кроме того, если кадр не требует особой обработки, то Вам удобнее его выставлять в интернете.
В ходе размышлений о RAW и JPEG у меня родилось такое сравнение:
Вот какой кофе Вы больше любите, растворимый или натуральный?
Согласитесь, чтобы насладиться кофейным вкусом, потребуется натуральный, но с ним много хлопот — смолоть определенного размера, сварить по нужному рецепту, добавить сливки, корицу или даже цедру апельсина….
С растворимым гораздо проще и быстрее, не так вкусно и ароматно, зато результат всегда предсказуемый и на колдовство время тратить не нужно.
Растворимый кофе уже занял свою нишу и человечество от него не откажется. Как и от формата JPEG.
Но настоящие ценители всегда предпочтут потрудиться над исходным продуктом, доведя его до совершенства, как в случае с кофе, так и с фотофайлом.
Форматы графических файлов
Форматы графических файлов. Растровые и векторные форматы.
Информация в разделе по материалам ВикипедиЯ
Формат TIFF
TIFF (англ. Tagged Image File Format) — формат хранения растровых графических изображений. TIFF стал популярным форматом для хранения изображений с большой глубиной цвета. Он используется при сканировании, отправке факсов, распознавании текста, в полиграфии, широко поддерживается графическими приложениями.
Структура формата гибкая и позволяет сохранять изображения в режиме цветов с палитрой, а также в различных цветовых пространствах:
- Бинарном (двуцветном, иногда называемом чёрно-белым)
- Полутоновом
- С индексированной палитрой
- RGB
- CMYK
- YCbCr
- CIE Lab
Поддерживаются режимы 8, 16, 32 и 64 бит на канал.
Сжатие. Имеется возможность сохранять изображение в файле формата TIFF со сжатием и без сжатия. Степени сжатия зависят от особенностей самого сохраняемого изображения, а также от используемого алгоритма. Формат TIFF позволяет использовать следующие алгоритмы сжатия:
- PackBits (RLE)
- Lempel-Ziv-Welch (LZW)
- LZ77
- ZIP
- JBIG
- JPEG
- CCITT Group 3, CCITT Group 4
Алгоритмы CCITT Group 3, CCITT Group 4 первоначально были разработаны для сетей факсимильной связи (поэтому иногда их называют Fax 3, Fax 4). В настоящий момент они также используются в полиграфии, системах цифровой картографии и географических информационных системах.
TIFF является теговым форматом и в нём используются основные, расширенные и специальные теги:
Основные теги составляют ядро формата и должны поддерживаться всеми продуктами, реализующими формат TIFF в соответствии со спецификацией. Поддержка расширенных тегов, в отличие от основных необязательна.
Формат JPEG
JPEG ( англ. Joint Photographic Experts Group, по названию организации-разработчика) — один из популярных графических форматов, применяемый для хранения фотоизображений. Файлы, содержащие данные JPEG, обычно имеют расширения .jpeg, .jfif, .jpg, .JPG, или .JPE. Алгоритм JPEG позволяет сжимать изображение как с потерями, так и без потерь.
Алгоритм JPEG в наибольшей степени пригоден для сжатия фотографий и картин, содержащих реалистичные сцены с плавными переходами яркости и цвета. Наибольшее распространение JPEG получил в цифровой фотографии и для хранения и передачи изображений с использованием сети Интернет.
С другой стороны, JPEG малопригоден для сжатия чертежей, текстовой и знаковой графики, где резкий контраст между соседними пикселами приводит к появлению заметных артефактов. Такие изображения целесообразно сохранять в форматах без потерь, таких как TIFF, GIF или PNG.
JPEG (как и другие методы искажающего сжатия) не подходит для сжатия изображений при многоступенчатой обработке, так как искажения в изображения будут вноситься каждый раз при сохранении промежуточных результатов обработки. JPEG не должен использоваться и в тех случаях, когда недопустимы даже минимальные потери, например, при сжатии астрономических или медицинских изображений.
К недостаткам сжатия по стандарту JPEG следует отнести появление на восстановленных изображениях при высоких степенях сжатия характерных артефактов: изображение рассыпается на блоки размером 8×8 пикселов (этот эффект особенно заметен на областях изображения с плавными изменениями яркости), в областях с высокой пространственной частотой (например, на контрастных контурах и границах изображения) возникают артефакты в виде шумовых ореолов.
Однако, несмотря на недостатки, JPEG получил очень широкое распространение из-за достаточно высокой степени сжатия, поддержке сжатия полноцветных изображений и относительно невысокой вычислительной сложности.
Формат PDF
PDF (англ. Portable Document Format) — кроссплатформенный формат электронных документов, созданный фирмой Adobe Systems с использованием ряда возможностей языка PostScript. Чаще всего PDF-файл является комбинацией текста с растровой и векторной графикой, реже — текста с формами, JavaScript’ом, 3D-графикой и другими типами элементов. В первую очередь предназначен для представления в электронном виде полиграфической продукции, — значительное количество современного профессионального печатного оборудования может обрабатывать PDF непосредственно. Для просмотра можно использовать официальную бесплатную программу Adobe Reader, а также программы сторонних разработчиков. Традиционным способом создания PDF-документов является виртуальный принтер, то есть документ как таковой готовится в своей специализированной программе — графической программе или текстовом редакторе, САПР и т. д., а затем экспортируется в формат PDF для распространения в электронном виде, передачи в типографию и т. п. PDF.
Формат PDF позволяет внедрять необходимые шрифты (построчный текст), векторные и растровые изображения, формы и мультимедиа-вставки. Поддерживает RGB, CMYK, Grayscale, Lab, Duotone, Bitmap, несколько типов сжатия растровой информации. Имеет собственные технические форматы для полиграфии: PDF/X-1, PDF/X-3. Включает механизм электронных подписей для защиты и проверки подлинности документов. В этом формате распространяется большое количество сопутствующей документации.
Формат CALS
Растровый формат CALS (англ. Computer Aided Acquisition and Logistics Support) стардарт, разработанный подразделением министерства обороны США для стандартизации обмена графическими данными в электронном виде, особеннв в областях технической графики, CAD/CAM и приложений обработки изображений.
CALS — хорошо документированный, хотя и громоздкий, формат, в котором сделана попытка охватить многие вещи. Если вы не знакомы с документами правительства США, вам, вомзожно, покажется работа с данным форматом весьма сложной. Растровый формат CALS является необходимым в большинстве приложений, обрабатывающих документы правительства США. Поскольку все данные имеют байтовую организацию проблем типа «с какого конца разбить яйцо тупого или острого » никогда не возникает.
Характеристики формата CALS
- Тип — Bitmap (битовая матрица)
- Цвет — монохром
- Сжатие — CCITT Group 4 или без сжатия
- Максимальный размер изображения — неограничен
- Несколько изображений в файле — да, только для Type II
- Платформы — все
Формат BMP
BMP (от англ. Bitmap Picture) — формат хранения растровых изображений, разработанный компанией Microsoft. С форматом BMP работает огромное количество программ, так как его поддержка интегрирована в операционные системы Windows и OS/2. Файлы формата BMP могут иметь расширения .bmp, .dib и .rle.
Глубина цвета в данном формате может быть 1, 2, 4, 8, 16, 24, 32, 48 бит на пиксель, но глубина 2 бита на пиксель официально не поддерживается. При этом для глубины цвета меньше 16 бит используется палитра с полноцветными компонентами глубиной 24 бита. В формате BMP изображения могут храниться как есть или же с применением некоторых распространённых алгоритмов сжатия. В частности, формат BMP поддерживает RLE-сжатие без потери качества, а современные операционные системы и программное обеспечение позволяют использовать JPEG и PNG.
Формат PCX
PCX (PCExchange) — стандарт представления графической информации, не столь популярный аналог BMP, хотя поддерживается специфическими графическими редакторами, такими как Adobe Photoshop, Corel Draw, GIMP и др. В настоящее время практически вытеснен форматами, которые поддерживают лучшее сжатие: GIF, JPEG и PNG.
Тип формата — растровый. Большинство файлов такого типа использует стандартную палитру цветов, но формат был расширен из расчета на хранение 24-битных изображений. PCX — аппаратно-зависимый формат. Предназначается для хранения информации в файле в таком же виде, как и в видеоплате. Для совместимости со старыми программами необходима поддержка EGA-режима видеоконтроллером. Алгоритм такого сжатия очень быстрый и занимает небольшой объём памяти, однако не очень эффективен, непрактичен для сжатия фотографий и более детальной компьютерной графики. Используется сжатие без потерь. При сохранении изображения подряд идущие пиксели одинакового цвета объединяются и вместо указания цвета для каждого пикселя указывается цвет группы пикселей и их количество. Такой алгоритм хорошо сжимает изображения, в которых присутствуют области одного цвета.
Достоинства формата
- возможность создания ограниченной палитры цветов (например, 16 или 256 цветов);
- поддерживается большим количеством приложений.
Недостатки формата
- не поддерживает цветовые системы, отличные от RGB;
- многочисленные варианты, особенно при работе с цветами, могут делать работу с файлом невозможным;
- неудобная схема сжатия в действительности может увеличивать размеры некоторых файлов.
Формат PNG
PNG (англ. portable network graphics) — растровый формат хранения графической информации, использующий сжатие без потерь.
Область применения
Формат PNG спроектирован для замены устаревшего и более простого формата GIF, а также, в некоторой степени, для замены значительно более сложного формата TIFF. Формат PNG позиционируется прежде всего для использования в Интернете и редактирования графики.
PNG поддерживает три основных типа растровых изображений:
- Полутоновое изображение (с глубиной цвета 16 бит)
- Цветное индексированное изображение (палитра 8 бит для цвета глубиной 24 бит)
- Полноцветное изображение (с глубиной цвета 48 бит)
Формат PNG хранит графическую информацию в сжатом виде. Причём это сжатие производится без потерь, в отличие, например, от JPEG с потерями. Формат PNG обладает более высокой степенью сжатия для файлов с большим количеством цветов, чем GIF, но разница составляет около 5-25 %, что недостаточно для абсолютного преобладания формата, так как небольшие 2-16-цветные файлы формат GIF сжимает с не меньшей эффективностью.
PNG является хорошим форматом для редактирования изображений, даже для хранения промежуточных стадий редактирования, так как восстановление и пересохранение изображения проходят без потерь в качестве.
Анимация
Существует одна особенность GIF, которая в PNG не реализована — поддержка множественного изображения, особенно анимации; PNG изначально был предназначен лишь для хранения одного изображения в одном файле.
Формат Sun Raster
Формат изображений Sun Raster это родной растровый формат платформ Sun Microsystems использующих операционную систему SunOS. Этот формат поддерживает черно-белые, полутоновые и цветные растровые данные произвольной глубины цвета. Поддерживается также использование цветовых карт и простой компрессии данных Run-Length. Обычно большинство изображений в операционной системе SunOS представлены в формате Sun Raster. Также этот формат поддерживается большинством программ работы с изображениями под UNIX.
Характеристики формата Sun Raster
- Тип — bitmap (битовая матрица)
- Цвета — различные
- Сжатие — RLE
- Несколько изображений в файле — не поддерживается
- Платформа — SunOS
- Приложения — многие приложения под UNIX
Информация в разделе по материалам ВикипедиЯ