Aventus

media processing suite

Aventus is a cloud-based end-to-end media processing solution for live events, 24x7 live linear channels, and VOD content. Complete with flexible acquisition options, scalable transcoding, adaptive bitrate packaging, robust security, and ad opportunities, Aventus helps you scale and monetize your content for millions. Provided as a managed service, Aventus simplifies the complexities of the changing media industry.

Aventus Release Notes

Release 7.9

Table of Contents

  • Release date
  • Build information
  • What's new?
  • Bug fixes

Release date: 7/3/18

Build information: 7.9.30616.1 (General Public Release)

What's new?
HLS Multi-Audio Manifest Generation

Functionality to properly handle multi-audio manifest generation during instances where more than one language track is present.

Bug fixes:
Elimination of Errors During Channel Startup

Some transient stream errors could cause the channel to incorrectly enter a "Ready" state if they happened during startup. We now detect such cases and restart the channel automatically when that happens, so it won't transition to Ready until it actually is.

Aventus Processing of Small Segments

Reduce small segments due to SCTE tolerance (i.e: Coalesce SCTE messages to a specified tolerance). The tolerance becomes the minimum duration of a segment that is generated as a result of SCTE.


Release 7.8

Table of Contents

  • Release date
  • Build information
  • What's new?
  • Bug fixes

Release date: 1/30/18

Build information: 7.8.30196.1 (General Public Release)

What's new?
Dual Kafka Source Feed Capabilities

Enhanced functionality to switch between two Kafka source feeds.

Bug fixes:
UTC Time Syncronization

Corrects potential discrepancies with parsing and calculating UTC from the SCTE-35 signal.

Blackout Ad Insertion

In instances where a blackout occurs, allow SCTE-35 placement signalling opportunities to optionally only insert sample ads instead of provider ads.

AudioSourceID Loss

Upon editing a channel within the Aventus UI, the AudioSourceID will be synced forward when updating the JSON.

HTTP "Expect 100-Continue" Header When Publishing

Updated ability to turn off / on the sending of the HTTP header during publishing. By default, this feature will now be turned off.

Configurable Publishing Curl Call Timeouts

Relaxed the Aventus hard-coded timeout to now be configurable via the JSON file based on customer request.


Release 7.7

Table of Contents

  • Release date
  • Build information
  • What's new?

Release date: 12/19/17

Build information: 7.7.29954.1 (General Public Release)

What's new?
Support for Adjustable Bitrate Output Including Mix of 30p & 60p Streams in AWS

Aventus now provides support for publishing of mixed 30p and 60p streams in Amazon Web Services


Release 7.6

Table of Contents

  • Release date
  • Build information
  • What's new?
  • Bug fixes

Release date: 10/24/17

Build information: 7.6.29558.1 (General Public Release)

What's new?
Mixed Framerate Configuration

Aventus has improved layer alignment in supporting mixed frame rate configuration. Customers will now be able to support scenarios with lower framerates at lower layers and higher framerates at the top most layer to ensure highest quality to the viewer. For example, the following is a typical scenario a customer may wish to use as their channel setup.

Resolution
Bitrate (Mbps)
Frame rate
1280 x 720
5.30
59.94
1280 x 720
3.5
29.97
1024 x 576
2.4
29.97
768 x 432
1.5
29.97
608 x 342
1.0
29.97
480 x 270
0.75
29.97
384 x 216
0.5
29.97
352 x 198
0.3
29.97
Sample AES Key Rotation Based on Time Interval

Aventus supports key rotation based on configured time interval for Fairplay. Specifically, Aventus integrates with the Atlas DRM service to offer seamless integration and content protection to our customers.

Enable Delayed SCTE-35 Marker Ingestion

Aventus is capable of ingesting SCTE-35 markers even if the markers arrive late. Aventus respects the SCTE-35 spec today such that any SCTE-35 marker should arrive with a pre-roll of 4-seconds earlier than its intended schedule time or may face the risks of be discarded. The newly added windowing concept provides finer control based on current time.

Bug fixes:
Time Domain Can Go Backwards When Source Is Noisy

Improved robustness on handling source loss when time domain change occurs. During source loss, there exist a condition that can cause the audio and video transcoders to get out of synchronization and cause stalls in publishing. The improved model now automatically handles time domain change more gracefully and ensures monotonic increase order.

Copying Data Prior to Encrypting

In instances where multiple HLS packagers are being used, this guarantees that video will be copied prior to encryption to create seamless integration.


Release 7.5

Table of Contents

  • Release date
  • Build information
  • Deprecation notice
  • What's new?
  • Bug fixes

Release date: 6/15/17

