18 November 2021

HLS and DASH Forced Narrative (FN) subtitle support

A Forced Narrative (FN) subtitle is a text overlay that clarifies communications or alternate languages meant to be understood by the viewer. They can also be used to clarify dialogue, texted graphics or location/person IDs that are not otherwise covered in the dubbed/localized audio. In a job request you can add the parameters to the closed captions block to set the role in DASH manifest and set forced subtitles in an HLS manifest:

  • Subtitles marked as FN in a DASH manifest according to ISO 23009-1 which is a valid Role@value: forced-subtitle.
  • Subtitles marked as FN for an HLS manifest FORCED=YES + AUTOSELECT=YES arguments of EXT-X-MEDIA@TYPE=SUBTITLES See RFC 8216 - HTTP Live Streaming for more details.
<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>[Action]</action> <!-- required-->
    <source>[SourceFile]</source> <!-- required-->
    <format>
        <output>[OutputFormat]</output> <!-- required-->
        <!-- Format params -->
        <closed_captions>
            <forced>[yes|no]</forced>
            <role>[SubtitleRole]</role>
            <!-- closed captions params -->
        </closed_captions>
        <!-- Multiple closed captions params may be included in output format -->
        <closed_captions>
            <!-- closed captions params -->
        </closed_captions>
        <!-- format params -->
    </format></query>
{
    "query": {
        "userid": "<<id>>", // required
        "userkey": "<<key>>", // required
        "action": "[Action]", // required
        "source": "[SourceFile]", // required
        "format": {
            "output": "[OutputFormat]", // required
            "closed_captions": [
                {
                    "forced": "[yes|no]",
                    "role": "[SubtitleRole]"
                    // closed captions params
                },
                {
                    // closed captions params
                }
            ]
          	// format params
        }
    }
}
ParameterDescriptionAllowed ValuesDefault Value
forced Add FORCED=YES attribute to subtitle in HLS manifestyes, nono
role Set subtitle's Role attribute in DASH manifestcaption, subtitle, commentary, dub, description, metadata, forced-subtitle, easyreader, karaokesubtitle

🚧

For forced parameter

🚧

For role parameter

Audio Stream Split Channels Layout

Added option to set the audio stream split channels layout name.

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>[Action]</action> <!-- required-->
    <source>[SourceFile]</source> <!-- required -->
    <format>
        <output>[OutputFormat]</output> <!-- required -->
        <audio_stream>
            <!-- Common audio settings -->
            <channel>
                <split_layout>[SplitLayout]</split_layout>
                <!-- audio channel params -->
            </channel>
            <channel>
                <!-- audio channel params -->
            </channel>
            <split_channels>yes</split_channels>
            <!-- audio_stream params -->
        </audio_stream>
        <!-- multiple audio_streams -->
        <audio_stream>
            <!-- audio_stream params -->
        </audio_stream>
        <!-- format params -->
    </format>
</query>
{
    "query": {
        "userid": "<<id>>", // required
        "userkey": "<<key>>", // required
        "action": "[Action]", // required
        "source": "[SourceFile]", // required
        "format": {
            "output": "[OutputFormat]", // required
            "audio_stream": [
                {
                    "channel": [
                        {
                            "split_layout": "[SplitLayout]"
                            // audio channel params
                        },
                        {
                            // audio channel params
                        }
                    ],
                    "split_channels": "[yes|no]"
                },
                {
                    // audio_stream params
                }
            ]
            // format params
        }
    }
}
ParameterDescriptionAllowed ValuesDefault Value
split_channelsMux PCM audio stream channels into output as individual tracks.yes, nono
split_layoutSet stream layout name for if <split_channels />set to yesfl, fr, fc, lfe, bl, br, flc, frc, bc, sl, sr, tc, tfl, tfc, tfr, tbl, tbc, tbr, dl, dr, wl, wr, sdl, sdr, rsl, rsr, lw, rw, lfe2, lt, rt, -none