Interested Article - Huffyuv
- 2021-07-17
- 1
Huffyuv (или HuffYUV ) — кодек , предназначенный для сжатия видео без потерь . Создан Ben Rudiak-Gould, в целях замены несжатого YCbCr как формата видео захвата. Несмотря на « YUV » в названии, он использует цветовое пространство не YUV, а YCbCr. «Без потерь» означает, что результат декомпрессии бит-в-бит идентичен исходному потоку перед компрессией (при условии, что не проводилось преобразование цветового пространства). Алгоритм Huffyuv предсказывает каждый пиксель кадра и затем кодирует ошибку по алгоритму Хаффмана .
Реализации
Оригинальная реализация была написана для Windows Ben Rudiak-Gould и издана на условиях GPL . Реализация считается очень быстрой, даёт пропускную способность сжатия до 38 МБ в секунду на Celeron 416 МГц. Оригинальный Huffyuv не обновлялся с 2002 г.
Более современный форк кодека доступен в проекте Lagarith . Проект FFmpeg также содержит реализацию HuffYUV, что позволяет создавать и проигрывать файлы HuffYUV на Linux и Mac OS X . Также это означает, что многие программы, которые используют FFMPEG как основу, могут также играть/создать файлы HuffYUV, например, Медиапроигрыватель VLC , MPlayer и ffdshow .
ffvhuff
Свободно распространяемая (free software) библиотека кодеков Libavcodec содержит улучшенный вариант формата huffyuv, названный для удобства дискриминации старого кодека " ffvhuff " (FourCC: FFVH). Усовершенствования включают, среди прочих, поддержку YV12 цветового пространства (оригинальный huffYUV кодек был ограничен YUY2 и RGB) и улучшенную эффективность сжатия с использованием добавленной в FF адаптивной таблицы Хаффмана .
Библиотека нового ff-кодека имеет обратную совместимость с эталонным старым huff-кодеком, но последний не совместим с новым форматом ffvhuff. Новый кодек для Windows, например, на интерфейсе ffdshow доступен и может использоваться в записи на VirtualDub(Mod) или OBS Studio, и подобных задачах сжатия без потерь на лету. Для хранения более ценных lossless-исходников, видимо, лучше применять старый huffyuv, поскольку новый кодек это huffyuv + adaptive huffman tables.
Ссылки
- (англ.)
- 2021-07-17
- 1