github ErsatzTV/legacy v26.12.0

one hour ago

Release Notes

Changed

  • Use ErsatzTV-ffmpeg 8.1.2-8 in docker images, Windows packages and macOS packages
    • Fix QSV streams failing about 10 seconds in with Can't allocate a surface or Failed to query an output frame on pre-Tiger Lake Intel GPUs (regression in 26.11.6)
    • Fix QSV, VAAPI and CUDA items failing when the source's color tags change mid-stream
  • Troubleshooting: replace the separate accel-specific tabs with one Hardware tab showing what the next engine can use on the machine
    • Each accel shows whether it works, why not, and what it can decode and encode
  • FFmpeg profile editor:
    • Show when the selected accel, device and driver won't work on the machine
    • Show when the format and bit depth will encode in software given the selected accel
  • Merge the Hardware Acceleration and VAAPI Driver health checks into one check, based on what the next engine can use on the machine

Removed

  • Remove the legacy streaming engine; all channels now stream with the next engine
    • Channels still using the legacy engine are moved to the next engine on startup
    • MPEG-TS (Legacy) channels are moved to MPEG-TS, and HLS Direct channels are moved to HLS Segmenter
    • Existing ts-legacy and hls-direct playlist and lineup URLs are redirected to the next engine
    • Playback troubleshooting can still use the legacy engine for comparison; if a channel works on legacy but not on next, please report it with the ID from Upload Results

Fixed

  • Next engine:
    • Fix NVENC failing to start (Gop Length should be greater than number of B frames + 1) on very low frame rate sources, such as 1 fps slideshows
    • VAAPI: fix tonemap_opencl and pad_opencl never being used on Intel GPUs when only the OpenCL runtime (libOpenCL.so.1) is installed, such as in docker
    • Vulkan: fix hardware decode being chosen for formats the driver can't decode, such as H.264 10-bit on Intel GPUs on Windows
    • Vulkan: never select a CPU (llvmpipe) Vulkan device
    • Fix still-image watermarks disappearing partway through an item, or (QSV) the item ending early
      • This happened when the source's video parameters change mid-stream, such as spliced or smart-cut files
    • Fix 4:2:2, 4:4:4 and 12-bit sources (such as ProRes, or HEVC/H.264 from cameras)
      • Hardware decode is no longer attempted; they are converted to 4:2:0 after deinterlacing and scaling
    • Fix changes to watermarks, decos, etc. not reaching channels until the next hourly playout build
    • Reduce disk writes when syncing playouts; unchanged days are no longer rewritten every hour
    • Fix channels failing with failed to load playout JSON file: missing field codec
      • This happens when the playout includes a file with a stream ffprobe can't identify (e.g. spatial audio in some phone videos)
    • Fix one invalid playout item failing the whole playout file, so the channel showed failed to load playout JSON file for every item
      • An invalid item now shows the fallback for its own time only, naming the item and the invalid field
    • Fix fallback filler showing the previous clip's subtitles, or the fallback error screen for the rest of a gap after one clip ended early

Known issues

  • VAAPI on Intel Meteor Lake and Arrow Lake with the free intel-media-va-driver package (Debian, Ubuntu): channels with a watermark run far below realtime
    • Install intel-media-va-driver-non-free, or add "ffmpeg": { "disabled_filters": ["overlay_vaapi"] } to a channel config overlay in ErsatzTV's config folder / next / channel-config-overlays (default.json for all channels, or {number}.json for one channel)
    • The docker image is not affected

ErsatzTV Next: v0.2.5

Don't miss a new legacy release

NewReleases is sending notifications on new releases.