ErsatzTV

Stream custom live channels using your own media

ZLIB License

Stars
1.2K

Bot releases are hidden (Show)

ErsatzTV - v0.1.4-alpha

Published by jasongdove about 3 years ago

Release Notes

Fixed

  • Fix error message/offline stream continuity with channels that use HLS Segmenter
  • Fix removing items from search index when folders are removed from local libraries

Added

  • Add Other Video local libraries
    • Other video items require no metadata or particular folder layout, and will have tags added for each containing folder
    • For Example, a video at commercials/sd/1990/whatever.mkv will have the tags commercials, sd and 1990, and the title whatever
  • Add filler Tail Mode option to Duration playout mode (in addition to existing Offline option)
    • Filler collection will always be randomized (to fill as much time as possible)
    • Filler will be hidden from channel guide, but visible in playout details in ErsatzTV
    • Unfilled time will show offline image
  • Add Guide Mode option to all schedule items
    • Normal guide mode will show all scheduled items in the channel guide (xmltv)
    • Filler guide mode will hide all scheduled items from the channel guide, and extend the end time for the previous item in the guide
ErsatzTV - v0.1.3-alpha

Published by jasongdove about 3 years ago

Release Notes

Fixed

  • Fix startup bug for some docker installations

v0.1.2-alpha Release Notes

Added

  • Include more cuda (nvidia) filters in docker image
  • Enable deinterlacing with nvidia using new yadif_cuda filter
  • Add two HLS Segmenter settings: idle timeout and work-ahead limit
    • HLS Segmenter Idle Timeout - the number of seconds to keep transcoding a channel while no requests have been received from any client
      • This setting must be greater than or equal to 30 (seconds)
    • Work-Ahead HLS Segmenter Limit - the number of segmenters (channels) that will work-ahead simultaneously (if multiple channels are being watched)
      • "working ahead" means transcoding at full speed, which can take a lot of resources
      • This setting must be greater than or equal to 0
  • Add more watermark locations ("middle" of each side)
  • Add VAAPI Device setting to ffmpeg profile to support installations with multiple video cards
  • Add experimental RadeonSI option for VAAPI Driver and include mesa drivers in vaapi docker image

Changed

  • Upgrade ffmpeg from 4.3 to 4.4 in all docker images
    • Upgrading from 4.3 to 4.4 is recommended for all installations
  • Move VAAPI Driver from settings page to ffmpeg profile to support installations with multiple video cards

Fixed

  • Fix some transcoding edge cases with nvidia and pixel format yuv420p10le
ErsatzTV - v0.1.2-alpha

Published by jasongdove about 3 years ago

Release Notes

Added

  • Include more cuda (nvidia) filters in docker image
  • Enable deinterlacing with nvidia using new yadif_cuda filter
  • Add two HLS Segmenter settings: idle timeout and work-ahead limit
    • HLS Segmenter Idle Timeout - the number of seconds to keep transcoding a channel while no requests have been received from any client
      • This setting must be greater than or equal to 30 (seconds)
    • Work-Ahead HLS Segmenter Limit - the number of segmenters (channels) that will work-ahead simultaneously (if multiple channels are being watched)
      • "working ahead" means transcoding at full speed, which can take a lot of resources
      • This setting must be greater than or equal to 0
  • Add more watermark locations ("middle" of each side)
  • Add VAAPI Device setting to ffmpeg profile to support installations with multiple video cards
  • Add experimental RadeonSI option for VAAPI Driver and include mesa drivers in vaapi docker image

Changed

  • Upgrade ffmpeg from 4.3 to 4.4 in all docker images
    • Upgrading from 4.3 to 4.4 is recommended for all installations
  • Move VAAPI Driver from settings page to ffmpeg profile to support installations with multiple video cards

Fixed

  • Fix some transcoding edge cases with nvidia and pixel format yuv420p10le
ErsatzTV - v0.1.1-alpha

Published by jasongdove about 3 years ago

Release Notes

Added

  • Add music video album to search index
    • This requires rebuilding the search index and search results may be empty or incomplete until the rebuild is complete

Changed

  • Remove forced initial delay from HLS Segmenter streaming mode
  • Upgrade nvidia docker image from 18.04 to 20.04
ErsatzTV - v0.1.0-alpha

Published by jasongdove about 3 years ago

Release Notes

Added

  • Add experimental streaming mode HLS Segmenter (most similar to HLS Hybrid)
    • This mode is intended to increase client compatibility and reduce issues at program boundaries
    • If you want the temporary transcode files to be located on a particular drive, the docker path is /root/.local/share/etv-transcode
  • Store frame rate with media statistics; this is needed to support HLS Segmenter
    • This requires re-ingesting statistics for all media items the first time this version is launched

