v2.4.0
[2.4.0] - 2026-09-05
Cutting gets comfortable: shares queue up and can be cancelled, every clip
has a picture, the Nextcloud quota sits in the header, a fast copy mode
skips the re-encode, the GPU decodes where it can, and the page hears about
changes the moment they happen.
Added
- Shares queue up instead of answering "a share is already running": the
Share button stays usable, the card shows the place in the queue, and the
next job starts as soon as the running one ends (positionin the
answer and the job,queueinGET /api/clips). - Cancel a share:
POST /api/jobs/<id>/canceland the Cancel button on the
progress card. Waiting jobs leave the queue at once; a running encode or
upload is stopped and its partial output removed. - Thumbnails: every clip shows a picture from 10 s before its end in the
list and as the player poster (thumbon the clip,GET /media/<base>.jpg). - The Nextcloud quota in the header ("Nextcloud 63 %", yellow from 80 %,
red from 95 %), refreshed in the background (config.quota). - Fast copy: a share mode that keeps the OBS video stream instead of
re-encoding (keyframe-accurate,mode: copy,actualStartin the job).
The choice is remembered in the browser; the default stays H.264. - GPU decoding: the encoder detection now tries the full GPU path of each
vendor with a real clip (AMDd3d11va, NVIDIAcudawithscale_cuda,
Intelqsv) and falls back to software decoding per share when it fails.
On an AMD card the AV1 decode moves off the CPU (13 s instead of 42 s CPU
time for 30 s of 1440p60).hwaccelgainsauto(the default) andnone. replaycut bench: encodes part of the newest clip with every profile and
prints wall time, CPU time and speed.- The page listens to
GET /api/events(Server-Sent Events) instead of
asking every 3 s: changes show up at once, an idle page costs nothing,
and a restart no longer waits for open connections. Polling stays as the
fallback. - The title field suggests the recording day and time as a placeholder;
Enter on the empty field takes it. - A keyboard shortcut list behind the "?" button and the "?" key.
Changed
- Contract: a second
POST /api/sharewhile a job runs answers 202 with a
queue position (409 only for the same cut twice).
Fixed
- "Update now" on a release that has no signature yet ends in an error
("not signed yet") instead of waiting forever.