AWS for M&E Blog

System information data and remultiplexing using AWS Elemental Statmux

Introduction

Statistical multiplexing (statmux) is an essential compression technology that allows for efficient, high-quality distribution of multiple video channels over a fixed-bandwidth medium such as satellite, cable, or over-the-air transmission. To learn more about the basics of statmux, refer to our previous blog post on the topic.

For video distribution workflows, it is often necessary to include data streams carrying information such as electronic program guide (EPG) data or pass through audio and video streams that have been encoded. We recently announced support for these capabilities in our AWS Elemental Live and AWS Elemental Statmux products. In this blog, we walk through using these important new features to help content distributors maximize the capability and efficiency of their distribution multiplexes while minimizing wasted bits.

Figure 1 outlines a typical architecture for a distribution system, including AWS Elemental Live encoders and AWS Elemental Statmux, third-party encoders, EPG sources, and data insertion.

Figure 1: Typical AWS Elemental Live system

Bandwidth management

When you’re building a multiprogram transport stream (MPTS), it is essential to warrant proper bandwidth management of the resulting output multiplex. If the contributing sources add up to a higher bitrate than the multiplex bitrate, the multiplexer will overflow and drop packets, which leads to degradation of the viewing experience. Traditionally, you can warrant this by leaving sufficient headroom (null packets) in the output to verify that fluctuations in the contribution elements do not cause multiplexer overflow. However, this unused space also represents a wasted opportunity to improve picture quality by allowing one or more channels to use those unused bits. Using AWS Elemental Statmux, the multiplexer is constantly measuring the pass-through data contributions and is adjusting the video pool of the statmuxed channels to prevent overflows. This means that the multiplex is always minimizing the number of null packets, ensuring the best efficiency.

Program pass-through

When creating an MPTS with multiple video programs, we recommend reencoding all the video programs in the multiplex using AWS Elemental Live—a service to encode live on-premises video for events and 24-7 streams—for the best picture quality and bandwidth efficiency. However, there are some use cases where customers are required to remultiplex an existing program from a different encoder into a multiplex of statistical multiplexed programs. For example, a cable distributor might create statmuxes at a centralized location, then insert local channels alongside the statmux at a local facility. Though this approach loses a bit of overall bandwidth efficiency, AWS Elemental Statmux—an on-premises software and appliance solution for processing live video channels using statmux—supports this use case.

To help customers with these specific requirements, Elemental Statmux 2.23.4 release includes an option for program pass-through so that the original content can pass to the output without the need for a transcode. Program-specific information (PSI), such as PMT or SDT tables related to the program, can be modified as needed. The program must be running at a constant bitrate, so only small bitrate variations are permitted. After a program is added to the output, it will automatically be accounted for by the bandwidth management algorithm described previously.

You can add multiple programs from different sources and adjust the output bandwidth to reflect the pass-through services. Obviously, the overall bandwidth allocations to pass-through and statmuxed services still need to add up to less than or equal to the total multiplex bitrate. Typically, the number of pass-through services will be limited in most applications. It is possible to create a multiplex with only pass-through services, but then there is no bandwidth management.

A graph depicting bandwidth utilization within a statmux pool

Figure 2: Bandwidth plot with a multiplex including six CBR programs as pass-through

System information integration

AWS Elemental Live and AWS Elemental Statmux generate basic PSI and SI data for the MPTS output, but for applications requiring more elaborate SI data, such as EPGs and comprehensive network information tables (NIT), this type of information is often provided by an external SI server that generates the required tables in a repeated manner. AWS Elemental Statmux now helps customers integrate an external source of SI or PSI data into the video workflow by simply passing the data from the external source through to the output. Depending on what type of PSI/SI data is passed through, it might be necessary to turn off any locally generated SI/PSI data on the statmux node itself to avoid potential conflicts. Locally generated SI/PSI data on AWS Elemental Statmux can be individually controlled, and specific PID values can be specified, but in doing so, the user should take care to verify a compliant output. Allowing integration of EPGs, NIT tables, and other SI is often required for the given workflow and helps the operator create a richer and more viewer-friendly broadcast environment. In addition to SI/PSI, arbitrary data PID elementary streams can be passed through to the multiplex output as well.

