Рубрика «сжатие данных»

В этом году в операционных системах Apple изменился формат сохранения изображений по умолчанию. С выходом iOS 11 и MacOS High Sierra миллионы пользователей продукции яблочного гиганта получили возможность использовать новый формат хранения изображений HEIF. Он пришел на смену старому доброму JPEG, хотя многие и не знают, что это произошло. По расчетам Apple пользователи должны получить значительную экономию места на диске (до 50%) за счет большей эффективности сжатия при лучшем качестве картинки.

Читать полностью »

Цель: Предоставить инструкцию по сборке динамического модуля, дать понимание принципа сборки динамического модуля для Nginx поставленного из репозитория Debian.

Целевая аудитория: Администраторы серверов, продвинутые администраторы сайтов, сео-оптимизаторы и просто те кто хочет добиться хорошей оценки от сервиса Google PageSpeed.

Статей на эту тему не мало в поиске светится, но на мой взгляд ни одна не раскрыта как надо. Да и нет толковых пояснений. Для не опытного юзера это может оказаться сложным, да и большая часть статей поясняет как собирать Nginx вместе с модулем, и только единицы показывают что можно собрать динамический.

План действий такой:

1. Арендуем vps на час.
2. Собираем на арендованной vps динамический модуль на той же самой версии Nginx что была использована на боевом (это ВАЖНО!!!. Поддержка динамических модулей у Nginx появилась с версии 1.9.11).
3. Перекидываем модуль на новый сервер.
4. Конфигурируем Nginx.
5. Применяем настройки.
6. Замораживаем версию Nginx (Если это не сделать, то при ближайшем обновлении Nginx, произойдёт падение сервера. Причина в том что скомпилированный модуль будет работать только с конкретной версией Nginx. Если захотите обновиться, скомпилируете модуль для новой версии и обновитесь).

Или следим за тем что обновляем и своевременно добавляем новый собранный модуль.

Преимущество в том что боевой сервер не подвергается изменению и если Вам к примеру не понравится ngx_pagespeed, то вы просто уберёте строчки конфигурирующие его и сам модуль. Ну и если Вы используете несколько серверов с Nginx Вы можете один раз скомпилировать модуль для них всех.
Читать полностью »

Исполнилось 10 лет с того момента, когда Центробанк России начал требовать от банков раскрывать эффективную ставку по кредиту. Это было важное событие, которое умерило пыл маркетологов финансового сектора и приблизило смысл их рекламы к реальности. Клиенты банков с удивлением обнаружили, что они переплачивают в полтора-два раза по сравнению с заявленными ставками, и, вооруженные новыми знаниями, стали делать более осознанный выбор.

А в информационных технологиях такого контролирующего органа, как Центробанк, нет, поэтому беспредел продолжается. Одна из самых горячих тем – это экономия дискового пространства при использовании флеш-памяти. Да, SSD стоят уже не так дорого (особенно после скидок), но для того, чтобы сравняться по стоимости хранения с традиционными дисками, приходится учитывать возможности всех технологий сжатия данных. И вот тут фантазия отделов маркетинга становится буйной. Судя по сохранившимся ссылкам на форуме, эффективность технологий сжатия данных у одного из вендоров составила 933:1 (правда, в следующей версии операционной системы, новой и улучшенной, упала до 4:1 – но ведь прогресс не остановить?). Бесконечность – не предел. Но реальная жизнь предприятий, использующих системы хранения, отличается от мультипликационных фильмов. Мы здесь не в игрушки играем!

Нам нечего скрывать – все честно в HPE 3PAR Data Reduction Guarantee - 1Читать полностью »

Внезапно ваш диск под завязку забит фотографиями и видео, а впереди новые поездки. Что делать, покупать новый, арендовать дисковое пространство на облаке, или может лучше сжать видео файлы через ffmpeg?

Укрощаем мультимедиа с помощью ffmpeg - 1

Впрочем зачем себя ограничивать экономией дискового пространства? Предлагаю узнать удивительные возможности обработки фотографий, аудио и видео данных, утилитами командной строки.

Читать полностью »

Время чудес, или Тормоза для конца света - 1

Источник

Когда говорят «конец света», значит, хотят продать кукурузные хлопья,
а вот если говорят «без паники», тут уж дело серьезнее.
Стивен Кинг. «Буря столетия»

Говорят, что наиболее оптимистичные пессимисты верят в счастливый конец света. Применительно к телекому эта мысль имеет второе дно. Все учебные пособия по телекоммуникациям сходятся в одном: когда взамен медных линий стали применяться волоконно-оптические линии связи (ВОЛС) вкупе с лазерами, для отрасли наступило долгожданное и практически вечное счастье, по крайней мере в части обеспечения высокой пропускной способности для почти мгновенной (буквально со скоростью света) доставки множества информационных потоков. Так в отрасли началось время чудес. Да будет свет!

Однако сегодня пропускная способность оптических транспортных сетей стремительно приближается к своему пределу. Дальнейшее ее наращивание потребует организации новой инфраструктуры ВОЛС и – новых инвестиций. Об этом и предлагаем поговорить ниже.

Читать полностью »

