6 min read

Everything you wanted to know about the new USP software version (but were afraid to ask)

The new GA (general availability) release 1.15.9 from Unified Streaming is now live. To help customers stream more efficiently, the upgrade packs in the features and fixes.

We begin, then, with nine items we figured were worth mentioning. After those follow two more features and fixes that relate only to Unified Virtual Channel.

1. 🚥 HEVC: store SEI NAL units with additional transfer characteristics or color volume information in the HEVCDecoderConfigurationRecord, to enable color and dynamic range calibration during decoder and display initialization. The SEI messages mastering_display_colour_volume, content_light_level_info, and alternative_transfer_characteristics are included.

🤷‍♀️ What’s it mean?

First things first. HEVC (also known by its many aliases: High Efficiency Video Coding, H.265, and MPEG-H Part 2) is a video compression standard. It’s designed to offer better video quality than its predecessor, H.264 (AVC). And it reduces bandwidth usage further. (Goes without saying that Unified Streaming supports HEVC.)

So what’s an HEVC Decoder Configuration Record, then? Well, this “hvcC” record, as it’s sometimes shortened to, is a data structure that provides info needed to decode HEVC content. Basically a set of parameters, the hvcC record describes the characteristics of the HEVC stream, allowing a decoder to interpret and reconstruct the video properly.

Hope you brought your boots, ’cause we’re going deeper into the weeds. Lace ’em up!

SEI (Supplemental Enhancement Information) NAL (Network Abstraction Layer) units . . . oof, that’s a mouthful. Simply put, they belong to the H.264/H.265 video encoding standard. These SEI NAL units contain additional data, or metadata, that can be included within a video bitstream. Used to convey information that’s not essential for decoding the core video data, SEI NAL units can nevertheless serve various purposes. They’re helpful. For instance, they say things about synchronization, about additional data, or about features like emotes.

🤔 What’s it to you?

Believe it or not, being able to store these SEI NAL units with more info in the hvcC record improves support for HLG (Hybrid Log-Gamma). HLG is a royalty-free format designed for live broadcasts and compatibility with both SDR (Standard Dynamic Range) and HDR (High Dynamic Range) display. Fun fact: the HLG format was jointly developed by the BBC and NHK, primarily for live television and surveillance applications. (Okay, that fact isn’t exactly fun, but it’s super interesting.) (Okay, it’s not super interesting, either.)

2. 🚥 mp4split: fix repackaging HEVC files with alternative_transfer_characteristics SEI messages in the elementary stream.

🤷 What’s it mean?

We don’t know.

Kidding. This fix is part and parcel of the improved support mentioned above, for HLG. (That’s Hybrid Log-Gamma, or did you already forget? Are you suffering from continued exposure to acronyms?)

🤔 What’s it to you?

Same as above. The fix is good for HLG, which can help you as a SIP (Streaming Industry Person). HLG offers backward compatibility with SDR (Standard Dynamic Range) displays, making it ideal for live broadcasts and a wide range of viewers. HLG also allows for efficient delivery of HDR (High Dynamic Range) content without requiring metadata or complex tone mapping, which can introduce latency or artifacts.

What’s tone mapping? It’s a technique. HDR uses tone mapping to play with the brightness and color range of an image or video so that devices with a smaller dynamic range (like SDR displays) can show images and video in the best possible way. So, essentially, tone mapping is kinda like HDR “slumming it.”

No offence, SDR.

(“None taken,” says SDR, “but we won’t forget this.”)

3. 🚥 origin: added ''license'' endpoint for API. The returns the license that is currently in use by the webserver (#8658).

🤷 What’s it mean?

So this change adds a way for Origin administrators (you know who you are) to get license key information without having to a) login to the machine, and then b) futz around trying to figure out where the license file is. The info can now be asked for directly from the Origin.

🤔 What’s it to you?

Getting the location of license key info quicker and more easily means you save time. Also, it improves automation and de-risks manual processes. Who doesn't love a great de-risking? 

