Transcoding

How to transcode media assets using the Nomad Media platform.

Transcoding

Multi-Track Audio

Some video files have multiple audio tracks in the source material. Nomad Media handles this in several ways depending on the output format:

Proxy Transcoding

When transcoding to a proxy, the default transcoding profile transcodes each audio track one-for-one from the source. If the source has 4 audio tracks, the proxy will also have 4 audio tracks.

  • The proxy can be downloaded and played in a non-browser player (e.g. VLC) with all audio tracks visible.
  • Web browsers do not support playback of more than 1 audio track for MP4 (progressive) file types. The browser plays only the first audio track and there is no option to select others. This is a browser technology limitation.
  • Nomad Media supports an option to consolidate all audio tracks into a single track during transcoding ("flattening"). This works well for separated audio tracks but not for multi-lingual audio or conflicting tracks. Flattening can be applied conditionally using rules (e.g. only flatten audio in certain folders). Contact support to enable this option.

HLS/Dash Transcoding

When transcoding to HLS or Dash (separate cost), each audio track is retained in the output. Web players show an audio-track selector automatically. For scenarios requiring multiple audio tracks with lower cost, a custom HLS or Dash profile with a single output rendition can be created.

Transcriptions and Subtitles

When using AI transcriptions, only the first audio track from the MP4 proxy is analyzed. Additional tracks are ignored. If the audio track consolidation feature is enabled, transcription occurs after consolidation.


Video Output Profiles

This guide covers video output profile setup for AWS MediaLive channels managed by Nomad Media.

Concepts

HLS output profile groups in AWS MediaLive are pre-configured settings for packaging and delivering output to AWS Elemental MediaPackage channels. When running Nomad Media Live Channels, these profiles define the renditions available for each stream.

The default Nomad Media installation ships with one live output profile group ("Live Output MediaStore Defaults") containing 4 profiles:

  • UHD output — highest quality; also used for archiving by default
  • HD output
  • 2.5mb output
  • 1mb output

Creating Live Output Profiles

New live output profile types can be created in the Admin Console under the Live Channel area. Note: the live output profile type is currently used for RTMP Sharing only. New profiles are not tied to any output profile group until the steps below are completed.

Creating a Custom Live Output Profile Group

There is currently no UI for creating live output profile groups — this must be done via the API. Create the individual live output profiles first (you need their IDs), then create the group:

POST {{serverUrl}}/api/liveOutputProfileGroup
{
    "name": "Custom Live Output Profile Group",
    "enabled": true,
    "manifestType": "HLS",
    "isDefaultGroup": false,
    "outputType": {
        "enumValue": 0,
        "description": "MediaStore",
        "type": "MediaLiveOutputTypes",
        "lookupTypeId": "ac5146ea-4c01-4278-8c7b-0117f70c0000",
        "id": "ac5146ea-4c01-4278-8c7b-0117f70c0100"
    },
    "archiveOutputProfile": {
        "description": "UHD output",
        "type": "liveOutputProfile",
        "id": "fd3f3bbf-3ab0-4a35-9343-01e70a060bd9"
    },
    "outputProfiles": [
        {
            "description": "UHD output",
            "type": "liveOutputProfile",
            "id": "fd3f3bbf-3ab0-4a35-9343-01e70a060bd9"
        },
        {
            "description": "HD output",
            "type": "liveOutputProfile",
            "id": "448444cb-0c16-4a5d-8aea-eb3a0f369924"
        },
        {
            "description": "2.5mb output",
            "type": "liveOutputProfile",
            "id": "12ab28a5-92ef-4985-bc87-326c59cde77c"
        },
        {
            "description": "1mb output",
            "type": "liveOutputProfile",
            "id": "3b117f43-4f3d-4a80-8429-c50a2c47cc2c"
        }
    ]
}

Selecting a Custom Live Output Profile Group

Once a custom group is created, open any live channel in the Admin Console. A dropdown appears allowing you to select which live output profile group to use for that channel.

External Output Profiles / RTMP Sharing

For RTMP sharing configuration, refer to the RTMP Sharing Guide in the Admin Console or contact Nomad Media support.

Troubleshooting

Mixed FPS error on channel startup: If you see an error referencing segment sizes or GOP length mismatch, your output profile group has profiles with different FPS values. All profiles in an HLS output group must use the same FPS. Review each profile's frame rate setting.

Disabling a profile: If a specific live output profile is causing issues, uncheck its Enabled checkbox in the Admin Console. This prevents Nomad Media from sending that profile to AWS. Note this disables the profile system-wide across all channels.


Frame Rate, De-interlacing, and PAL/NTSC

