18 November 2021
over 3 years ago by Encoding.com Product Team #2
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
}
}
}
Parameter | Description | Allowed Values | Default Value |
---|---|---|---|
forced | Add FORCED=YES attribute to subtitle in HLS manifest | yes, no | no |
role | Set subtitle's Role attribute in DASH manifest | caption, subtitle, commentary, dub, description, metadata, forced-subtitle, easyreader, karaoke | subtitle |
For forced parameter
- The <forced /> parameter available only for advanced_hls, fmp4_hls, and HLS manifests of advanced_fmp4 output formats.
For role parameter
- The <role /> parameter available only for advanced_dash and DASH manifests of advanced_fmp4 output formats.
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
}
}
}
Parameter | Description | Allowed Values | Default Value |
---|---|---|---|
split_channels | Mux PCM audio stream channels into output as individual tracks. | yes, no | no |
split_layout | Set stream layout name for if <split_channels />set to yes | fl, 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 |