Build information: 7.5.28975.1 (General Public Release)

DEPRECATION NOTICE: This will be the last platform release that includes support for HDS streams

What's new?
HLS Segmentation Accuracy

Based on a customer request this addresses downstream consumption when a short segment is produced due to SCTE-35 segmentation. This feature enables Aventus to offer a separate mode of segmentation, allowing better accuracy in video segmentation while reducing the number of short frame segments.

There are two new values that can be set for the HLS Stream Package Parameters:

Value
Default Value
Options
Changes
DisableDurationThreshold
False
True / False
Setting this to true forces HLS Segmentation to wait until it has accumulated a GOP over Target Duration. When true this will add one GOP of latency (usually 2 seconds) to end-to-end latency
TargetDurationTolerance
450
Any value < 499
This changes how much over Target Duration Segmentation will continue to accumulate in milliseconds
Limit HLS Retries

This feature causes Aventus to maintain a hard cap on the number of retries during HLS segment publishing. Instead of leveraging automatic retry algorithm, we also offer a hard limit to further fine control this behavior to reduce flooding the CDN with requests.

It is now possible to set the total number of attempts the HLS publisher will try to send an item to a publishing point:

Value
Default Value
Options
Changes
TotalAttempts
Send as many times as possible until time runs out
Specific value
Setting to a number will only allow that many failed attempts to the publishing point.
Pass Content ID Messages into the HLS Manifest

Content Identification messages can now be passed into the HLS manifest. The Content Identification message will stay at the top of the DVR Window until a Program End or a new Content Identification SCTE-35 has been received.

SCTE-35 Messages Delivery

Added additional error handling and more robust implementation for sending SCTE-35 messages in addition to self-healing ability if an ingest error occurs.

Aventus Key Multi-Publishing

Aventus now has the option to send AES-128 keys to multiple publishing points. The AES-128 key can be configured to push to a primary and secondary location, helping with redundancy and eliminating a single point of failure. If the origin region goes down entirely there will be a backup and the client will still receive both video and encryption keys. The key is considered valid when successfully pushed to either location in a 1+1 redundant failover scenario. There is a single playback URL that points to the publishing point that had a successful key published. For each key that is generated it is pushed simultaneously to all of the listed publishing points. Whichever one returns a success first will be the primary publishing point. Please note, if multiple publishing points exist, you can only have 1 playback URL.

SCTE-35 History Table

Friendlier representation of the SCTE-35 history API that shows the in-band SCTE-35 messages in a more readable format.

  • The feature can be accessed by "SCTE-35 History" button in the Aventus Ad/Slate page. The new button will show all the SCTE-35 messages in a table format which displays 24 records at a time.
Ability to Inject Chapter Start/End in the UI

A set of new buttons in the Aventus UI to allow graphical injection of chapter start and chapter end SCTE-35 messages.

Bug fixes:
Elementary / RTMP Streams Packaging Logic & Synchronization

Added logic to the HLS Packaging to keep the Elementary Streams moving forward at the same pace. Before this change, Packaging read the streams in round robin. If a stream, like audio, fell behind but produced all of the missing data, Packaging would not read the stream to catch back up. This would cause additional permanent latency in the pipeline for GOP Synchronization to occur and if the time delta was too great the Elementary Streams would never synchronize because data would be thrown away to keep the queues at a manageable level. This is an “always-on” feature.

RTMP now synchronizes the Elementary Streams before publishing. This fixes Akamai RTMP Transmux where layers are not aligned. Also, the RTMP timestamp is now assigned at one place before publishing so all RTMP streams have the same time.

Improved Cloud Flexibility

Updated the Aventus internal decoder / encoder package for improved functionality in the cloud environment, which results in increased picture quality in lower bitrate streams.

Ability To Update Slates While On-Air

New functionality which will allow for the updating of an Aventus slate while the channel is still on-air.

Updated Slates Are Now Downloaded by Aventus

Updated functionality which will now re-download an updated Aventus slate when a channel is restarted.

Improved DNS Handling Within HLS Publishing

Updated HLS publishing to handle additional DNS failure scenarios to allow better self-healing to avoid CDN disconnection.


Release 7.4
What's new?
High Availability

Ability to host Aventus in AWS

Telemetry and Alerts Enhancements

Improvements in “Signal to Noise” ratios have led to a reduction in “false positives” and improved reporting accuracy for overall channel health

Segment Validation

MD5 content header validation which supports segment validation prior to publishing

Multiple Slate Support

Aventus now supports multiple differing slate images per segmentation type

Publishing Reliability
  • Improvements in publishing reliability during adverse networking conditions
  • During times of HLS discontinuity, ensure alignment across all renditions is consistent, along with the correction of media segment numbering
  • Publish AES keys via HTTP POST
