Release notes for version 1.7.31 - GA

1.7.31 (2017-07-26) - GA

Added

  • vp9: updated to version 1.0 (2017-03-30) of the VP Codec ISO Media File Format Binding specification.

    • This update makes Unified Packager adhere to WebM project specification of how to package VP9 in ISO BMFF ((f)MP4). The WebM specification is the successor to a Netflix specification, which Packager adhered to before.

    • Impact: Replaces and breaks compatibility with implementation of the preceding specification, introduced in 1.7.24.

  • packager: added --track_kind to better describe the purpose of tracks (e.g. audio description).

    • This option makes it possible to specify the SchemeIdUri/Value pair that's added to the 'kind' box when packaging a (fragmented) MP4. This box should describe the intended purpose of the track. Similar to the --track_role option described above, the --track_kind option can be used to further distinguish a track, besides its bitrate and language.

    • Impact: None expected other than as described, but dependent on the values that are specified using the option as well as on the player.

    • Documentation: --track_kind.

  • packager: create ISO 14496-30 compliant wvtt subtitles. (#1639)

    • Unified Packager is now able to package WebVTT captions and subtitles in a fragmented MP4 container, as specified in ISO/IEC 14496-30:2014 - Web Video Text Tracks.

    • Impact: None other than as described.

    • Documentation: Packaging TTML, WebVTT or SRT in fMP4.

  • origin: added HLS WebVTT playout from wvtt. (#1621)

  • origin: added DASH fMP4 text/wvtt subtitle playout. (#1621)

    • When ingesting ISO/IEC 14496-30:2014 - Web Video Text Tracks, Unified Origin is able to playout WebVTT captions and subtitles in MPEG-DASH.

    • Impact: None other than as described.

    • Documentation: Subtitles for VOD and Subtitles for Live.

  • origin: when fMP4 text/wvtt subtitles are available, we add an additional AdaptationSet for a WebVTT sidecar file. (#1777)

    • When ingesting ISO/IEC 14496-30:2014 - Web Video Text Tracks, a WebVTT sidecar file can be served when playing out MPEG-DASH through Unified Origin.

    • Impact: None other than as described.

Fixed

  • dash: reverted use of urn:mpeg:dash:urlparam:2014 and add query parameters to the @initialization and @media attributes instead. (#1750)

    • To adhere to standards as much as possible, new behaviour was introduced in 1.7.28 regarding the propagation of query parameters in DASH. This caused issues, as the new approach was not supported well enough by player vendors. Therefore, the behavior has been reverted in this version.

    • Impact: None other than as described.

  • origin: fixed query parameter propagation; note that parameters in the request are no longer added to the @src of the smil_switch.

    • Formerly when using IsmProxyPass, any query parameters that were not consumed by Unified Origin would cause Origin to make multiple requests to the backend; one set with the query parameters and one without. This caused additional load and broke the usage of parameters to track requests between services. This was unexpected behavior that is fixed in the current release. In circumstances as described, this will lower load as well as ensure the functionality of parameters to track requests.

    • Impact: None other than as described.

  • nginx: bumped url/path size to 4096 (from 512); making it the same as the apache module. (#1698)

    • Formerly when using NGINX with ism_proxy_pass, if a request for a URL exceeded a certain length "403 No virtual path specified" would be returned. To fix this problem the upper limit for the number of characters that a URL or path can contain has been bumped from 512 to 4096.

    • Impact: None other than as described.

  • origin: fixed HLS playlist when combining cc608 with subtitles. (#1622)

    • Formerly when packaging an MP4 file that contained an embedded closed captions track in addition to an external TTML subtitle track, the tracks would be detected and signaled in the manifest, but would not be viewable in Apple's native HLS player. This is fixed by handling the caption text separately from external subtitle tracks when generating a HLS client playlist.

    • Impact: None other than as described.

  • package-hls: updated calculation of (peak) bandwidth attribute for iframe only playlists so that it passes the media stream validator. (#1659)

    • Draft 18 of the Apple HLS specification, section 4.1 introduced a new approach to calculating the peak bitrate. Version 1.2 of Apple's Media Stream Validator will not pass streams that do not adhere to this approach. To comply with this approach the algorithm calculating the (peak) bandwith attribute for Iframe only playlists was updated.

    • Impact: None other than as described.

1.7.30 (2017-06-20)

  • origin: added dynamic timeShiftBufferDepth option for Apache and Nginx. (#1653)

1.7.29 (2017-06-12)

  • libfmp4: Common Encryption leaves slice_segment_header() in the clear for HEVC. (#1202)

    • To be fully compliant with the specification of the second edition of CENC HEVC's slice_segment_header() will no longer be encrypted. As the entry points for a video are signaled in the slice segment header, a player will be able to know where it can start playing and where it can switch tracks. This enhances the security, because the actual decoding of the video can now be done at the very end of the chain (i.e. the graphics processor).

    • Impact: Second edition of CENC is backwards compatible with the first, so no impact is expected.

  • origin: added support for AWS v4 authentication for media hosted on AWS S3 (apache and nginx). (#1525)

    • This feature ensures compatibility with newer AWS regions, which require the use of AWS Signature version 4 authentication. Usage of AWS Signature version 2 is still possible for other regions.

    • Impact: Very minor amount of additional overhead when using version 4.

    • Documentation: AWS Signature v4.

  • libfmp4: when SMPTE-TT ingesting, timing on arbitrary TTML element under <body> is accepted. (#1521)

    • This feature enhances compatibility when ingesting SMPTE-TT, as timing no longer needs to reside under a specified path in the XML. In addition, the path (and its attributes) are preserved in the output. However, do note that the path that is used must be identical for all timed texts. Also, nested timing is (still) ignored and TTML formatted according to the DFXP profile is still preferred for ingesting captions and subtitles.

    • Impact: None other than as described.

  • dash: the DASH-MPD schema states a required order for ProgramInformation, BaseURL, Location, Period, Metrics, EssentialProperty and UTCTiming.

    • Based on the required order stated by the DASH-MPD schema, the location of the UTCTiming element in the DASH manifest has been changed. It has been moved towards the end of the manifest, whereas it used to be located more towards the beginning.

    • Impact: Change is very minor and according to specification, so no impact is expected, but dependent on player.

  • packager: verify and fix sync-sample signaling when preprocessing AVC1.

    • Unified Packager verifies and fixes the signaling of sync samples in the sync sample table when preprocessing AVC1 encoded video. Any missing sync samples will be added to the table and ones that are falsely signaled will be removed. This makes Packager compatible with more input.

    • Impact: None other than as described.