Changed

  • Use latest iHD driver (21.2.3 vs 20.1.1) in vaapi docker images

Fixed

  • Add downsampling to support transcoding 10-bit HEVC content with the h264_vaapi encoder
  • Fix updating statistics when media items are replaced
  • Fix XMLTV generation when scheduled episode is missing metadata
ErsatzTV - v0.0.62-alpha

Published by jasongdove about 3 years ago

Release Notes

Added

  • Support IMDB ids from Plex libraries, which may improve Trakt matching for some items

Fixed

  • Include Specials/Season 0 episode-num entry in XMLTV
  • Fix some transcoding edge cases with VAAPI and pixel formats yuv420p10le, yuv444p10le and yuv444p
  • Update Plex movie and episode paths when they are changed within Plex
  • Always use libx264 software encoder for error messages
ErsatzTV - v0.0.61-alpha

Published by jasongdove about 3 years ago

Release Notes

Fixed

  • Revert nvenc/cuda filter change from v0.0.60-alpha
ErsatzTV - v0.0.60-alpha

Published by jasongdove about 3 years ago

Release Notes

Added

  • Add Trakt list support under Lists > Trakt Lists
    • Trakt lists can be added by url or by user/list
    • To re-download a Trakt list, simply add it again (no need to delete)
    • See Logs for unmatched item details
    • Trakt lists can only be scheduled by using Smart Collections
  • Add seasons to search index
    • This is needed because Trakt lists can contain seasons
    • This requires rebuilding the search index and search results may be empty or incomplete until the rebuild is complete

Fixed

  • Fix local television scanner to properly update episode metadata when NFO files have been added/changed
  • Properly detect ffmpeg nvenc (cuda) support in Hardware Acceleration health check
  • Fix nvenc/cuda filter for some yuv420p content
ErsatzTV - v0.0.59-alpha

Published by jasongdove about 3 years ago

Release Notes

Added

  • Add Health Checks table to home page to identify and surface common misconfigurations
    • FFmpeg Version checks ffmpeg and ffprobe versions
    • FFmpeg Reports checks whether ffmpeg troubleshooting reports are enabled since they can use a lot of disk space over time
    • Hardware Acceleration checks whether channels that transcode are using acceleration methods that ffmpeg claims to support
    • Movie Metadata checks whether all movies have metadata (fallback metadata counts as metadata)
    • Episode Metadata checks whether all episodes have metadata (fallback metadata counts as metadata)
    • Zero Duration checks whether all movies and episodes have a valid (non-zero) duration
    • VAAPI Driver checks whether a vaapi driver preference is configured when using the vaapi docker image
  • Add setting to each playout to schedule an automatic daily rebuild
    • This is useful if the playout uses a smart collection with released_onthisday

Fixed

  • Fix docker vaapi support for newer Intel platforms (Gen 8+)
    • This includes a new setting to force a particular vaapi driver (iHD or i965), as some Gen 8 or 9 hardware that is supported by both drivers will perform better with one or the other
  • Fix scanning and indexing local movies and episodes without NFO metadata
  • Fix displaying seasons for shows with no year (in metadata or in folder name)
  • Fix "direct play" in MPEG-TS mode (copy audio and video stream when Transcode is unchecked)
ErsatzTV - v0.0.58-alpha

Published by jasongdove about 3 years ago

Release Notes

Added

  • Add released_notinthelast search field for relative release date queries
    • Syntax is a number and a unit (days, weeks, months, years) like 1 week or 2 years
  • Add released_onthisday search field for historical queries
    • Syntax is released_onthisday:1 and will search for items released on this month number and day number in prior years
  • Add tooltip explaining Keep Multi-Part Episodes Together

Fixed

  • Properly display watermark when no other video filters (like scaling or padding) are required
  • Fix building some playouts in timezones with positive offsets (like UTC+2)
  • Fix Shuffle In Order so all collections/shows start from the earliest episode
    • You may need to rebuild playouts to see this fixed behavior more quickly
ErsatzTV - v0.0.57-alpha

Published by jasongdove about 3 years ago

Release Notes

Added

  • Add released_inthelast search field for relative release date queries
    • Syntax is a number and a unit (days, weeks, months, years) like 1 week or 2 years
  • Allow adding smart collections to multi collections

Fixed

  • Fix loading artwork in Kodi
    • Use fake image extension (.jpg) for artwork in M3U and XMLTV since Kodi detects MIME type from URL
    • Enable HEAD requests for IPTV image paths since Kodi requires those
ErsatzTV - v0.0.56-alpha

Published by jasongdove about 3 years ago

Release Notes

