| | начало | | | новости | | | файлы | | | характеристики | | | цели | | | формат | | |
| | id | | | сравнение | | | разработка | | | документация | | | ссылки | | | авторы | | |
| | english | | | русский | | |
FLAC - это аббревиатура от free lossless audio codec (свободный кодек, обеспечивающий сжатие без потерь). Проект FLAC включает:
- потоковый формат
- библиотеку libFLAC, реализующую базовый енкодеры и декодеры.
- flac, утилиту командной строки, выполняющую сжатие и распаковку .flac файлов.
- Плагины для разных плейеров (Winamp, XMMS, ведется работа над другими).
"Свобода" означает, что спецификация потокового формата относится к категории public domain (проект FLAC оставляет за собой право устанавливать спецификации и сертифицировать относящиеся к нему продукты на совместимость), а также то, что ни формат, ни один из реализованных методов кодирования/декодирования не запатентованы. Это также значит, что исходники libFLAC доступны по лицензии LGPL, а исходники flac и плагинов - по GPL.
Характеристики FLAC:
- Формат FLAC и методы кодирования/декодирования не защищены патентами.
- FLAC сжимает файлы без потерь. Кодирование PCM данных не приводит к потере информации, следовательно, декодируемый аудиофайл абсолютно идентичен тому, который был подан на вход енкодеру. Чтобы определить возможные ошибки при передаче файла, для каждого фрейма вычисляется 16-битная контрольная сумма. Целостность на дальнейшем этапе подтверждается подписью MD5 распакованных данных, которая находится в заголовке и может быть проверена при воспроизведении, декодировании или с помощью тестирования.
- FLAC разработан для сжатия аудиоданных. Теоретически, flac может компрессировать без потерь любые другие данные (если передавать их как 8-битный моно raw-файл), однако выходные файлы получаются почти такого же размера.
- Возможности сжатия во FLAC расширяемы. Это означает, что в будущих версиях формата могут быть добавлены новые методы без потери обратной совместимости.
- Реализованные на данный момент методы компрессии создают потоки меньшего размера, чем Shorten (кодек с открытыми исходниками, являющийся текущим стандартом сжатия без потерь "у них"). Время кодирования зависит от метода, но обычно сравнимо с Shorten и LAME. Самые активные методы могут работать очень медленно. Подробнее об этом можно посмотреть на странице сравнение.
- FLAC рассчитан на быстрое декодирование. Декодирование в реальном времени легко достижимо даже на старых компьютерах, так как для него требуется только целочисленная арифметика.
- FLAC удобно использовать для архивации, так как сжатие с его помощью не приводит к потере информации. Вы не привязаны к формату. Если в будущем Вы решите использовать другой формат, данные будут восстановлены из .flac файла в первоначальном виде. Кроме контрольной суммы фрейма и подписи MD5, утилита flac имеет возможность проверки, использование которой приводит к тому, что кодируемый поток сразу же декодируется и сравнивается с исходным. Если происходит ошибка, енкодер прекращает работу.
- FLAC - потоковый формат. Это значит, что каждый фрейм содержит достаточно информации для собственного декодирования. Текущий фрейм FLAC не зависит от предыдущих и последующих. FLAC использует коды синхронизации и контрольные суммы, что позволяет декодеру быстро выбирать позицию в текущем потоке.
- FLAC поддерживает быстрый и точный поиск, что полезно не только при воспроизведении, но и дает возможность использовать FLAC в звуковых редакторах.
- FLAC имеет расширяемую систему метаданных. Новые блоки метаданных могут быть определены и реализованы в будущих версиях без потери обратной совместимости. Приложение может использовать блок метаданных APPLICATION после регистрации для него id. Добавленные тэги ID3 и ID3v2 к .flac файлам не влияют на поцесс декодирования.
Некоторые дополнительные преимущества, вытекающие из приведенных выше характеристик:
- Потоки FLAC могут быть воспроизведены слитно, без пауз между треками. Таким образом, Вы можете сжать концертный альбом, разделенный на треки, и добиться его непрерывного воспроизведения.
- Механизм точного поиска позволяет организовывать различные режимы воспроизведения: в плейере можно сделать индексный поиск, различные циклы или другие виды структурированного воспроизведения. Это очень полезно, например, для dj'ев или для репетиций, когда нужно повторять определенные пассажи.
- В итоге вы получаете гибкость wav-файла в сжатом потоковом формате.
Чего нет во FLAC?
- FLAC не осуществляет сжатие с потерями. Для этого существует много хороших форматов, таких как mp3 (отличная реализация с открытими исходниками LAME) и Ogg Vorbis.
- FLAC не будет SDMI совместимым и т.п. Перед проектом не стоит цели поддерживать методы защиты, которые на практике лишь увеличивают объем файла. Конечно, мы не собираемся препятствовать кому-либо создавать соответствующие блоки метаданных, однако, стандартные декодеры все равно будут их пропускать.
Copyright (c) 2001 Josh Coalson