4. 🚥 dash: updated to ‘Dolby Vision 2.3 Streams within the MPEG-DASH format’ (#9228).

🤷 What’s it mean?

Basically, this is an upgrade, from an older Dolby Vision 2.0 version for DASH, to the latest 2.3 version.

🤔 What’s it to you?

If you’re streaming Dolby Vision 2.3, you can take advantage of the newest features that come with 2.3. The update further enhances the viewing experience, via dynamic metadata, a wider color spectrum, and higher peak brightness capabilities. Helps to keep up.

5. 🚥 Added --s3_role_arn, --s3_role_session_name, and --s3_role_duration options for mp4split and unified_remix, and S3RoleARN, S3RoleSessionName, and S3RoleDuration directives for mod_unified_s3_auth, for obtaining AWS temporary security credentials. For more information please see Authenticate requests to AWS S3 and AWS Security Tokens.

🤷 What’s it mean?

This adds support for automatically retrieving AWS temporary security credentials, which had to be done manually in the past. (Since these credentials expire quickly, users had to add all kinds of nasty scripting to make it work, which is no longer necessary.)

🤔 What’s it to you?

Nothing like honest-to-goodness convenience, right?

6. 🚥 APT and Yum repositories are now signed with new public keys. See here for APT and here for Yum, and make sure that you download the most recent public key:

https://stable.apt.unified-streaming.com/unifiedstreaming.pub (for APT)

https://stable.yum.unified-streaming.com/unifiedstreaming.pub (for Yum)

🤷 What’s it mean?

This is part of semi-regularly updating your signing keys, since having those for too long is considered insecure. In addition, Debian and Ubuntu have now started warning about older signature algorithms, so we've updated to the latest recommended algorithm.

🤔 What’s it to you?

Well, it’s for security and peace of mind, which is something we’d like for you.

7. 🚥 Added support for Amazon Linux 2023 (#9402).

🤷 What’s it mean?

Amazon Linux 2023 (AL2023) is a Linux distribution designed to run applications on AWS, particularly within the Amazon EC2 environment. Amazon Linux 2023 succeeds Amazon Linux 2. It's designed as a general-purpose, secure, and stable operating system (OS) optimized for AWS cloud environments and offers a predictable release cycle with long-term support. 

🤔 What’s it to you?

If you use AWS, and there’s a very good chance you do, then Amazon Linux 2023 support can only help you as you do your thing, whatever that may be.

8. 🚥 origin: added support for ‘hev1’ (HEVC with in-band VPS/SPS/PPS) with DVB-DASH (urn:dvb:dash:profile:dvb-dash:2014).

🤷 What’s it mean?

DVB-DASH requires HEVC video segments to be in ‘hev1’ format, which uses so-called “in-band parameter sets.” This was not possible before, but now these are correctly served up.

🤔 What’s it to you?

The hev1 format’s a codec tag used to indicate High Efficiency Video Coding (HEVC), also known as H.265 (see #1 above), within the MP4 container format. Specifically, it specifies how HEVC parameter sets are stored in the MP4 file. "hev1" indicates that the parameter sets (SPS/PPS/VPS NAL units) are stored in-band within the HEVC bitstream and out-of-band within the sample entry. 

9. 🚥 libfmp4: only write referenced styles and regions in TTML fragments (#9401).

🤷 What’s it mean?

TTML subtitles have lots of styling properties, and (unfortunately), almost endless ways of specifying them. In this case, a customer had formatted the files in such a way that repackaging them would bloat the file size. Enormously. We fixed that.

🤔 What’s it to you?

Keep stylin’.

Unified Virtual Channel changes

And now for Unified Virtual Channel features and fixes. Since you’ve read all the way here to the end, either you’re a fan of Unified Virtual Channel, or you’re hardcore. (Maybe it’s both.)

(It’s probably both.)

🚥 We’ve made improvements to transition handling when segments overlap.

🤷‍♀️ What’s it mean?

A new playlist or live source starting in the middle of a segment can be tricky. We’ve made it so that it’s not tricky. Unified Virtual Channel handles these transitions much better now.

🤔 What’s it to you?

Segments often overlap. It just happens that way. Now, granted, in life, transitions can be messy. But there’s no need for messiness in Unified Virtual Channel transitions. So when you refer to transitions as regards segments overlapping in Unified Virtual Channel, it’s clean.

🚥 We’ve also made improvements to cache-related behavior, setting headers more consistently with Live Origin, and better handling for cache revalidation requests.

🤷‍♀️ What’s it mean?

Cache-related behavior, huh? Well, the industry’s swarming with all sorts of behaviors. So, regarding the behavior of caching, then: video caching equals storing popular manifests and media segments, temporarily. Where? On servers closer to the user's location. Video data doesn’t need to travel so far, then, which gets you faster loading times, reduced buffering, and a smoother viewing experience.

Cache revalidation is the process of checking if cached data is still valid, against the Origin server. And the process includes updating the data, if necessary. Revalidating cached data guarantees that users are served the most up-to-date information, even when using cached resources. 

🤔 What’s it to you?

These improvements ensure that manifests can be cached correctly by downstream proxies and CDNs, and they fix an edge case where a revalidation request could trigger Varnish (and possibly other caches) to keep serving stale content.

That's all. And that's not all.

For more info, and for the full list of changes in the GA, check out the release notes here. And if you have questions, be sure to give us a shout at sales@unified-streaming.com.

Share