Enable live captions
Closed captions make your livestreams more inclusive and accessible by displaying spoken audio as on-screen text in real time. With FastPix, you can add captions natively to your livestreams without needing extra tools or third-party integrations. This is especially valuable for events like lectures, news broadcasts, live shows, or sports - where accessibility and clarity matter just as much as low latency and playback quality.
Currently, FastPix supports closed captions only for RTMP-based livestreams, since RTMP pushes captions into the HLS manifest. Other protocols, such as SRT, use a different data path and do not support captions in this workflow.
Step 1: Create a livestream
You can create a livestream with captions from either the FastPix Dashboard or the Live Streaming API.
When using the API, add the closedCaptions: true
parameter inside your inputMediaSettings
. This signals FastPix to insert caption tracks into the HLS manifest generated for playback.
Example request
{
"playbackSettings": {
"accessPolicy": "public"
},
"inputMediaSettings": {
"maxResolution": "1080p",
"reconnectWindow": 60,
"mediaPolicy": "public",
"closedCaptions": true,
"metadata": {
"livestream_name": "fastpix_livestream"
}
}
}
PLEASE NOTE
If you don't use the captions parameter, no caption track will be generated, and captions cannot be retroactively added once the stream has started.
Step 2: Start broadcasting with RTMP
Once the livestream is created, you’ll receive a dedicated RTMP ingest URL and stream key from FastPix.
Use your preferred encoder (e.g., OBS Studio, Wirecast, vMix, ffmpeg) to publish your video to the RTMP endpoint.
Captions will automatically propagate into the HLS playback stream. There’s usually a short warm-up delay of about 20–30 seconds before captions start appearing in the player. This is normal and expected.
Step 3: Check captions in playback
After you’ve gone live, you can test that captions are being properly rendered.
- Open the stream preview player inside the FastPix Dashboard. If captions are enabled, you’ll see a CC button in the player controls.
- Copy the playback URL (HLS) from the Dashboard or retrieve it via the API. Paste this into a compatible player.
Compatible players: Captions are supported in most modern players and frameworks, including Safari (native HLS support), hls.js, JWPlayer, Video.js, Shaka Player.
In each case, look for the Closed Captions (CC) button in the controls. Toggle it on to view captions and off to hide them.
Limitations and considerations
- Protocol support: Closed captions are currently supported only on RTMP streams because captions are inserted into the HLS manifest. SRT streams do not support captions.
- Latency: Captions appear with a slight delay (typically 20–30 seconds) as the pipeline stabilizes.
- Playback environments: While most modern players handle captions, some custom players may need explicit caption track configuration.
- Disabling captions: Once enabled in a livestream configuration, captions cannot be disabled mid-stream. You’d need to create a new livestream without closedCaptions: true.
Updated 1 day ago