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.
Formats de fichiers pris en charge dans toutes les modalités - plus de 55 formats d'image en entrée, vidéo, audio, PDF et formats de fichiers.
e53ecf65be25
human
36025f0773ef
Formats pris en charge
SnapOtter traite les fichiers selon cinq modalités : image, vidéo, audio, PDF et fichiers. Cette page liste tous les formats pris en charge.
Formats d'image
SnapOtter prend en charge plus de 55 formats d'image en entrée et 17 formats en sortie.
Formats d'entrée
Standards du web (9)
Format
Extensions
Décodeur
Notes
JPEG
.jpg, .jpeg
Sharp (natif)
PNG
.png
Sharp (natif)
Première image APNG extraite
WebP
.webp
Sharp (natif)
GIF
.gif
Sharp (natif)
Animé pris en charge
AVIF
.avif
Sharp (natif)
SVG
.svg
Sharp (librsvg)
Nettoyé contre XXE/SSRF
SVGZ
.svgz
gunzip + Sharp
Protection contre les bombes gzip
APNG
.apng
Sharp (natif)
Première image uniquement
JPEG XL
.jxl
djxl / ImageMagick
Repli à deux niveaux
Professionnels (7)
Format
Extensions
Décodeur
Notes
TIFF
.tiff, .tif
Sharp (natif)
Multi-pages pris en charge
PSD
.psd
ImageMagick
Composite aplati
EPS
.eps, .epsf
ImageMagick + Ghostscript
Rastérisation à 300 ppp, sécurité durcie
OpenEXR
.exr
ImageMagick
Conversion linéaire vers sRGB
Radiance HDR
.hdr
ImageMagick
Conversion linéaire vers sRGB
DPX
.dpx
ImageMagick
Conversion logarithmique vers sRGB
Cineon
.cin
ImageMagick
Format film/VFX
RAW appareil photo (23)
Format
Extensions
Marque d'appareil
Décodeur
DNG
.dng
Adobe (universel)
exiftool / ImageMagick + LibRaw
CR2
.cr2
Canon (avant 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 (ancien)
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 (compact)
exiftool / ImageMagick + LibRaw
Formats modernes (3)
Format
Extensions
Décodeur
Notes
JPEG 2000
.jp2, .j2k, .j2c, .jpc, .jpf, .jpx
opj_decompress / ImageMagick
Cinéma numérique, imagerie médicale
QOI
.qoi
Codec TypeScript intégré
Développement de jeux, systèmes embarqués
HEIC/HEIF
.heic, .heif
heif-convert / heif-dec
Photos iPhone
Ancien/Système (4)
Format
Extensions
Décodeur
Notes
BMP
.bmp
ImageMagick
ICO
.ico
ImageMagick
Plus grand calque extrait
CUR
.cur
ImageMagick
Curseur Windows (variante ICO)
TGA
.tga
ImageMagick
Détection par extension uniquement
Scientifiques et jeux vidéo (2)
Format
Extensions
Décodeur
Notes
FITS
.fits, .fit, .fts
ImageMagick
Astronomie (standard NASA)
DDS
.dds
ImageMagick
Textures de jeu (DirectX)
Échange (6)
Format
Extensions
Décodeur
Notes
PPM
.ppm
Sharp (natif)
Pixmap couleur
PGM
.pgm
Sharp (natif)
Niveaux de gris
PBM
.pbm
Sharp (natif)
Bitmap 1 bit
PNM
.pnm
Sharp (natif)
Format générique
PAM
.pam
Sharp (natif)
Carte arbitraire
PFM
.pfm
Sharp (natif)
Carte flottante
Formats de sortie (17)
Format
Encodeur
Contrôle de la qualité
Disponible dans
JPEG
Sharp natif
1-100
Tous les outils
PNG
Sharp natif
Compression 0-9
Tous les outils
WebP
Sharp natif
1-100
Tous les outils
AVIF
Sharp natif
1-100
Tous les outils
TIFF
Sharp natif
1-100
Outils de conversion complète
GIF
Sharp natif
1-100
Outils de conversion complète
JXL
Sharp natif
1-100
Tous les outils
HEIC
CLI heif-enc
1-100
Outils de conversion complète
HEIF
CLI heif-enc
1-100
Outils de conversion complète
BMP
CLI ImageMagick
Sans perte
Outil de conversion
ICO
CLI ImageMagick
Sans perte
Outil de conversion
JP2
CLI opj_compress
Taux de compression
Outil de conversion
QOI
Codec intégré
Sans perte
Outil de conversion
PSD
CLI ImageMagick
Sans perte
Outil de conversion
PPM
CLI ImageMagick
Sans perte
Outil de conversion
EPS
CLI ImageMagick
Sans perte
Outil de conversion
TGA
CLI ImageMagick
Sans perte
Outil de conversion
Formats vidéo
Le décodage et l'encodage vidéo sont gérés par FFmpeg (build statique), de sorte que tous les conteneurs et codecs courants sont pris en charge en entrée.
Conteneurs d'entrée (15)
Format
Extensions
Codecs typiques
Notes
MP4
.mp4
H.264, H.265, AV1
Conteneur le plus utilisé
QuickTime
.mov
H.264, ProRes
Capture/montage Apple
WebM
.webm
VP8, VP9, AV1
Format web libre de redevances
Matroska
.mkv
Tous
Conteneur ouvert flexible
AVI
.avi
Divers
Ancien conteneur Microsoft
M4V
.m4v
H.264
Variante MP4 d'Apple
AVCHD
.mts
H.264
Enregistrements de caméscope
BDAV
.m2ts
H.264
Flux de transport Blu-ray / AVCHD
3GP
.3gp
H.264, MPEG-4
Capture mobile
Flash Video
.flv
H.264, VP6
Streaming ancien
Windows Media
.wmv
VC-1, WMV
Windows Media
MPEG
.mpg, .mpeg
MPEG-1, MPEG-2
Vidéo de l'ère DVD
MPEG-TS
.ts
MPEG-2, H.264
Flux de transport de diffusion
Ogg
.ogv
Theora
Vidéo Ogg ouverte
Formats de sortie
Format
Extension
Codec vidéo
Produit par
MP4
.mp4
H.264
Convertir, compresser et la plupart des outils vidéo