Motor de Compresión Rust
Motor de compresión auto-desarrollado, distribuye inteligentemente la estrategia óptima por tipo de archivo
Descripción del motor
Escrito en Rust, distribuye a compresores especializados por tipo de archivo
El motor de compresión SmartSlim está escrito en Rust. Su enfoque principal es distribuir los archivos de entrada a los compresores especializados correspondientes (imagen, PDF, video, audio, documento Office, OFD, etc.) según el tipo de archivo, donde cada compresor adopta la estrategia de compresión óptima para ese formato. El motor analiza inteligentemente las características de imagen para seleccionar automáticamente esquemas de compresión, utiliza enlaces de bibliotecas nativas para video/audio para obtener el mejor rendimiento, y emplea una estrategia de reempaquetado estructurado para documentos Office.
Compresión inteligente de imágenes
Analiza características de imagen y selecciona automáticamente la estrategia de codificación óptima
1. Análisis inteligente de imagen
El motor analiza automáticamente características de imagen como distribución de escala de grises y complejidad de detalles para determinar si la imagen es de tipo binario, documento, mixto o foto, proporcionando base de decisión para la estrategia de compresión posterior.
2. Clasificación automática
Las imágenes se clasifican en 4 categorías según múltiples indicadores: Binaria (ej. documentos escaneados), Documento (pocos colores), Mixta (texto + foto), Foto (colores ricos). Diferentes categorías usan diferentes parámetros de calidad.
3. Distribución de formato y optimización de codificación
Según el formato de entrada y el resultado de clasificación, el motor distribuye a codificadores especializados para optimización dirigida. Los parámetros de calidad se ajustan por nivel de compresión (bajo/medio/alto/ultra) para equilibrar ratio de compresión y claridad.
Compresión PDF
Submuestreo y control DPI para reducción significativa
-
Submuestreo de imágenes incrustadas:Submuestrea imágenes incrustadas en PDF, ajustando resolución objetivo por nivel de compresión para reducir significativamente el tamaño del archivo manteniendo la legibilidad.
-
Control de calidad multinivel:Ofrece cuatro niveles de compresión: bajo, medio, alto y ultra. Niveles más altos logran mayores ratios de compresión. Los usuarios pueden elegir flexiblemente según su caso de uso.
Compresión de video y audio
Enlaces de bibliotecas nativas, sin sobrecarga de proceso
Compresión de video
Basado en enlaces de bibliotecas nativas (no invocación de línea de comandos, sin sobrecarga de proceso), soporta formatos de codificación de video principales. Controla calidad de imagen mediante factor de calidad constante, selecciona presets de codificación óptimos por escenario para equilibrar velocidad y ratio de compresión. Soporta parámetros específicos de escenario para publicación web, streaming, redes sociales, streaming en vivo, proxy de edición, etc.
Compresión de audio
Soporta múltiples formatos de codificación de audio, equilibrando baja tasa de bits con alta calidad de audio. Establece tasa de bits objetivo y frecuencia de muestreo por escenario (archivado, streaming de música, podcast, mensaje de voz, tono de llamada, publicación web).
Compresión de documentos Office
Reempaquetado estructurado + compresión inteligente de imágenes incrustadas
Word (docx), Excel (xlsx), PPT (pptx) y otros documentos Office son esencialmente formatos de archivo que contienen XML y recursos multimedia incrustados. El motor emplea la siguiente estrategia:
-
Desempaquetado estructurado:Desempaqueta documentos Office para extraer imágenes incrustadas y otros recursos multimedia.
-
Compresión de imágenes incrustadas:Envía imágenes extraídas al compresor inteligente para submuestreo como se describió anteriormente, reduciendo significativamente el tamaño.
-
Reempaquetado:Reempaqueta imágenes comprimidas con XML original para generar nuevos documentos Office. La estructura y formato del documento permanecen sin cambios, solo se reduce el tamaño de las imágenes.
Concurrencia y procesamiento por lotes
Estrategia de control de concurrencia flexible
Para compresión de archivos individuales, el motor utiliza internamente multihilo para codificación/decodificación, aprovechando plenamente el rendimiento multinúcleo. Las tareas de compresión por lotes soportan el control del número de tareas concurrentes mediante configuración de autorización. La edición servidor puede escalar procesos Worker horizontalmente para mejorar el rendimiento general.
Saber más
Explorar arquitectura de seguridad y soporte de formatos