Allows for better loudness normalization vs straight volume adjustment
using the ffmpeg loudnorm filter. The i, lra, and tp values are all
configurable in the advanced transcode settings.
Adds a pino destination that performs rudimentary log rotation based on
file size / schedule / both. The rotation can also be configured to only
keep a certain number of logs.
This needs some UI work so I haven't actually hooked it into the logger
yet.
Next iteration of the search query builder with the following changes:
1. Split input fields for free / structed query parameters.
2. Point-n-click search builder
3. Improved tooltips / hints on the search pages
Overhaul of the search parser to include:
* Numeric range queries with support for both inclusive, exclusive, and
half open ranges
* Better parsing of dates
* Virtual fields (search on "minutes" and have it translated to a
"duration" query)
* More tests
* First class support for date fields
Initial implementation of local media libraries. Includes local scanners
for movie and TV library types. Saves extracted metadata locally.
Some things are missing, including:
* Saving all metadata locally, including genres, actors, etc.
* blurhash extraction - this is computationally expensive at scale and
should be done async
* Hooking up subtitle extraction to new subtitle DB tables
This feature is mainly to provide a migration path from legacy transcode
pipeline users to the new pipeline in preparation of the former's
deprecation and removal. In general, users should not need to use these
first set of parameters (disabling various hardware accelerated
features) as doing so implies a bug that should be fixed. However, this
should provide a more smooth path for legacy holdouts to get onto the
new pipeline and allow them to experiment with the full, new pipeline,
without potentially wrecking their existing setup (via multiple
transcode configs).
Closes#1090
Schedules filler lists directly to a slot in slot schedulers, even if
the filler is not currently a part of the channels programming.
* Supports 3 ordering modes, with 2 weighting modes: shuffle preferring
short, shuffle preferring long, and shuffle. The former 2 modes
support linear and log weighting
* When using weighted modes, filler items are randomly picked using
their assigned weights. When a filler program is picked, its weight is
decreased to help prevent repeats. Over time, items weights slowly
increase back to their original weight.
* Flex time within a filler list slot does not respect the "between each
video" setting; any leftover time to fill in a slot uses the "end of
slot" setting.