Release notes version 1.12.*
Version 1.12.8 (2023-06-21) GA
hls: add the EXT-X-DATERANGE tag to the media segment if it overlaps the first half of its duration (#9247).
dash: fixed encrypting of Dolby Vision backwards compatibility tracks using CPIX (#9255).
live: when the duration of a DASHEventMessage is undefined, replace it, when possible, with the maximum duration of any SCTE 35 segmentation descriptors (#9240).
av1: fixed an assert in the AV1 parser that triggered when encrypting a track with multiple tiles and applying encryption (#9253).
Removed support for Alpine Linux 3.16.
Soon to be discontinued: Amazon Linux and Debian 11.
Nginx: updated Nginx to 1.24.0 (latest stable version as of 2023-04-11). Please note that Nginx is deprecated.
Note that due to https://github.com/yaml/pyyaml/issues/601, installations of
manifest_edit on Alpine Linux (used in many Docker containers) can fail with
a Cython-related error, when installing the PyYAML module.
This has been solved in 1.12.9 beta, but if you require 1.12.8 GA or an older
version, you can work around the installation error by running the following
root) before installing the
apk add py3-pip py3-wheel # (if not already installed) python3 -m pip install --no-build-isolation Cython==0.29.36 PyYAML==6.0
Typically, these would be on their own
RUN lines in a
inserted before the
RUN line that installs the
Output separate DASH periods for ad breaks (#203)
Database changes related to this feature may break DASH output for existing channels and they will need to be recreated.
Add MANIFEST_PROXY_HOST option for transition worker to connect to remote manifest proxy (#225)
Properly handle request with vend in the future by capping it to current wallclock time (#229)
Set correct Expires and Cache-Control: max-age headers when serving a live manifest, based on the expected next segment time (#226)
Version 1.12.7 (2023-06-02)
hls: fixed announcement of audio setup information for encrypted EC3 (#9252).
live: fixed serving the very last announced media segment when splicing is enabled (#9249).
live: fixed announcing media segment in DASH before it is fully available (#9227).
package-hls: changed assert into a warning message when the (audio) track is too short for the given (video) source description's timeline (#9251).
Added support for Debian 12.
Version 1.12.6 (2023-05-17)
packager: fixed a single tick alignment error in the fearless algorithm.
remix: pad audio and subtitle tracks to the video duration.
remix: when remix calculates the DASHEventMessage@duration it now uses the video track as leading timeline (#9245).
origin: stopped quoting query strings in manifest_edit invocations (#9246).
Version 1.12.5 (2023-05-10)
vod2live: only set cache headers when producing live manifests (#9222).
remix: automatically set the DASHEventMessage@duration for SCTE 35 segmentation descriptors.
removed support for Ubuntu 18.
Fix HLS keyframe playlist segment URLs (#224)
Update HLS media sequence to account for extra segments added for ad insertion or playlist looping (#223)
Version 1.12.4 (2023-04-21)
live: Fixed ingest edge-case where first fragment pushed into
CLOSEDpublishing point with
--restart_on_encoder_reconnectis not immediately visible (#9209).
Cache-Control: max-ageHTTP headers when output segment length longer than input fragments (#9232).
Support optional hls_minimum_fragment_length configuration in live source SMIL head (#217).
Give more informative error message when requesting manifest with invalid vbegin, vend, or t query parameter (#218)
Set correct timeShiftBufferDepth on dynamic DASH manifests with fixed vbegin (#219)
Allow custom RabbitMQ connection string for Celery by setting CELERY_BROKER environment variable (#221)
Correctly set start and end times on EXT-X-DATERANGE tags not attached to an EXT-INF (#222)
New DASH Adaptation Set Splitting plugin, allowing moving Representations from the Adaptation Set they have been assigned to by the Origin to a dedicated one.
Version 1.12.3 (2023-03-24) GA
hls: fixed duration signaling in media playlist when using --source-description option (#9233).
added m3u8 main use case for media URI rewriting, useful to activate m3u8_media use cases.
added m3u8 media use case to allow custom tags for timed metadata signalling in HLS.
Fix #EXT-X-MEDIA-SEQUENCE for streams with variable EXTINF durations (#216)
Version 1.12.2 (2023-03-21) RC
libfmp4: write AOMedia ID3 timed metadata as version 1 Event Message box (
live: ignore Timed Metadata tracks when determining live edge (#9207).
remix: improved support for nPVR archives with
seq@isContinuousattribute (#8250, #9144).
packager: fixed ismv (profile brand
iso2) packaging of movie fragments (
moof) containing multiple track fragments (
Fix incorrect headers set on manifest proxy response (#206)
Allow configuration of external Redis and RabbitMQ (#211)
Version 1.12.1 (2023-01-10) GA
New product. Meet Unified Virtual Channel
Unified Virtual Channel is a solution that delivers a traditional TV-like experience. The API-based solution repurposes live sources and media previously prepared for VOD streaming, into new live linear channels. Create custom linear channels, niche and pop-up channels, pre-recorded music events, FAST services, and more. Simplify your workflow with an easy-to-integrate API-based solution. Mix existing VOD content with live streams, along with seamless transitions. Customize and localize your content, and monetize your stream with ads. Software-only. Easy. Quick. Find more information on our website.
Operating System Support
Added support for Alpine linux 3.17.
Soon to be discontinued: Debian 11, Ubuntu 18.
Removed support for CentOS 7.
Removed support for Alpine linux 3.15.
Find out more about supported operating systems in our documentation.
live: allow more advanced SCTE 35 configuration options (Advanced SCTE 35 configurations) (#9172).
trickplay: add the scheme http://dashif.org/guidelines/trickmode to the kind box to signal a video track for trickplay playback when using the --trickplay option (#9140).
capture: preserve c608 captions signaling after keyframe insertion (#8982)
SCTE 35 & Custom Timed Metadata
hls: keep event messages with identical presentation times in receiving order. Previously pairs of SCTE 35 markers (CUE-IN/CUE-OUT) might have been reordered (#9178).
hls: fixed media segment splicing when SCTE 35 cue moves out of DVR window (#9179).
live: fixed early termination of SCTE 35 ad break for short DVR windows (#9176).
Unified Origin, Unified Remix & Unified Packager
origin: removed ContentProtection element from MPD@AdaptationSet containing thumbnail images (#9193).
remix: read required media data in VOD2Live output more efficiently (#9197).
remix: support frame accurate clipping for ''avc3'' format (#9186).
libfmp4: instead of returning a 404, return an empty manifest instead (#8996).
libfmp4: added support for reading the SampleEncryptionBox when a constant IV is in use and no saiz/saio boxes are present (#9175).
live: fixed assertion failure when ingesting duplicate track with distinct TrackName attributes (#9195).
live: fixed time_shift when used with virtual sub clip that extends beyond live-edge (#9180).
live: fixed TrackName MSS StreamBox property ingest (#9169).
dash: always use a @timescale so that the @duration is always accurately specified when using number addressing in MPEG DASH (#8795).
mp4: remove incorrectly signaled (non-IDR samples) from the sync-sample table when prepping an AVC track (#9173).
hls: fixed announcement of last media segment in muxed playlists where audio is lagging compared to the video track (#9145).
hls: added support for HLS/TS and encrypted remixed source content (#9162).
manifest_edit: added writing of custom EXTINF tags (#9185).
origin: added UspForceContentLength directive, to be used in combination with the UspOutputFilter directive, for running Manifest Edit (as described in Manifest Edit-related configuration).
fixed issue preventing transition creation when maximum number of channel is reached (#201)
Version 1.12.0 (2023-01-04) RC
Fix DASH BaseURL calculation for transitions (#199)