[feature] use webp for thumbnails (#3116)

* update to use webp for thumbnails

* bump webp quality up to 40% from 12% (it's a bit different to jpeg quality setting)

* update to use yuva colorspace, and use thumbnail=n=10 to select frame

* fix missing comma in ffmpeg args

* add links to appropriate ffmpeg docs

* update tests

* add file size tests for thumbnails

---------

Co-authored-by: tobi <tobi.smethurst@protonmail.com>
This commit is contained in:
kim 2024-07-19 15:28:43 +00:00 committed by GitHub
commit 50c9b5498b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
72 changed files with 4496 additions and 225 deletions

View file

@ -255,7 +255,7 @@ func (p *ProcessingMedia) store(ctx context.Context) error {
string(TypeAttachment),
string(SizeSmall),
p.media.ID,
"jpeg",
"webp",
)
}
@ -309,7 +309,7 @@ func (p *ProcessingMedia) store(ctx context.Context) error {
string(TypeAttachment),
string(SizeSmall),
p.media.ID,
"jpeg",
"webp",
)
// Get mimetype for the file container
@ -317,7 +317,7 @@ func (p *ProcessingMedia) store(ctx context.Context) error {
p.media.File.ContentType = getMimeType(ext)
// Set the known thumbnail content type.
p.media.Thumbnail.ContentType = "image/jpeg"
p.media.Thumbnail.ContentType = "image/webp"
// We can now consider this cached.
p.media.Cached = util.Ptr(true)