Network considerations

To provide better reliability for the overall system, you can configure AWS Elemental Statmux with redundant network interfaces as well as backup inputs. It offers flexibility for deciding on the right redundancy architecture, and primary data sources can be supplemented with backup sources. Typically, any of the available NICs on the node can be used as an interface for the external sources, so a high level of flexibility makes this a simple integration process.

ATSC encoding use case

In the following use case, we will create an ATSC 1.0–compliant multiplex using AWS Elemental Live and AWS Elemental Statmux. The specific use case requires five channels to be statistically multiplexed together (one HD and four SD), plus one CBR pass-through SD channel from a non–Elemental Live encoder. Along with the video channels, PSIP data is needed to form a compliant ATSC multiplex in the output.

Figure 3 depicts a block diagram with an overview of the ATSC application; further down, we explain the settings needed to include the PSIP data and the CBR stream in the output multiplex.

Figure 3: ATSC encoding and multiplex

For the PSIP streams, the specific PID values used for the EIT and ETT tables (EPGs) are needed. The master guide table (MGT) PID is given by the ATSC standard.

The MPTS is configured with the MGT and EPG PID values using AWS Elemental Conductor—a service that simplifies management of video encoding—as a pass-through stream. As there are two (for redundancy) PSIP generators, both are added to the pass-through stream input named PSIP. For this application, a total of nine PIDs need to be passed to the output.

Screenshot of the user interface for configuring passthrough stream PID values on AWS Elemental Conductor

Figure 4: PID controls for EPGs and MGT

When you’ve configured the PSIP data, you can add the six video channels. The first five channels are included using the normal AWS Elemental Conductor–AWS Elemental Statmux setup and are added to the output in a statmux pool. The last channel is added as a pass-through program into the MPTS output. As with the PSIP data, a backup source is added on the input. The desired output PID values can be set at the PID controls, if required.

Screenshot of the user interface for configuring passthrough program primary and secondary source information on AWS Elemental Conductor

Figure 5: Program pass-through setup for sources

When you’re running the output transport stream, you can monitor it with a transport stream analyzer, which can confirm the presence of the six programs and the complete EPG information.

Note that the null packets in the output transport stream are limited to about 1.3 percent without the need for the user to configure the video pool. Minor fluctuations in the pass-through services are absorbed by the system as the video pool for the statmuxed channels is constantly regulated. Figure 7 details a flow diagram of the bitrate distribution across the multiplex. The FOX WX pass-through channel is running at a fixed 3.0 Mbps, and the rest varies over time. WAGA-HD (720p) is clearly carrying the biggest part of the data load.

Screenshot of MPEG analyzer depicting the final output mux with all PIDs visible

Figure 6: Resulting MPTS output as shown on TS analyzer

With the integration of data from an external PSIP generator, the MPTS output is now a fully compliant ATSC transport stream.

Bandwidth graph depicting the bandwidth distribution and utilization of programs within the mux

Figure 7: Output bandwidth distribution

Conclusion

With the latest additions of functionality to AWS Elemental Statmux, it is now possible to construct more comprehensive distribution multiplexes with content from third-party sources and to integrate with SI and EPG generators to create a complete MPTS output.

If you have applications for linear broadcast distribution and would like to learn more about AWS Elemental solutions, please contact your local AWS sales representative or visit the AWS Media & Entertainment contact us page.

John Bach

John Bach

John Bach, Senior Specialized Solution Architect. John has many years experience in Broadcast and related distribution technology and are helping many of our key M&E customers with their cloud and on premises solutions.

Bryan Samis

Bryan Samis

Bryan Samis is a Sr. Specialized Solutions Architect focusing on AWS Elemental Media Services.