Caption Every Live Stream. Automatically.
No editors. No delays. No third-party workflows.
Scribe listens to your stream, transcribes speech in real time, translates it into any language, and injects WebVTT subtitle tracks directly into your HLS or DASH manifest — so viewers get captions the moment you go live.
Real-Time Automatic Subtitles for Live Streaming
Scribe is a plugin for Ant Media Server that provides automatic subtitling for live video streams using speech-to-text technology. Developed by Raskenlund, the plugin extends Ant Media Server's capabilities, making live streaming more accessible and easier to manage.
The plugin captures audio from a live stream, converts speech into text, and injects subtitles directly into the video stream in real time. This allows broadcasters to deliver accessible, captioned content without requiring manual captioning or complex third-party workflows.
Key Features - Everything You Need for Automated Subtitling
Scribe handles the full subtitle workflow — from audio capture to synchronized display.
Real-Time Speech-to-Text
Convert live audio into subtitles with minimal latency.
Live Streams & VoD
Works with both live streaming and video-on-demand content.
Multi-Language Translation
Translate subtitles into multiple languages in real time.
HLS & DASH Support
Compatible with standard playback protocols and players.
Automatic Injection
Subtitles are added directly into the stream automatically.
Flexible Providers
Use cloud APIs or self-hosted transcription services.
Scribe Plugin Installation
Install Scribe, integrate with Ant Media Server, and start delivering live captions with low latency in minutes. Follow the steps below.
1. Install the Plugin
Run the following command on your server:
curl -fsSL https://downloads.raskenlund.com/scribe/antmediaserver/install.sh | sudo bash
This installs the plugin, sets permissions, and restarts the service.
2. Open Scribe Dashboard
Go to:
http://<your-server>:5080/rest/scribe/ui/
NOTE: Make sure you have already logged into Ant Media Server in another tab.
Dashboard Preview
3. Configure Settings
- Open Global Settings
- Add Scribe license key
- Add API credentials
- Save changes
Global Settings
Then:
- Restart the server
- Open dashboard
- Click Reload Configuration
It should show the license validated.
4. Install HLS Manifest Filter
To generate subtitles, the HLS manifest filter must be installed on your application in Ant Media Server.
- Go to Dashboard
- Select your application
- Click Install Filter
Install Filter
Then restart the server again.
5. Enable & Configure Plugin
- Enable Scribe plugin for selected application (default is OFF)
- Set source language — e.g.
en - Set target language — e.g.
fr - Save the settings
- Go to dashboard and click Reload Configuration
Translation Settings
6. Start Streaming
Publish a stream using RTMP, WebRTC, or any other supported protocol:
rtmp://domain-or-IP/live/streamId
7. Verify Output
Check AMS logs for scribe entries:
/usr/local/antmedia/log/ant-media-server.log
Then navigate to the streams directory:
cd /usr/local/antmedia/webapps/live/streams
You'll see .vtt subtitle files generated automatically alongside HLS segments.
Players requesting streamId.m3u8 or streamId_adaptive.m3u8 receive the manifest with subtitle tracks injected automatically — no special URL required.
8. Test Playback
Play your HLS (m3u8) or DASH (mpd) stream using a test player:
Subtitle Playback
Select the subtitle track from the available subtitles menu in the player.
Ready to Add Real-Time Subtitles to Your Streams?
Add powerful real-time subtitle generation to your live streams and make your content more accessible and engaging for viewers worldwide.