Skip to content

Releases

v26.13.0-e51ac60c-develop

Choose a tag to compare

@ersatztv-releaser ersatztv-releaser released this 09 Nov 19:39
Immutable release. Only release title and notes can be modified.
adcfed2

Release Notes

Fixed

  • Fix classic schedule duration items with Discard To Fill Attempts running past their duration and skipping later schedule items once the attempts are used up

ErsatzTV Next: v0.2.5

Full changes: ErsatzTV/legacy@v26.12.0...e51ac60

v26.12.0-fbb3685b-develop

Choose a tag to compare

@ersatztv-releaser ersatztv-releaser released this 03 Nov 19:19
Immutable release. Only release title and notes can be modified.
adcfed2

Release Notes

Changed

  • Use an ErsatzTV-ffmpeg develop build (8.1.2-4089c130-develop, newer than 8.1.2-7) 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

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
    • 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

ErsatzTV Next: v0.2.5-28bcbf7d-develop

Full changes: ErsatzTV/legacy@v26.11.6...fbb3685

v26.12.0-fb542e55-develop

Choose a tag to compare

@ersatztv-releaser ersatztv-releaser released this 03 Nov 11:38
Immutable release. Only release title and notes can be modified.
adcfed2

Release Notes

Changed

  • Use an ErsatzTV-ffmpeg develop build (8.1.2-4089c130-develop, newer than 8.1.2-7) 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

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
    • 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

ErsatzTV Next: v0.2.5-8cb37069-develop

Full changes: ErsatzTV/legacy@v26.11.6...fb542e5

v26.12.0-fb247350-develop

Choose a tag to compare

@ersatztv-releaser ersatztv-releaser released this 15 Oct 18:28
Immutable release. Only release title and notes can be modified.
adcfed2

Release Notes

Changed

  • Next engine:
    • Watermark-only graphics canvases render just the area the watermarks cover instead of the full frame
      • This reduces CPU use and GPU upload for animated or opacity-expression watermarks
      • This is currently limited to local watermarks; remote/URL watermarks will still send the full frame

Fixed

  • Next engine:
    • Fix active channels falling behind schedule when the playout is updated
    • Fix image subtitles (e.g. PGS) missing or misplaced with hardware acceleration when the subtitle size differs from the video size (e.g. cropped video)

ErsatzTV Next: v0.2.3-28632bc8-develop

Full changes: ErsatzTV/legacy@v26.11.3...fb24735

v26.12.0-fb0e2bc1-develop

Choose a tag to compare

@ersatztv-releaser ersatztv-releaser released this 22 Oct 16:52
Immutable release. Only release title and notes can be modified.
adcfed2

Release Notes

Added

  • Add Upload Results button to playback troubleshooting
    • Results are encrypted on your ErsatzTV server so only the ErsatzTV maintainer can read them
    • The upload returns an ID (e.g. etv-xxxx-xxxxxx) to paste into a GitHub issue or Discord thread
    • Uploads are deleted from the upload server after 7 days
    • Download Results still works when ErsatzTV can't reach the upload server
  • Detect DolbyVision content from media server libraries
    • This enables the next engine to use the appropriate tonemapping filter

Changed

  • Next engine:
    • Watermark-only graphics canvases render just the area the watermarks cover instead of the full frame
      • This reduces CPU use and GPU upload for animated or opacity-expression watermarks
      • This is currently limited to local watermarks; remote/URL watermarks will still send the full frame
  • Use ErsatzTV-ffmpeg 8.1.2-5 in docker images, Windows packages and macOS packages
    • Fix transcoding speed drop when burning in image subtitles, especially with TrueHD audio
    • Fix macOS VideoToolbox encoding failure when video contains A53 closed captions
    • Add RKMPP accel support to arm64 docker image and native package; Jellyfin ffmpeg is no longer required

Fixed

  • Next engine:
    • Fix active channels falling behind schedule when the playout is updated
    • Fix image subtitles (e.g. PGS) missing or misplaced with hardware acceleration when the subtitle size differs from the video size (e.g. cropped video)
    • Fix QSV stream failing when no Intel device is found; the channel now uses a software pipeline
    • Fix QSV green padding on Windows with certain HDR content
    • Fix slow transcoding of high-resolution video with PGS subtitles until the first subtitle appears
    • Fix RKMPP stream failing with loudness normalization
  • Fix Jellyfin external audio files being added as audio streams with negative indexes
    • These broke playback of the whole playout file with the next engine (expected u32)
    • Affected Jellyfin movies and episodes will be rescanned automatically
  • Fix channel troubleshooting Play button being disabled with no explanation
    • Date and time now defaults to the current time and shows an error when it can't be parsed
  • Fix some extracted ASS subtitles never being displayed
    • Affected subtitles that were already extracted will be repaired automatically on startup

ErsatzTV Next: v0.2.3-74253c2c-develop

Full changes: ErsatzTV/legacy@v26.11.3...fb0e2bc

v26.12.0-f5b5e9aa-develop

Choose a tag to compare

@ersatztv-releaser ersatztv-releaser released this 13 Oct 02:04
Immutable release. Only release title and notes can be modified.
adcfed2

Release Notes

Changed

  • Graphics engine: decode image and watermark elements with SkiaSharp instead of ImageSharp
    • TIFF, TGA, PBM and QOI images are no longer supported
  • Next engine:
    • Software scaling now defaults to bicubic instead of fast_bilinear, which reduces aliasing when downscaling
      • This can be changed using normalization.video.filters.scale.flags in a channel config overlay
    • Log messages from next channels now include the channel number, e.g. [next::channel 7]
  • Warn that the legacy streaming engine will be removed in ErsatzTV 26.12
    • The Channels page lists channels that still use the legacy engine
    • The channel editor shows a warning when the legacy engine is selected
    • Starting a legacy engine stream logs a warning

