Commit graph

38 commits

Author SHA1 Message Date
Adam R. Nelson 0177a9b402
Add RAW file thumbnailing support via rawpy (#567)
* add RAW image file types to mimetype list
* add RAW thumbnailer via rawpy

---------

Signed-off-by: Adam R. Nelson <adam@nels.onl>
Signed-off-by: ed <s@ocv.me>
2025-08-11 17:28:01 +00:00
Toby Kohlhagen b469db3c62 Add wav transcoding option 2025-08-03 20:23:27 +00:00
ed f9954bc4e5 smoketest fs-access when transcoding
the thumbnailer / audio transcoder could return misleading errors
if the operation fails due to insufficient filesystem permissions

try reading a few bytes from the file and bail early if it fails,
and detect/log unwritable output folders for thumbnails

also fixes http-response to only return svg-formatted errors
if the initial request expects a picture in response, not audio
2025-04-07 18:41:37 +00:00
ed 28c9de3f6a add opus-weba transcoding (for iOS 18 and newer)
support for "owa", audio-only webm, was introduced in iOS 17.5

owa is a more compliant alternative to opus-caf from iOS 11,
which was technically limited to CBR opus, a limitation which
we ignored since it worked mostly fine for regular opus too

being the new officially-recommended way to do things,
we'll default to owa for iOS 18 and later, even though
iOS still has some bugs affecting our use specifically:

if a weba file is preloaded into a 2nd audio object,
safari will throw a spurious exception as playback is
initiated, even as the file is playing just fine

the `.ld` stuff is an attempt at catching and ignoring this
spurious error without eating any actual network exceptions
2025-01-25 10:15:44 +00:00
ed f3b9bfc114 option to disable caf transcoding + misc cleanup 2025-01-24 22:40:52 +00:00
ed 3051b13108 try to avoid printing mojibake in logs
unprintable and side-effect-inducing paths and names are hex-escaped,
preserving greppability and making log-parsing slightly more okay
2024-12-18 01:45:54 +01:00
ed 53f1e3c91d ui option to play video as audio
audio extraction happens serverside to opus or mp3
depending on browser support

remuxing (extracting audio without transcoding)
is currently not supported, and is not planned
2024-07-22 22:30:21 +00:00
ed ac1bc232a9 black 2024-05-31 08:57:33 +00:00
ed 38e4fdfe03 batch-convert audio waveforms with ?tar&p 2024-05-10 12:55:35 +00:00
ed a080759a03 add transcoding to mp3
because CU's car stereo can't do opus...

incidentally adds support for playing any audio format in ie11
2024-03-29 16:36:56 +00:00
ed 58ae38c613 enforce thumbnail config serverside 2024-02-18 15:36:59 +00:00
ed db668ba491 spectrograms are never cropped; share thumbcache 2023-10-15 11:42:57 +00:00
ed 1b7634932d tar/zip-download: add opus transcoding filter 2023-08-19 19:40:46 +00:00
ed edad3246e0 make pylance happier 2022-10-29 20:40:25 +00:00
ed e788f098e2 dont fallback to icons for waveforms 2022-10-09 00:38:56 +02:00
ed 6bec4c28ba add waveform seekbar 2022-09-17 23:40:37 +02:00
ed 1cb24045a0 dont thumb empty files 2022-07-05 23:45:47 +02:00
ed 438384425a add types, isort, errorhandling 2022-06-16 01:07:15 +02:00
ed 9697fb3d84 option to disable thumbnails per volume 2022-04-14 17:11:26 +02:00
ed fd9d0e433d thumbnails: try FFmpeg for images too 2022-04-11 10:38:57 +02:00
ed cc4a063695 thumbnails: per-decoder filetype config 2022-04-10 22:59:45 +02:00
ed b64cabc3c9 thumbnails: add pyvips as alt/supp. to pillow 2022-04-10 14:16:09 +02:00
ed 51e6c4852b retire ogvjs 2021-11-14 19:28:44 +01:00
ed f050647b43 rescan volumes on sigusr1 2021-11-06 18:20:31 +01:00
ed 862ca3439d proactive opus cache expiration 2021-11-02 20:39:08 +01:00
ed f6f9fc5a45 add audio transcoder 2021-11-02 02:59:37 +01:00
ed c2469935cb add audio spectrogram thumbnails 2021-11-02 00:26:51 +01:00
ed 3d4166e006 dont thumbnail thumbnails 2021-07-31 10:51:18 +02:00
ed d020527c6f centralize mojibake support stuff 2021-07-24 21:56:55 +02:00
ed 60ac68d000 single authsrv instance per process 2021-06-11 23:01:13 +02:00
ed a45a53fdce support macos ffmpeg 2021-06-11 03:05:42 +02:00
ed d6bf300d80 option to store state out-of-volume (mostly untested) 2021-06-10 01:27:04 +02:00
ed 79c7639aaf haha memes 2021-06-08 21:10:25 +02:00
ed 96223fda01 detect missing webp support 2021-05-28 05:00:08 +02:00
ed 5d63949e98 create webp thumbnails by default 2021-05-28 02:44:13 +02:00
ed 483dd527c6 add cache eviction 2021-05-25 19:46:35 +02:00
ed 02a856ecb4 create video thumbnails 2021-05-25 06:14:25 +02:00
ed 4dff726310 initial thumbnail and icon stuff 2021-05-25 03:37:01 +02:00