Default Frame Rate

The default proxy configuration forces output to 30 fps (NTSC). For environments where source content is primarily 25 fps (PAL — common in European and UK broadcast workflows), the default should be changed to 25 fps during initial setup. Transcoding 25 fps source material to 30 fps introduces unnecessary frame rate conversion and can cause subtle motion artifacts.

Contact Nomad Media support to update the frame rate default in your environment's MediaConvert profile.

De-interlacing

Interlaced video (common in broadcast and legacy capture workflows) must be de-interlaced when generating a progressive MP4 proxy. Without de-interlacing, interlaced source files will display comb artifacts during web playback.

De-interlacing is an optional flag in the MediaConvert profile and can be scoped via the rules engine — for example, applying only to folders containing broadcast-origin content.


Additional Renditions and Streaming Formats

Beyond the default single MP4 proxy, the rules engine can be configured to generate additional renditions from the same ingest event.

Additional MP4 Renditions

Multiple MP4 versions can be generated at different resolutions or bitrates — for example, a full-quality 1080p proxy and a lower-bitrate mobile proxy. Each is governed by its own MediaConvert profile and can be scoped to specific folders.

HLS (HTTP Live Streaming)

HLS outputs package video into segmented files with a manifest, enabling adaptive bitrate (ABR) streaming. A typical ABR stack includes multiple quality levels (e.g., 1080p, 720p, 480p, 360p) — the web player automatically selects the appropriate level based on the viewer's available bandwidth.

HLS is the preferred format for end-user delivery over variable internet connections.

DASH (Dynamic Adaptive Streaming over HTTP)

DASH is an alternative adaptive streaming protocol with similar capabilities to HLS. It is less commonly used than HLS but is supported for environments that require it.

Standard MediaConvert Profiles

The following four profiles are installed by default. All use H.264 (AVC) with CBR rate control, CABAC entropy encoding, and scene change detection.

default — MP4 Proxy (MediaConvert)

Single-file progressive MP4. Resolution, frame rate, and pixel aspect ratio are all inherited from the source — no scaling is applied. Audio is passed through from the source without re-encoding.

CodecProfileBitrate
H.264MAIN2 Mbps

apple-hls — Apple HLS

Adaptive bitrate HLS output (M3U8) with five video renditions. Frame rate is fixed at 30 fps with explicit resolution scaling. Audio is muxed into each rendition's segments (no separate audio track files). Segment length is 6 seconds.

ResolutionDimensionsVideo BitrateH.264 Profile
1080p1920 × 10808 MbpsHIGH
720p1280 × 7205 MbpsHIGH
540p960 × 5402.5 MbpsMAIN
480p854 × 4801.5 MbpsMAIN
360p640 × 360850 KbpsMAIN

dash — DASH ISO

Adaptive bitrate DASH output (MPD). Identical video rendition ladder to the HLS profile — same resolutions, bitrates, frame rate, and H.264 profiles. Audio is embedded in the video renditions (no separate audio-only outputs). Segment length is 6 seconds with 2-second fragments.

cmaf — CMAF

Common Media Application Format (CMFC) with the same five video renditions as HLS/DASH, plus two dedicated audio-only outputs. Both an HLS manifest and a DASH manifest are generated from this single output group, making it the most efficient option when both delivery formats are required. Segment length is 6 seconds with 2-second fragments.

AudioCodecBitrateModeSample Rate
_AAC_192AAC-LC192 KbpsStereo (2.0)48 kHz
_AAC_128AAC-LC128 KbpsStereo (2.0)48 kHz

Bitmovin Transcoder Profiles

Bitmovin is an alternative transcoding engine that can be configured for environments requiring advanced encoding features or specific performance characteristics. The Bitmovin transcoder uses CRF (Constant Rate Factor) encoding mode with VBR (Variable Bitrate) for optimal quality-to-filesize ratio.

mp4-proxy — MP4 Proxy (Bitmovin)

Single-file progressive MP4 optimized for web playback and editing workflows.

Video Settings:

ParameterValue
Resolution1920 × 1080 (Full HD)
Bitrate2 Mbps (2,048,000 bps)
Bitrate Control ModeVBR (Variable Bitrate)
Frame Rate30 fps
CodecH.264
InterlacedNo (Progressive)
Encoding ModeSingle-pass CRF
Scene Cut Threshold90 (forces I-frames at scene changes)
PresetVOD_STANDARD

Audio Settings:

ParameterValue
Bitrate128 kbps (128,000 bps)
Bitrate Control ModeVBR
CodecAAC
Sampling Rate44.1 kHz
ChannelsStereo (2.0)