SCTE-35 Web_Delivery_Allowed_Flag Enhancements

Introduced a new whitelist capability to improve flexibility in controlling whether the flag should be honored for different segmentation type coming from the source

Media Segment Naming Conventions
  • An enhanced folder naming convention for .TS media segments that includes the channel start time (in seconds since 1/1/1970), to ensure CDN refresh across channel restarts.
  • Old naming convention – VIDEO_8_264000/set_0/TestChannel2_VIDEO_8_264000_401.ts
  • New naming convention - VIDEO_8_264000/1487706626_set_0/TestChannel2_VIDEO_8_264000_401.ts
Master Manifest Content Filtering
  • Introduction to filter the master manifest contents of partial presentations to allow separate primary and secondary master manifests to be created
  • New behavior to place DRM-specific manifests in the same directory as the multi-DRM manifests
HLS Manifest Tag Support

Aventus now supports EXT-X-PROGRAM-DATE-TIME tags in HLS manifest with an optional millisecond accuracy

AES-128 HLS Reliability

Aventus will not start the channel until at least one key is published successfully. Once a key is published, if the new key fails to publish for any reason, we will continue to use the known good key until a successful publish occurs. In addition, we will allow the keys to be pre-published and cached for use to ensure consistent playback.


Release 7.3
What's new?
Cross-Layer Alignment for all Live HLS Streams
  • Improved consumer playback stability
  • Additional control flow logic added to ensure renditions remain aligned throughout the lifetime of the channel
  • Live site HLS alignment monitoring
SCTE-35 Channel Timeline History
  • The SCTE-35 Public API allows a third party to insert SCTE-35 commands while Aventus is publishing a live stream.
  • API call delivers structured JSON data which will be diagnostically helpful for determining events are being managed by the channel timeline.
SCTE-35 Signal Archiving

Changes have been made to the channel timeline pipeline to give better diagnostic coverage. This will allow active monitoring work to move forward without being bounded by Aventus release cycles, as well as allow users better and more immediate response information across the board.

Content Identification​

Provided Aventus the ability to listen to Content Identification (0x01) SCTE-35 messages

AES-128 Key Publishing Robustness

Aventus will now try up to 20 times to publish a file. The timeout for time to start a connection and the time to send the key is capped at 1 second​

RTMP Publishing Resilience

Added functionality to not allow Aventus to send Audio/Video Samples to RTMP that are not in order.


Release 7.2
What's new?
Distinct HLS manifests per DRM protection scheme

In cases where HLS channels implement more than a single DRM content protection scheme, Aventus now publishes multiple, distinct manifests in addition to "compound" ones where all DRM tags coexist in a common manifest. This helps ensure player app compatibility for cases where client players reject HLS playlists containing tags they do not recognize. Aventus will not publish duplicate TS segments, meaning each specific manifest refers to a common set of TS segments. Work with iStreamPlanet Operations team members for additional details.

AES-128 CBC content decryption key publishing

Aventus now supports HTTPS publishing of "AES-128 CBC" DRM content decryption keys. This complements existing Aventus support for publishing to FTP endpoints.

Interoperability with Twitch

RTMP timestamp can now be reset whenever the connection between Aventus and Twitch is dropped. To enable this feature, edit the channel JSON for a Twitch packager or publisher by adding the following StreamPackage field:

"Package": {
                    "StreamPackages": [
                        {
                            "Format": "RTMP",
                            "Parameters": {
                                "ResetTimestampOnReconnect": true
                            },
                            "StreamCollection": [
                                {
                                    "VideoStreamIndex": 0
                                },
                                {
                                    "VideoStreamIndex": 1
                                },
                                {
                                    "AudioStreamIndex": 0
                                }
                            ]
                        }
                    ]
                }
HLS Segment Alignment across renditions

This feature is undergoing continued development. In cases where segment alignment is critical to your live streaming scenario, Aventus will now perform additional synchronization during channel start-up to ensure all HLS renditions are initiated across a common IFrame. When enabled, Aventus may require up to six additional seconds to deliver HLS segments to your CDN. Thus, this behavior is currently disabled by default until we achieve a solution which does not incurr additional channel startup latency. The following Channel JSON enables this behavior and is declared at the root.

"ServicesConfiguration": {
                        "VideoTranscoder": [
                            {
                                "GopsToSkip": 2
                            }
                        ]
                    }
Order preserved for Partial Presentations

The order in which partial presentations are declared in channel JSON is preserved in the channels Aventus publishes. This makes it easier for operators to reconcile JSON Channel Config with the Aventus UI and channel API results.