v1.0.8-beta.1
Pre-release
Pre-release
·
25 commits
to main
since this release
[1.0.8-beta.8]
Added
- Transcoding profiles — four Pi‑model‑specific profiles (Pi 2, Pi 3,
Pi 4, Pi 5) with optimal codec, resolution, framerate, bitrate, H.264
profile/level, colour depth, and HDR support limits. Profile is
auto‑detected on first run from/proc/device-tree/model. - Custom profile mode — allows overriding every transcode parameter
individually; all profile fields visible in the Web UI, editable only
when Custom is selected - Keep Audio global setting — preserves the audio track when enabled
(stripped by default) - Profile‑based cached‑video re‑validation — switching profiles
re‑probes existing cached videos and re‑transcodes any that exceed the
new limits - Extended video metadata extraction — ffprobe now captures framerate,
bitrate, colour depth, H.264 profile/level, and HDR colour info - Profile‑based optimisation gating —
needs_optimisation()checks
all profile limits (codec, resolution, fps, bitrate, colour depth, HDR,
H.264 level) instead of only H.264 + resolution - Web UI Video Optimisation card — profile dropdown with auto‑detect,
custom parameter fields, keep‑audio checkbox, and global quality/encoder/
timeout/CPU‑limit controls
Changed
- Transcode encodes to profile target codec — Pi 4/5 target H.265
(HEVC) for hardware decode; Pi 2/3 target H.264 - Transcode enforces H.264 level/profile — adds
-level,
-profile:v,-refs 2,-bf 0,-g 30for smooth Pi
playback - Transcode framerate cap —
-ronly applied when source FPS
exceeds the profile limit; never upscales 30 fps → 60 fps - Transcode colour depth cap — output depth is
min(src, profile);
never upscales 8‑bit → 10‑bit - Transcode HDR → SDR downgrade — forces BT.709 colour space on
non‑HDR‑capable Pi models - Transcode max bitrate enforcement —
-maxrate+-bufsize
applied from profile limits - libx265 RAM optimisation — uses
ultrafastpreset on ≤3 GB
devices (Pi 4/5 with 2 GB) to avoid OOM;superfaston >3 GB - CPU throttle default — reduced from 200 % to 100 % (1 core)
- Playlist hot‑reload refreshes metadata — frontend now updates
width,height,first_frame_path,last_frame_path, and
cached_pathfor existing items when the backend updates the
playlist, fixing aspect‑ratio mismatches and black frame glitches after
re‑transcode
Fixed
- Next‑item video playback — pressing Next to a video now launches VLC
immediately instead of sitting on the first frame until the slide timer
expires config.example.jsonvideo defaults —playback_enabled
corrected totrue,max_duration_secondsto0, CPU throttle
to100