Available Bitmovin H.264 Configurations:

Bitmovin pre-configures multiple encoding profiles at initialization. Each profile is available in both progressive and interlaced variants:

ResolutionBitrate OptionsCRF Values
1080p10 Mbps, 8 Mbps, 5 Mbps, 2 Mbps (default), 1 Mbps, 512 kbps, 256 kbps18, 20, 22, 25, 26, 26, 27
720p10 Mbps, 8 Mbps, 5 Mbps, 2 Mbps, 1 Mbps, 512 kbps, 256 kbps18, 20, 22, 25, 26, 26, 27
480p10 Mbps, 8 Mbps, 5 Mbps, 2 Mbps, 1 Mbps, 512 kbps, 256 kbps18, 20, 22, 25, 26, 26, 27

Available Bitmovin AAC Audio Configurations:

BitrateChannel Layouts
128 kbps (default)Mono, Stereo, 3-Channel, 4-Channel, 5-Channel, 5.1, 7.1
256 kbpsMono, Stereo, 3-Channel, 4-Channel, 5-Channel, 5.1, 7.1
384 kbpsMono, Stereo, 3-Channel, 4-Channel, 5-Channel, 5.1, 7.1

Bitmovin Encoding Settings:

ParameterValue
Default Encoding Priority50
Encoder VersionSTABLE
Segment Length (HLS/DASH)4 seconds
Init Segment Nameinit.mp4
Segment Namingseg_%number%.m4s
Max Running Jobs20

MP3 Audio Proxy Generation

Nomad Media automatically generates MP3 audio proxies from video files for lightweight audio-only playback and preview. This is particularly useful for workflows requiring quick audio review without loading full video files.

audio-proxy — MP3 Audio Proxy

Audio-only MP3 file extracted from the first audio track of the source video. Generated automatically after successful MP4 proxy creation.

Processing Methods:

Nomad Media supports two methods for MP3 audio proxy generation:

1. FFmpeg Extraction (Default)

Uses FFmpeg to extract audio from video files with variable bitrate encoding.

ParameterValue
CodecMP3 (libmp3lame)
Quality-q:a 4 (VBR ~165 kbps average)
Sample RateInherited from source
ChannelsInherited from source
Output Filenameaudio-proxy.mp3

FFmpeg Command Parameters:

  • -vn — No video output (audio only)
  • -q:a 4 — Variable bitrate quality level 4 (good quality, ~165 kbps average)
  • -reconnect 1 — Enable reconnection on network errors
  • -reconnect_streamed 1 — Enable reconnection for streamed inputs
  • -reconnect_delay_max 5 — Maximum reconnection delay (5 seconds)
  • -xerror — Exit on error

2. Hybrik Transcoding (Alternative)

For environments using Hybrik as the transcoding engine, MP3 generation uses the audio-proxy template.

ParameterValue
CodecMP3
Bitrate192 kbps (CBR)
Sample Rate44.1 kHz
Channels2 (Stereo)
ContainerMP3
Output Filenameaudio-proxy.mp3

Usage Notes:

  • MP3 proxies are generated after the MP4 video proxy completes successfully
  • Only the first audio track from the source is extracted
  • If the source has multiple audio tracks, only track 1 is used for the MP3 proxy
  • MP3 generation is automatic and does not require manual configuration
  • The MP3 proxy is stored alongside other asset metadata in S3
  • Supported source formats include all video formats with embedded audio tracks
  • Audio-only source files (WAV, FLAC, AAC, etc.) can also generate MP3 proxies

Supported Audio Source Extensions:

.mp3, .wav, .flac, .aac, .aiff, .aif, .m4a, .ogg, .asf, .wma, .oga, .webm, .wma2, .mka, .ptf

Error Handling:

If MP3 extraction fails:

  • The system logs a warning and marks the job as errored
  • The asset reference is removed to prevent broken links
  • The MP4 video proxy remains unaffected
  • Users can retry MP3 generation through the admin interface

Cost Considerations

Each additional rendition incurs additional AWS MediaConvert transcoding cost and ongoing S3 storage cost. HLS/DASH outputs are generally larger than a single MP4 proxy due to the segmented file structure and multiple quality levels. These formats are most cost-effective when scoped to published or distribution-ready content rather than applied across an entire raw library.

MP3 audio proxies add minimal storage cost (typically 1-3 MB per hour of audio) and are generated using FFmpeg locally without additional transcoding service costs.


Subtitle File Formats

When working with subtitle files for transcribed or manually uploaded content, see Metadata Management for the supported subtitle formats and the SRT-to-VTT conversion workflow.