A release-readiness QA pass over the whole product. The commits split into
defects a user would hit and gates that were reporting green while measuring
nothing.
## Fixes that change behaviour
Rate limiting was bypassable on every install: TRUST_PROXY defaulted to true, so
request.ip came from a client-set header and a forged X-Forwarded-For got past
the login limiter. The default is now a private-network trust list.
A transient Postgres outage stranded in-flight jobs, leaving finished output on
disk with no row pointing at it. A reconciler now resolves those rows and adopts
the bytes rather than dropping the work.
A Redis connection that moved to a new address wedged every read-blocked
consumer, so completions stopped signalling while health still answered 200.
Socket timeouts plus subscriber pings recover it.
Installing more than one AI bundle left the shared venv multi-versioned and
silently broke three tools. The installer now reconciles distributions to one
version each.
Converting an image to JXL at quality 1 through 4 returned a 500, because
libjxl 0.7 rejects the distance those values compute. The quality is floored at
what the encoder honours. A missing ffmpeg was also reported to the user as a
corrupt upload; it now says the engine is unavailable.
RAW uploads reached an unpatched LibRaw on arm64, so it is built from source at
0.22.2, and the release scan was split so it can fail on an unfixed critical
instead of hiding it behind ignore-unfixed.
## Gates that could not fail
Two mutation lanes ran zero mutants because Stryker crawled the gitignored docs
build; coverage discarded its whole report on any failing test; the lint gate
skipped root tests, scripts, and two workspaces; and several generated matrices
counted a host missing ffmpeg as a passing tool. Each now measures what it
claims.
Full evidence and the outstanding release items are tracked locally and are not
part of this branch.
Formatos de archivo admitidos en todas las modalidades: más de 55 formatos de entrada de imagen, vídeo, audio, PDF y archivos.
e53ecf65be25
human
05d34254d25e
Formatos admitidos
SnapOtter procesa archivos en cinco modalidades: imagen, vídeo, audio, PDF y archivos. Esta página enumera todos los formatos admitidos.
Formatos de imagen
SnapOtter admite más de 55 formatos de imagen para entrada y 17 formatos para salida.
Formatos de entrada
Estándares web (9)
Formato
Extensiones
Decodificador
Notas
JPEG
.jpg, .jpeg
Sharp (nativo)
PNG
.png
Sharp (nativo)
Se extrae el primer fotograma de APNG
WebP
.webp
Sharp (nativo)
GIF
.gif
Sharp (nativo)
Animado admitido
AVIF
.avif
Sharp (nativo)
SVG
.svg
Sharp (librsvg)
Saneado frente a XXE/SSRF
SVGZ
.svgz
gunzip + Sharp
Protección contra bomba gzip
APNG
.apng
Sharp (nativo)
Solo el primer fotograma
JPEG XL
.jxl
djxl / ImageMagick
Reserva en dos niveles
Profesionales (7)
Formato
Extensiones
Decodificador
Notas
TIFF
.tiff, .tif
Sharp (nativo)
Multipágina admitido
PSD
.psd
ImageMagick
Composición aplanada
EPS
.eps, .epsf
ImageMagick + Ghostscript
Rasterización a 300 ppp, reforzado en seguridad
OpenEXR
.exr
ImageMagick
Conversión lineal a sRGB
Radiance HDR
.hdr
ImageMagick
Conversión lineal a sRGB
DPX
.dpx
ImageMagick
Conversión logarítmica a sRGB
Cineon
.cin
ImageMagick
Formato de cine/VFX
RAW de cámara (23)
Formato
Extensiones
Marca de cámara
Decodificador
DNG
.dng
Adobe (universal)
exiftool / ImageMagick + LibRaw
CR2
.cr2
Canon (antes de 2018)
exiftool / ImageMagick + LibRaw
CR3
.cr3
Canon (2018+)
exiftool / ImageMagick + LibRaw
NEF
.nef
Nikon
exiftool / ImageMagick + LibRaw
NRW
.nrw
Nikon (Coolpix)
exiftool / ImageMagick + LibRaw
ARW
.arw
Sony
exiftool / ImageMagick + LibRaw
ORF
.orf
Olympus
exiftool / ImageMagick + LibRaw
RW2
.rw2
Panasonic
exiftool / ImageMagick + LibRaw
RAF
.raf
Fujifilm
exiftool / ImageMagick + LibRaw
PEF
.pef
Pentax/Ricoh
exiftool / ImageMagick + LibRaw
3FR
.3fr
Hasselblad
exiftool / ImageMagick + LibRaw
IIQ
.iiq
Phase One
exiftool / ImageMagick + LibRaw
SRW
.srw
Samsung
exiftool / ImageMagick + LibRaw
X3F
.x3f
Sigma
exiftool / ImageMagick + LibRaw
RWL
.rwl
Leica
exiftool / ImageMagick + LibRaw
GPR
.gpr
GoPro
exiftool / ImageMagick + LibRaw
FFF
.fff
Hasselblad (heredado)
exiftool / ImageMagick + LibRaw
MRW
.mrw
Minolta
exiftool / ImageMagick + LibRaw
MEF
.mef
Mamiya
exiftool / ImageMagick + LibRaw
KDC
.kdc
Kodak
exiftool / ImageMagick + LibRaw
DCR
.dcr
Kodak
exiftool / ImageMagick + LibRaw
ERF
.erf
Epson
exiftool / ImageMagick + LibRaw
PTX
.ptx
Pentax (compacta)
exiftool / ImageMagick + LibRaw
Formatos modernos (3)
Formato
Extensiones
Decodificador
Notas
JPEG 2000
.jp2, .j2k, .j2c, .jpc, .jpf, .jpx
opj_decompress / ImageMagick
Cine digital, imagen médica
QOI
.qoi
Códec TypeScript en línea
Desarrollo de juegos, sistemas embebidos
HEIC/HEIF
.heic, .heif
heif-convert / heif-dec
Fotos de iPhone
Heredados/de sistema (4)
Formato
Extensiones
Decodificador
Notas
BMP
.bmp
ImageMagick
ICO
.ico
ImageMagick
Se extrae la capa más grande
CUR
.cur
ImageMagick
Cursor de Windows (variante de ICO)
TGA
.tga
ImageMagick
Detección solo por extensión
Científicos y de videojuegos (2)
Formato
Extensiones
Decodificador
Notas
FITS
.fits, .fit, .fts
ImageMagick
Astronomía (estándar de la NASA)
DDS
.dds
ImageMagick
Texturas de juegos (DirectX)
Intercambio (6)
Formato
Extensiones
Decodificador
Notas
PPM
.ppm
Sharp (nativo)
Pixmap de color
PGM
.pgm
Sharp (nativo)
Escala de grises
PBM
.pbm
Sharp (nativo)
Mapa de bits de 1 bit
PNM
.pnm
Sharp (nativo)
Formato paraguas
PAM
.pam
Sharp (nativo)
Mapa arbitrario
PFM
.pfm
Sharp (nativo)
Mapa de coma flotante
Formatos de salida (17)
Formato
Codificador
Control de calidad
Disponible en
JPEG
Sharp nativo
1-100
Todas las herramientas
PNG
Sharp nativo
Compresión 0-9
Todas las herramientas
WebP
Sharp nativo
1-100
Todas las herramientas
AVIF
Sharp nativo
1-100
Todas las herramientas
TIFF
Sharp nativo
1-100
Herramientas de conversión completa
GIF
Sharp nativo
1-100
Herramientas de conversión completa
JXL
Sharp nativo
1-100
Todas las herramientas
HEIC
CLI heif-enc
1-100
Herramientas de conversión completa
HEIF
CLI heif-enc
1-100
Herramientas de conversión completa
BMP
CLI ImageMagick
Sin pérdidas
Herramienta de conversión
ICO
CLI ImageMagick
Sin pérdidas
Herramienta de conversión
JP2
CLI opj_compress
Ratio de compresión
Herramienta de conversión
QOI
Códec en línea
Sin pérdidas
Herramienta de conversión
PSD
CLI ImageMagick
Sin pérdidas
Herramienta de conversión
PPM
CLI ImageMagick
Sin pérdidas
Herramienta de conversión
EPS
CLI ImageMagick
Sin pérdidas
Herramienta de conversión
TGA
CLI ImageMagick
Sin pérdidas
Herramienta de conversión
Formatos de vídeo
La decodificación y codificación de vídeo las gestiona FFmpeg (compilación estática), así que se admite en la entrada cualquier contenedor y códec común.
Contenedores de entrada (15)
Formato
Extensiones
Códecs típicos
Notas
MP4
.mp4
H.264, H.265, AV1
El contenedor más usado
QuickTime
.mov
H.264, ProRes
Captura/edición de Apple
WebM
.webm
VP8, VP9, AV1
Formato web libre de regalías
Matroska
.mkv
Cualquiera
Contenedor abierto y flexible
AVI
.avi
Varios
Contenedor heredado de Microsoft
M4V
.m4v
H.264
Variante de MP4 de Apple
AVCHD
.mts
H.264
Grabaciones de videocámara
BDAV
.m2ts
H.264
Flujo de transporte de Blu-ray / AVCHD
3GP
.3gp
H.264, MPEG-4
Captura móvil
Flash Video
.flv
H.264, VP6
Streaming heredado
Windows Media
.wmv
VC-1, WMV
Windows Media
MPEG
.mpg, .mpeg
MPEG-1, MPEG-2
Vídeo de la era del DVD
MPEG-TS
.ts
MPEG-2, H.264
Flujo de transporte de difusión
Ogg
.ogv
Theora
Vídeo Ogg abierto
Formatos de salida
Formato
Extensión
Códec de vídeo
Producido por
MP4
.mp4
H.264
Convertir, comprimir y la mayoría de herramientas de vídeo