Fixed

  • Fix sequential schedules silently skipping nested sequence instructions inside pre-roll, mid-roll and post-roll sequences
  • Fix local show libraries ignoring episode NFO tag and genre changes after the first scan
  • Fix playback from Jellyfin-compatible servers (e.g. Silo) that require authentication for media streams
    • The Jellyfin API key is now included on stream and subtitle requests
    • Jellyfin itself does not require it but continues to play successfully with the API key included
  • Next engine:
    • Linux/macOS: fix channels failing to locate playout items after the config folder is copied or restored with a tool that replaces symlinks with real folders (e.g. cp -L, rsync -L)
      • Failures to link the current playout folder are now logged instead of silently ignored
    • VAAPI: fix playback freezing at the end of some items on channels with an Intermittent watermark
      • Most common with music videos, whose audio often runs slightly longer than their video
      • The log showed channel ... terminated after ffmpeg stall
    • VAAPI: fix hevc streams hanging on content with embedded (A53) closed captions with Mesa before 26.2.3
      • Captions are left out of hevc output on those Mesa versions; update Mesa to keep them
    • Always encode 4:2:0 output, which many clients require
      • Still images and song backgrounds were previously encoded as 4:4:4 by software encoders
    • NVIDIA: fix streams failing with a watermark in yuva420p (e.g. lossy WebP with transparency) and opacity below 100%
    • NVIDIA: fix streams with a watermark failing when encoding with software (e.g. mpeg2video)
    • VideoToolbox: fix streams failing to encode to h264 when they contain embedded (A53) closed captions
    • QSV: fix completely green output with legacy Intel encoders
    • Fix fallback filler playback with filler content that has no audio
    • Fix crop scaling mode so it always scales to cover the output before cropping, even when the source content is larger than the target resolution
  • Fix errors logged when quickly navigating to search results
    • The log showed Navigation failed when changing the location to search?query=...
    • Searches from the search bar and smart collection targets no longer reload the whole page

ErsatzTV Next: v0.2.1-73a72616-develop

Full changes: ErsatzTV/legacy@v26.11.1...f5b5e9a

v26.12.0-eadb613b-develop

Choose a tag to compare

@ersatztv-releaser ersatztv-releaser released this 05 Nov 13:32
Immutable release. Only release title and notes can be modified.
adcfed2

Release Notes

Changed

  • Use an ErsatzTV-ffmpeg develop build (8.1.2-4089c130-develop, newer than 8.1.2-7) 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

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
    • 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

ErsatzTV Next: v0.2.5-2ec28d7b-develop

Full changes: ErsatzTV/legacy@v26.11.6...eadb613

v26.12.0-e17cfe84-develop

Choose a tag to compare

@ersatztv-releaser ersatztv-releaser released this 10 Oct 23:31
Immutable release. Only release title and notes can be modified.
adcfed2

Release Notes

Changed

  • Graphics engine: decode image and watermark elements with SkiaSharp instead of ImageSharp
    • TIFF, TGA, PBM and QOI images are no longer supported
  • Next engine:
    • Software scaling now defaults to bicubic instead of fast_bilinear, which reduces aliasing when downscaling
      • This can be changed using normalization.video.filters.scale.flags in a channel config overlay

Fixed

  • Next engine:
    • Linux/macOS: fix channels failing to locate playout items after the config folder is copied or restored with a tool that replaces symlinks with real folders (e.g. cp -L, rsync -L)
      • Failures to link the current playout folder are now logged instead of silently ignored
    • VAAPI: fix playback freezing at the end of some items on channels with an Intermittent watermark
      • Most common with music videos, whose audio often runs slightly longer than their video
      • The log showed channel ... terminated after ffmpeg stall
    • Always encode 4:2:0 output, which many clients require
      • Still images and song backgrounds were previously encoded as 4:4:4 by software encoders
    • NVIDIA: fix streams failing with a watermark in yuva420p (e.g. lossy WebP with transparency) and opacity below 100%
    • NVIDIA: fix streams with a watermark failing when encoding with software (e.g. mpeg2video)
    • VideoToolbox: fix streams failing to encode to h264 when they contain embedded (A53) closed captions
    • Fix fallback filler playback with filler content that has no audio

ErsatzTV Next: v0.2.1-fd86a84a-develop

Full changes: ErsatzTV/legacy@v26.11.1...e17cfe8

v26.12.0-de40b158-develop

Choose a tag to compare

@ersatztv-releaser ersatztv-releaser released this 06 Nov 20:51
Immutable release. Only release title and notes can be modified.
adcfed2

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

Full changes: ErsatzTV/legacy@v26.11.6...de40b15

v26.12.0-de2f6043-develop

Choose a tag to compare

@ersatztv-releaser ersatztv-releaser released this 24 Oct 16:03
Immutable release. Only release title and notes can be modified.
adcfed2

Release Notes

Fixed

  • Fix startup crash The system cannot open the device or file specified when running as a non-root user or with a read-only root filesystem
    • This was caused by a .NET runtime security update that changed where single-instance checks are stored
    • ErsatzTV now uses a lock file in the config folder, which also prevents multiple instances (e.g. two docker containers) from sharing the same config folder

ErsatzTV Next: v0.2.3

Full changes: ErsatzTV/legacy@v26.11.4...de2f604