Сжатие с потерями и без потерь
Одна идея объясняет большую часть путаницы вокруг конвертации файлов, и чтобы понять её как следует, нужно две минуты.
Опубликовано
Различие
Сжатие без потерь уменьшает файл, описывая его эффективнее. Распакуйте его, и вы получите ровно то, что поместили, бит в бит. Так работают ZIP, PNG и FLAC.
Сжатие с потерями уменьшает файл, отбрасывая информацию — а именно ту, отсутствие которой человек вряд ли заметит. Так работают JPG, MP3, AAC и H.264, и они дают гораздо меньшие файлы, чем когда-либо смогло бы сжатие без потерь, именно потому, что им разрешено отбрасывать.
Потери необратимы, и именно это люди упускают
Если кодек с потерями что-то отбросил, это потеряно. Никакая последующая конвертация этого не вернёт. Конвертация MP3 в FLAC даёт большой файл без потерь, содержащий в точности недостатки MP3: она останавливает дальнейшее ухудшение, но не отменяет прежнее.
Это самое частое заблуждение о конвертации файлов, и оно стоит людям настоящей работы: фото, которое многократно открывали, редактировали и пересохраняли как JPG, каждый раз немного портится — сначала незаметно, затем очевидно.
Перекодирование накапливает потери
Конвертация между двумя форматами с потерями, например MP3 в OGG или M4A в MP3, означает декодирование звука, который уже прошёл через один кодек, и пропуск его через второй. У них разные представления о том, что безопасно отбросить, поэтому второй портит материал, который первый уже «проредил».
Практическое правило: всегда кодируйте из лучшего оригинала, который у вас есть. Если у вас остался WAV или FLAC, кодируйте из него, а не из MP3, сделанного раньше.
Когда всё это не важно
Часто это действительно не важно. MP3 со 192 кбит/с, сделанный из копии компакт-диска, неотличим от источника для большинства слушателей на большинстве оборудования. JPG с качеством 0,92 из фотографии с отпуска неотличим от оригинала при обычном размере просмотра. Одержимость потерями при перекодировании в файле, который вы послушаете один раз в машине, — напрасные усилия.
Различие важно, когда файл — это мастер-копия: то, что вы будете редактировать снова, архивировать или перекодировать позже. Храните мастер-копии без потерь. Распространяйте копии с потерями. Одна эта привычка устраняет почти все проблемы, описанные в статье.
Кто где находится
Без потерь: PNG, BMP, FLAC, WAV и форматы данных — CSV, JSON, YAML, — где единственный изменённый символ был бы ошибкой, а не компромиссом.
С потерями: JPG, WebP в обычном режиме, MP3, AAC, Vorbis, Opus и все распространённые видеокодеки, включая H.264 и VP8.
Попробуйте оба вида сами: сожмите изображение с настройками для потерь или конвертируйте WAV в FLAC, чтобы увидеть, как сжатие без потерь уменьшает звук, не меняя ни одного отсчёта.