Verified on-premises live streaming encoders

Media Services logo v3


Warning

Azure Media Services will be retired June 30th, 2024. For more information, see the AMS Retirement Guide.

In Azure Media Services, a Live Event (previously called a channel in v2) represents a pipeline for processing live-streaming content. The Live Event receives live input streams in one of two ways.

  • An on-premises live encoder sends a multi-bitrate RTMP or Smooth Streaming (fragmented MP4) stream to the Live Event that is not enabled to perform live encoding with Media Services. The ingested streams pass through Live Events without any further processing. This method is called pass-through. We recommend for the live encoder to send multi-bitrate streams instead of a single-bitrate stream to a pass-through live event to allow for adaptive bitrate streaming to the client.

    If you are using multi-bitrates streams for the pass-through live event, the video GOP size and the video fragments on different bitrates must be synchronized to avoid unexpected behavior on the playback side.

    Tip

    Using a pass-through method is the most economical way to do live streaming. The service supports a basic and standard pass-through mode depending on your ingest requirements. The basic pass-through is the most economical, but is limited in capabilities.

  • An on-premises live encoder sends a single-bitrate stream to the Live Event that is enabled to perform live encoding with Media Services in one of the following formats: RTMP or Smooth Streaming (fragmented MP4). The Live Event then performs live encoding of the incoming single-bitrate stream to a multi-bitrate (adaptive) video stream.

This article discusses verified on-premises live streaming encoders. The verification is done through vendor self-verification or customer verification. Azure Media Services does not do full or rigorous testing of each encoder, and does not continually re-verify on updates. For instructions on how to verify your on-premises live encoder, see verify your on-premises encoder

For detailed information about live encoding with Media Services, see Live streaming with Media Services v3.

Encoder requirements

Encoders must support TLS 1.2 when using HTTPS or RTMPS protocols.

Live encoders that output RTMP

Media Services recommends using one of following live encoders that have RTMP as output. The supported URL schemes are rtmp:// or rtmps://.

When streaming via RTMP, check firewall and/or proxy settings to confirm that outbound TCP ports 1935 and 1936 are open.

When streaming via RTMPS, check firewall and/or proxy settings to confirm that outbound TCP ports 2935 and 2936 are open.

Note

Encoders must support TLS 1.2 when using the RTMPS protocols.

Warning

The above list of encoders is just a recommendation list. Encoders are not tested or validated by Azure on a continual basis and updates or breaking changes can be introduced by encoder vendors or open source projects that could break compatibility.

Live encoders that output fragmented MP4 (Smooth Streaming ingest)

Media Services recommends using one of the following live encoders that have multi-bitrate Smooth Streaming (fragmented MP4) as output. The supported URL schemes are http:// or https://.

Note

Encoders must support TLS 1.2 when using HTTPS protocols.

  • Ateme TITAN Live
  • Antix Digital StreamZ Live (previously Imagine Communication SelenioFlex Live)
  • Cisco Digital Media Encoder 2200
  • Elemental Live (version 2.14.15 and higher due to the TLS 1.2 requirement)
  • Envivio 4Caster C4 Gen III
  • Ffmpeg
  • Media Excel Hero Live and Hero 4K (UHD/HEVC)

Tip

If you are streaming live events in multiple languages (for example, one English audio track and one Spanish audio track), you can accomplish this with the Media Excel live encoder configured to send the live feed to a pass-through Live Event.

Warning

The above list of encoders is just a recommendation list. Encoders are not tested or validated by Azure on a continual basis and support or bugs can be introduced by the encoder vendors or open source projects that break compatibility at any time.

Configuring on-premises live encoder settings

For information about what settings are valid for your live event type, see Live Event types comparison.

Playback requirements

To play back content, both an audio and video stream must be present. Playback of the video-only stream is not supported.

Configuration tips

  • Whenever possible, use a hardwired internet connection.
  • When you're determining bandwidth requirements, double the streaming bitrates. Although not mandatory, this simple rule helps to mitigate the impact of network congestion.
  • When using software-based encoders, close out any unnecessary programs.
  • Changing your encoder configuration after it has started pushing has negative effects on the event. Configuration changes can cause the event to become unstable. If you change your encoder configuration, you need to reset Live Events and restart the live event in order for the change to take place. If you stop and start the live event without resetting it, the live event will preserve the previous configuration.
  • Always test and validate newer versions of encoder software for continued compatibility with Azure Media Services. Azure does not re-validate encoders on this list, and most validations are done by the software vendors directly as a "self-certification."
  • Ensure that you give yourself ample time to set up your event. For high-scale events, we recommend starting the setup an hour before your event.
  • Use the H.264 video and AAC-LC audio codec output.
  • Stick to supported resolutions and frame rates for the type of Live Event you are broadcasting to (for example, 60fps is currently rejected.)
  • Ensure that there is key frame or GOP temporal alignment across video qualities.
  • Make sure there is a unique stream name for each video quality.
  • Use strict CBR encoding for optimum adaptive bitrate performance.

Important

Watch the physical condition of the machine (CPU / Memory / etc) as uploading fragments to cloud involves CPU and IO operations. If you change any encoder configurations, reset Live Events the channels and the live event for the change to take place. If you stop and start the live event without resetting it, the live event will preserve the previous configuration.