Overview
This guide is intended to show you step-by-step how to set up an MBR stream using HTTP Push. For more information on the V2 UI in general, see this guide.
Step-by-step
Setting up an MBR stream consists of the following parts:
- Configure AV Input
- Create and configure MBR Group
- Create and configure Video Profiles
- Create and configure Audio Profile
- Configure HTTP Push
- Example Configuration
Each part has its own steps, so we will be going through each part as its own section.
Configure AV Input
Important: Ensure encoding is turned off before making changes to an MBR group to ensure proper functionality. Once changes have been made, encoding may resume.
AV Input is where the input resolution will be reported as well as where the selection of HDMI or SDI and embedded audio or 3.5mm audio can be chosen:
- Make sure the reported input resolution/framerate matches the expected source resolution/framerate
- Make sure the Video Input selected matches the input source being used
- Make sure the Audio Input matches the source audio
- Click Save
Create and configure MBR Group
MBR Group is where all of the common settings for the Video Profiles will be managed.
- Under MBR Group, click Group Settings
- Set the respective settings to the desired configuration
- The defaults here are good for a majority of use cases
- If trying to get the absolute lowest latency possible, set Quality/Latency to Lowest
- Click Save
Create and configure Video Profiles
Create as many Video Profiles as are needed for the stream. The combined resolutions/framerates for Node must not exceed 4K30. The combined resolutions/framerates for Max must not exceed 4K120. To demonstrate a common ladder (set of different resolutions), we will be using the following:
- 1x 1080p60
- 1x 720p60
- 1x 480p60
To set up this ladder:
- Under Video Profiles, click + Add Profile for the number of Video Profiles in the ladder (in this case, we're looking for a total of 3 Video Profiles). Ensure you are using the same video codec (AVC or HEVC) for each of the Video Profiles.
- For each Video Profile, click the name in the left sidebar then,
- Click the name in the main configuration menu (should have a pencil icon next to it) and type the new name of the Video Profile (we recommend naming according to the scaled resolution of that profile).
- e.g.:
- Video Profile 1 named 1080p
- Video Profile 2 named 720p
- Video Profile 3 named 480p
- e.g.:
- Set Video Scaling to the desired resolution for the profile
- Configure the rest of the settings of the Video Profile appropriately
- At the bottom, make sure to turn MBR Group Member to ON
- Click Save
- Click the name in the main configuration menu (should have a pencil icon next to it) and type the new name of the Video Profile (we recommend naming according to the scaled resolution of that profile).
Create and configure Audio Profile
- Click either the existing Audio Profile or + Add Audio Profile. Ensure that you are using the MPEG-4-AAC-LC audio codec.
- Click the new Audio Profile name that appears
- Click the name in the main configuration menu (should have a pencil icon next to it) and type the new name of the Audio Profile
- Configure the desired settings
- Click Save
Configure HTTP Push
HTTP Push is where the output settings for the MBR stream will be set. For detailed information on HTTP Push, follow this guide. This section will talk about the MBR specifics of HTTP Push setup. Enabling MBR for HTTP Push is very easy:
- Select the MBR Group as the Video Source
- Select the previously created Audio Profile and the Audio Source
- Configure the rest of HTTP Push according to the guide linked above
Example Configuration
In this example, we will be configuring an MRB ladder HTTP Push stream using AWS MediaStore with 3x video profiles using the following bitrate construction: 1080p, 720, and 480p.
- Verify the AV Input:
- In this example, we are using an HDMI video source with embedded audio with an input resolution of 1080i59.94
- In this example, we are using an HDMI video source with embedded audio with an input resolution of 1080i59.94
- Configure the MBR Group:
- In this example, we are not limiting to maximum 30 FPS, we are setting a keyframe interval of 2 seconds, and setting Quality/Latency to Normal. Click Save
- In this example, we are not limiting to maximum 30 FPS, we are setting a keyframe interval of 2 seconds, and setting Quality/Latency to Normal. Click Save
- Configure the video profiles:
- 1080p
- 720p
- 480p
- 1080p
- Configure the audio profile:
- Configure HTTP Push:
- Select MBR Group for the Video Source along with the appropriate audio source
- In this case, we are streaming both HLS and DASH to an AWS MediaStore account using our MediaStore container's data endpoint
- The HTTP Push URL is configured as follows:
- Enable the HTTP Push output
- Notice all three video profiles and the assigned audio profile are encoding as indicated by a green checkmark
- Notice all three video profiles and the assigned audio profile are encoding as indicated by a green checkmark
- View playback by navigating to your AWS MediaStore container and selecting your MyStreamURL container that is created.
- The following files will be located inside your MyStreamURL directory
- Clicking on master.m3u8 (HLS file) or manifest.mpd (DASH file) will redirect you to another page where you can copy the Object name to playback in a player that supports HLS or DASH playback
- We recommend adding the following extension to a Google Chrome browser for native playback by simply entering the Object name URL in your Chrome browser:
https://chrome.google.com/webstore/detail/native-mpeg-dash-%20-hls-pl/cjfbmleiaobegagekpmlhmaadepdeedn
- The following files will be located inside your MyStreamURL directory