If you already stream live events through the RMS API, you can now add AI-generated captions to your broadcasts. RMS transcribes the spoken audio of your stream and delivers captions to viewers in real time - no additional infrastructure required. This guide walks you through the configuration changes needed to enable live captioning in your existing integration.
In this article:
Create live event with enabled captions
Create live event with enabled captions
Live captioning requires a live event created with the following configuration. Send this request body to the Live events - Create endpoint:
{
"location": "West Europe",
"properties": {
"description": "",
"input": {
"streamingProtocol": "RTMP",
"keyFrameIntervalDuration": "PT2S",
"accessControl": {
"ip": {
"allow": []
}
}
},
"encoding": {
"encodingType": "PassthroughStandard"
},
"transcriptions": [
{
"language": "en-US"
}
],
"streamOptions": []
}
}Key parameters:
| Name | Required | Type | Required value | Description |
|---|---|---|---|---|
input.streamingProtocol |
True | string |
RTMP or SRT
|
Live captioning is not available for RTSP. |
encoding.encodingType |
True | string | PassthroughStandard |
Live captioning is not available for ABR encoding (Standard, Premium1080p). |
streamOptions |
True | string[] |
Default or empty |
Do not include LowLatency. Live captioning requires standard latency. |
Live captioning parameters
The properties.transcriptions enables the live caption generation in the request body:
"transcriptions": [
{
"language": "en-US"
}
]Keep in mind:
If the spoken language of your stream is omitted, the event will be created with no live captioning. These settings are fixed at creation and cannot be changed afterward. To change any of them, delete the live event and create a new one.
- The
languagevalue must be a BCP-47 locale string matching the spoken audio. For the full list of supported values, see the Live events - Create API reference. - For the complete API workflow (creating the asset, live output, streaming locator, and managing the event lifecycle), see Live streaming quickstart.
Encoder settings
When live captioning is enabled, your encoder must send audio that the transcription service can read. Apply these settings in addition to your standard configuration:
| Setting | Required value |
|---|---|
| Keyframe interval | 2 seconds |
| Max B-frames | 0 |
| Audio bitrate | Any non-empty value |
| Audio sample rate | Any non-empty value |
| Audio channels | Any non-empty value |
Captions in the recording
Live captions are not saved to the recording automatically.
To caption the VOD asset after the event ends, run the AI Caption extraction preset on the output asset. See Generate captions using the Azure AI Video Indexer in RMS.