Собственный движок сжатия с интеллектуальным распределением стратегий по типу файла
Написан на Rust, распределяет по специализированным компрессорам по типу файла
Движок сжатия SmartSlim написан на Rust. Основной подход заключается в распределении входных файлов по соответствующим специализированным компрессорам (изображения, PDF, видео, аудио, документы Office, OFD и т.д.) в зависимости от типа файла, причём каждый компрессор применяет оптимальную стратегию сжатия для данного формата. Движок интеллектуально анализирует характеристики изображений для автоматического выбора схем сжатия, использует нативные привязки библиотек для видео/аудио для достижения наилучшей производительности и применяет стратегию структурированной перепаковки для документов Office.
Анализирует характеристики изображения и автоматически выбирает оптимальную стратегию кодирования
Движок автоматически анализирует характеристики изображения, такие как распределение оттенков серого и сложность деталей, определяя, является ли изображение бинарным, документом, смешанным или фотографическим типом, предоставляя основу для решения о последующей стратегии сжатия.
Изображения классифицируются на 4 категории по нескольким индикаторам: Бинарные (например, сканированные документы), Документ (немного цветов), Смешанные (текст + фото), Фото (богатые цвета). Разные категории используют разные параметры качества.
На основе формата ввода и результата классификации движок распределяет по специализированным кодировщикам для целевой оптимизации. Параметры качества регулируются по уровню сжатия (низкий/средний/высокий/ультра) для балансировки степени сжатия и чёткости.
Субдискретизация и контроль DPI для значительного уменьшения размера
Нативные привязки библиотек, без накладных расходов процесса
На основе нативных привязок библиотек (не вызов командной строки, без накладных расходов процесса), поддерживает основные форматы видеокодирования. Управляет качеством изображения через постоянный фактор качества, выбирает оптимальные пресеты кодирования по сценарию для балансировки скорости и коэффициента сжатия. Поддерживает специфичные для сценария параметры для веб-публикации, потоковой передачи, социальных сетей, прямого эфира, прокси для монтажа и т.д.
Поддерживает несколько форматов аудиокодирования, балансируя низкий битрейт с высоким качеством звука. Устанавливает целевой битрейт и частоту дискретизации по сценарию (архивирование, музыкальный стриминг, подкаст, голосовое сообщение, рингтон, веб-публикация).
Структурированная перепаковка + интеллектуальное сжатие встроенных изображений
Word (docx), Excel (xlsx), PPT (pptx) и другие документы Office по сути являются архивными форматами, содержащими XML и встроенные медиаресурсы. Движок применяет следующую стратегию:
Гибкая стратегия контроля параллелизма
Для сжатия отдельных файлов движок внутренне использует многопоточность для кодирования/декодирования, полностью задействуя многоядерную производительность. Пакетные задачи сжатия поддерживают управление количеством одновременных задач через конфигурацию авторизации. Серверная редакция может горизонтально масштабировать процессы Worker для повышения общей пропускной способности.
Изучить архитектуру безопасности и поддержку форматов