Verified on-premises live streaming encoders
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. Microsoft 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.
- Adobe Flash Media Live Encoder 3.2
- Antix Digital StreamZ Live (previously Imagine Communication SelenioFlex Live)
- Blackmagic ATEM Mini and ATEM Mini PRO
- Cambria Live 4.3
- Elemental Live (version 2.14.15 and higher)
- Ffmpeg
- GoPro Hero 7 and Hero 8
- Haivision KB
- Haivision Makito X HEVC
- OBS Studio
- Osprey Talon hardware encoders, Talon 4K-SC, Talon UHD-SC
- Restream.io
- Streamlabs
- Switcher Studio (iOS)
- Telestream Wirecast (version 13.0.2 or higher due to the TLS 1.2 requirement)
- Telestream Wirecast S (only RTMP is supported. No RTMPS support due to lack of TLS 1.2+)
- Teradek Slice 756
- VMIX
- xStream
Warning
The above list of encoders is just a recommendation list. Encoders are not tested or validated by Microsoft 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 Microsoft 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. Microsoft 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.
Get help and support
You can contact Media Services with questions or follow our updates by one of the following methods:
- Q & A
- Stack Overflow. Tag questions with
azure-media-services
. - @MSFTAzureMedia or use @AzureSupport to request support.
- Open a support ticket through the Azure portal.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for