Release Notes
Added
- Add
Scaling Behavior
option to FFmpeg ProfileScale and Pad
: the default behavior and will maintain aspect ratio of all contentStretch
: a new mode that will NOT maintain aspect ratio when normalizing source content to the desired resolutionCrop
: a new mode that will scale beyond the desired resolution (maintaining aspect ratio), and crop to desired resolution- This mode does NOT detect black and intelligently crop
- The goal is to fill the canvas by over-scaling and cropping, instead of minimally scaling and padding
- Include
inputstream.ffmpegdirect
properties in channels.m3u when requested by Kodi - Log playout item title and path when starting a stream
- This will help with media server libraries where the URL passed to ffmpeg doesn't indicate which file is streaming
- Add QSV Capabilities to Troubleshooting page
- Add
language_tag
andseconds
fields to search index - Allow synchronizing Plex
TV Show
libraries that usePersonal Media Shows
agent - Include Noto CJK Fonts in docker images to support those characters in generated subtitles like songs and music video credits
- Support show fallback metadata with folder names like
Show.Name(1992)
Fixed
- Fix playout bug that caused some schedule items with fixed start times to be pushed to the next day
- Fix playout bug that prevented padded durations from fitting within a schedule item of the same duration
- For example, filler that padded to 30 minutes would often not fit in a 30 minute duration schedule item
- Fix VAAPI transcoding 8-bit source content to 10-bit
- Fix NVIDIA subtitle scaling when
scale_npp
filter is unavailable - Remove ffmpeg and ffprobe as required dependencies for scanning media server libraries
- Note that ffmpeg is still always required for playback to work
- Fix PGS subtitle pixel format with Intel VAAPI
- Fix some cases where
Copy
button would fail to copy to clipboard - Fix some cases where ffmpeg process would remain running after properly closing ErsatzTV
- Fix QSV HLS segment duration
- This behavior caused extremely slow QSV stream starts
- Fix displaying multiple languages in UI for movies, artists, shows
- Fix MySQL queries that could fail during media server library scans
- Fix scanning Jellyfin libraries when library options and/or path infos are not returned from Jellyfin API
- Fix error indexing music videos in
File Not Found
state - Fix bug scheduling duration filler when filler collection contains item with zero duration
- Fix bug displaying television seasons for shows that have no year metadata
Changed
- Upgrade ffmpeg to 6.1, which is now required for all installs
- Use new ffmpeg throttling method to minimize cpu/gpu use without impacting audio normalization
- Change FFmpeg Profile
Normalize Loudness
setting from checkbox to dropdownOff
: do not normalize loudnessloudnorm
: useloudnorm
filter to normalize loudness (generally higher CPU use)dynaudnorm
: usedynaudnorm
filter to normalize loudness (generally lower CPU use)
- Jellyfin collection scanning will no longer happen after every (automatic or forced) library scan
- Automatic/periodic scans will check collections one time after all libraries have been scanned
- There is a new table in the
Media
>Libraries
page with a button to manually re-scan Jellyfin collections as needed
- In FFmpeg Profile editor, only display hardware acceleration kinds that are supported by the configured ffmpeg
- Test QSV acceleration if configured, and fallback to software mode if test fails
- Detect QSV capabilities on Linux (supported decoders, encoders)
- Use hardware acceleration for error messages/offline messages
- Try to parse season number from season folder when Jellyfin does not provide season number
- This may fix issues where Jellyfin libraries show all season numbers as 0 (specials)
- Rework Plex collection scanning
- Automatic/periodic scans will check collections one time after all libraries have been scanned
- There is a table in the
Media
>Libraries
page with a button to manually re-scan Plex collections as needed - Plex smart collections will now be synchronized as tags, similar to other Plex collections