• v1.5 9fd02fb5bf

    Add per-disk profiles with video transcoding support

    mchus released this 2026-05-21 20:52:46 +03:00 | 6 commits to main since this release

    Each disk stores .jukebox/profile.json with copy parameters (dest
    folder, overwrite mode, file select, reserve space, auto-copy) and
    optional transcoding limits for the target player (codec, resolution,
    bitrate, FPS, audio channels, output format).

    On copy, video files are probed with ffprobe; if they exceed the
    profile limits they are transcoded via ffmpeg (-threads 0 for full
    CPU usage), otherwise copied as-is. Scale filter never upscales.

    New: internal/disk/profile.go, internal/transcoder/{detect,transcoder}.go
    API: GET/PUT /api/disks/profile?mount_path=
    UI: disk profile panel in dashboard for known disks
    Dockerfile: adds ffmpeg to the runtime image

    Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

    Downloads