На Yelp хранится более 100 миллионов пользовательских фотографий, от картинок ужинов и причёсок до одной из наших последних фич, #yelfies. Эти изображения составляют основную часть трафика для пользователей приложения и веб-сайта, а их хранение и передача обходятся недёшево. Стараясь предоставить людям наилучший сервис, мы усиленно работали над оптимизацией всех фотографий и добились среднего уменьшения размера на 30%. Это экономит людям время и трафик, а также сокращает наши расходы на обслуживание этих изображений. Ах да, и мы сделали это без ухудшения качества фотографий!

Исходные данные

Yelp хранит пользовательские фотографии уже 12 лет. Мы сохраняем lossless-форматы (PNG, GIF) как PNG, а все остальные форматы в JPEG. Для сохранения файлов используются Python и Pillow, а загрузки фотографий начинаются примерно с такого сниппета:

# do a typical thumbnail, preserving aspect ratio
new_photo = photo.copy()
new_photo.thumbnail(
    (width, height),
    resample=PIL.Image.ANTIALIAS,
)
thumbfile = cStringIO.StringIO()
save_args = {'format': format}
if format == 'JPEG':
    save_args['quality'] = 85
new_photo.save(thumbfile, **save_args)

Читать полностью »

В этой статье я расскажу, как использовать описанные в прошлой статье инструменты для исследования игры Felix The Cat для NES. Моя первоначальная цель была, как обычно, разобрать формат уровней игры и добавить её в свой универсальный редактор уровней CadEditor, однако в ходе изучения игры обнаружилось, что описание уровней сжато (это редкость для NES-игр!), поэтому я также разобрал формат компрессии данных, и написал компрессор, позволяющий сжимать отредактированные уровни так же, как это делали разработчики игры.

Использование инструментов исследования NES-игр на примере разбора формата компрессии игры Felix The Cat - 1

Читать полностью »

Для многих не секрет, что большинство изображений в форматах JPEG и PNG содержат избыточную информацию, которая может быть удалена без потери качества. Обычно это достигается за счет эвристических алгоритмов перебора различных параметров компрессии и выбора наименее затратного варианта. Применение оптимизаторов особенно важно на файлах, которые используются на посещаемых сайтах, для экономии дискового пространства, трафика и уменьшения времени загрузки страниц у пользователей. Программ такого типа довольно много и мы поставили себе цель найти какие же оптимизаторы сжимают лучше и работают быстро.

В тесте принимали участие следующие программы.

Для PNG:

1. Leanify 0.4.3 (x64)
2. pingo v0.79c
3. pinga v0.09
4. OptiPNG 0.7.6
5. pngout
6. PngOptimizer 2.5 (x64)
7. advpng aka AdvanceCOMP v1.23
8. ECT 0.6 (x64)
9. TruePNG 0.6.2.2
10. pngwolf-zopfli 1.1.1 (x64)

Для JPEG:

1. Leanify 0.4.3 (x64)
2. pingo v0.79c
3. ECT 0.6 (x64)
4. mozjpeg 3.2 (x64)
5. jhead 3.00
6. jpegoptim v1.4.4 (x64)
7. jpegtran
Читать полностью »

Предисловие

Привет, читатели. Это мой первый пост на хабре. Нахожусь в приподнятом настроении, поэтому решил поделиться знанием с миром, ну и для себя оставить, когда через месяц сложно будет вспомнить последовательность действий. Частенько мне приходилось уже изобретенное колесо изобретать снова. Получалось быстрее, тем не менее, мне это стоило обычно недюжинного напряжения ума.

Многие, как и мы, хостят свои сайты на т.н. shared hosting. Наш хостер fozzy всем хорош, менять его желания никакого нет, поэтому, когда в google adwords поддержке нас ткнули носом в низкий рейтинг pagespeed insight на мобильной версии, пришлось снова вернуться к вопросу оптимизации изображений.

Несколько месяцев назад этот вопрос уже возникал. Я пытался по всяким мануалам, в том числе с Хабра, добиться высокого рейтинга на pagepseed, но одно дело получить 100 баллов при загрузке страницы:

<html><body>Hello world!</body></html>

и совсем другое дело получить высокую оценку на странице интернет магазина, на котором куча скриптов, которые нельзя отключить или загружать асинхронно.
Читать полностью »

FLIF

Как формат JPEG произвел в свое время революцию среди форматов изображений, так и новый формат FLIF обещает такого же масштаба событие для дизайнеров и веб-разработчиков.

FLIF (Free Lossless Image Format) – новый формат файлов для изображений, обеспечивающий беспрецедентное сжатие без потерь. Файлы получаются:

  • На 14% меньше, чем WebP, без потерь
  • На 22% меньше, чем BPG, без потерь
  • На 33% меньше, чем сжатый через ZopfliPNG PNG-файл
  • На 43% меньше, чем обычные PNG-файлы
  • На 46% меньше, чем оптимизированные по Adam7 чересстрочные PNG-файлы
  • На 53% меньше, чем JPEG 2000, без потерь
  • На 74% меньше, чем JPEG XR, без потерь

На Хабре уже опубликовано пару статей на тему FLIF. Но мы пойдем дальше: какую еще практическую пользу несет формат, кроме меньшего размера для любого типа изображений?
Читать полностью »