Added

  • Add Smart Collections
    • Smart Collections use search queries and can be created from the search result page
    • Smart Collections are re-evaluated every time playouts are extended or rebuilt to automatically include newly-matching items
    • This requires rebuilding the search index and search results may be empty or incomplete until the rebuild is complete
  • Allow Shuffle In Order with Collections and Smart Collections
    • Episodes will be grouped by show, and music videos will be grouped by artist
    • All movies will be a single group (multi-collections are probably better if Shuffle In Order is desired for movies)
    • All groups will be be ordered chronologically (custom ordering is only supported in multi-collections)

Fixed

  • Generate XMLTV that validates successfully
    • Properly order elements
    • Omit channels with no programmes
    • Properly identify channels using the format number.etv like 15.etv
  • Fix building playouts when multi-part episode grouping is enabled and episodes are missing metadata
  • Fix incorrect total items count in Multi Collections table
ErsatzTV - v0.0.55-alpha

Published by jasongdove about 3 years ago

Release Notes

Fixed

  • Fix all local library scanners to ignore dot underscore files (._)
ErsatzTV - v0.0.54-alpha

Published by jasongdove about 3 years ago

Release Notes

Added

  • Add Shuffle In Order playback order for multi-collections.
    • This is useful for randomizing multiple collections/shows on a single channel, while each collection maintains proper ordering (custom or chronological)

Fixed

  • Fix bug parsing ffprobe output in cultures where . (period) is a group/thousands separator
    • This bug likely prevented ETV from scheduling correctly or working at all in those cultures
    • After installing a version with this fix, affected content will need to be removed from ETV and re-added
ErsatzTV - v0.0.53-alpha

Published by jasongdove about 3 years ago

Release Notes

Fixed

  • Fix error message displayed after building empty playout
  • Fix Emby and Jellyfin links

Changed

  • Always proxy Jellyfin and Emby artwork; this fixes artwork in some networking scenarios
ErsatzTV - v0.0.52-alpha

Published by jasongdove about 3 years ago

Release Notes

Added

  • Add multiple local libraries to better organize your media
  • Add Move Library Path function to support reorganizing existing local libraries

Fixed

  • Fix bug preventing playouts from rebuilding after an empty collection is encountered within a multi-collection
ErsatzTV - v0.0.51-alpha

Published by jasongdove over 3 years ago

Release Notes

Added

  • Add Multi Collection to support shuffling multiple collections within a single schedule item
    • Collections within a multi collection are optionally grouped together and ordered when scheduling; this can be useful for franchises
  • Add Playout Days To Build setting to control how many days of playout data/program guide data should be built into the future

Changed

  • Move Playback Order from schedule to schedule items
    • This allows different schedule items to have different playback orders within a single schedule

Fixed

  • Fix release notes on home page with -alpha suffix
  • Fix linux-arm release by including SQLite interop artifacts
  • Fix issue where cached Plex credentials may become invalid when multiple servers are used
ErsatzTV - v0.0.50-alpha

Published by jasongdove over 3 years ago

Release Notes

Added

  • Add Linux ARM release artifacts which can be used on Raspberry Pi devices

Fixed

  • Fix bug preventing ingestion of local movies with fallback metadata (without NFO files)
  • Fix extra spaces in titles of local movies with fallback metadata (without NFO files)
ErsatzTV - v0.0.49-prealpha

Published by jasongdove over 3 years ago

Release Notes

Added

  • Include audio language metadata in all streaming modes
  • Add special zero-count case to Multiple playout mode
    • This configuration will automatically maintain the multiple count so that it is equal to the number of items in the collection
    • This configuration should be used if you want to play every item in a collection exactly once before advancing

Changed

  • Use case-insensitive sorting for collections page and Add to Collection dialog
  • Use case-insensitive sorting for all collection lists in schedule items editor
  • Use natural sorting for schedules page and Add to Schedule dialog

Fixed

  • Fix flooding schedule items that have a fixed start time
ErsatzTV - v0.0.48-prealpha

Published by jasongdove over 3 years ago

Release Notes

Added

  • Store pixel format with media statistics; this is needed to support normalization of 10-bit media items
    • This requires re-ingesting statistics for all media items the first time this version is launched

Changed

  • Use ffprobe to retrieve statistics for Plex media items (Local, Emby and Jellyfin libraries already use ffprobe)

Fixed

  • Fix playback of transcoded 10-bit media items (pixel format yuv420p10le) on Nvidia hardware
  • Emby and Jellyfin scanners now respect library refresh interval setting
  • Fix adding new seasons to existing Emby and Jellyfin shows
  • Fix adding new episodes to existing Emby and Jellyfin seasons
Related Projects