DVB-WebVTT¶
Overview¶
DVB-WebVTT is a module in mcaster that receives subtitles from DVB in graphical format, recognizes them using OCR (Optical Character Recognition), and converts them to textual WebVTT subtitles. The resulting subtitles are suitable for playback on modern devices, including phones and televisions.
Operating Principles¶
DVB Subtitle Processing¶
- DVB subtitle reception — the module receives subtitles in graphical format from MPEG-TS flow
- OCR recognition — automatic text recognition from subtitle images
- WebVTT conversion — transformation into textual WebVTT format
- Language separation — automatic separation of subtitles by languages
- Manifest insertion — adding subtitles to HLS and DASH manifests
Supported Formats¶
- Input: DVB subtitles in graphical format
- Output: WebVTT textual subtitles
- Containers: HLS, DASH
- Languages: Automatic detection and separation by languages
Configuration¶
Basic Setup¶
stream vtt1 {
input udp://239.0.0.1:1234;
dvbocr replace;
}
Configuration Parameters¶
Parameter | Description | Required | Example |
---|---|---|---|
input |
Input flow with DVB subtitles | Yes | udp://239.0.0.1:1234 |
dvbocr |
Subtitle processing mode | Yes | replace |
Dvbocr Operation Modes¶
replace
¶
- Action: Replaces graphical DVB subtitles with textual WebVTT
- Result: Output flow contains only textual subtitles
- Application: Standard mode for most cases
add
¶
- Action: Adds textual subtitles to existing graphical ones
- Result: Output flow contains both types of subtitles
- Application: For compatibility with old devices
Extended Configuration¶
stream vtt1 {
input udp://239.0.0.1:1234;
dvbocr replace;
# Additional parameters
subtitle_languages auto; # Automatic language detection
ocr_confidence 0.8; # Minimum recognition confidence
subtitle_delay 0; # Subtitle delay in seconds
}
OCR Technology¶
Recognition Algorithms¶
- Neural networks — modern machine learning algorithms
- Adaptive processing — adjustment to image quality
- Multilingual recognition — support for various languages
- Context analysis — improving recognition accuracy
Quality Optimization¶
- Image preprocessing — improving contrast and clarity
- Noise filtering — removing compression artifacts
- Result validation — checking recognized text correctness
- Error correction — fixing typical OCR errors
Output Formats¶
WebVTT Subtitles¶
WEBVTT
00:00:01.000 --> 00:00:04.000
This is an example of textual subtitles
00:00:05.000 --> 00:00:08.000
Recognized from DVB flow
HLS Manifest¶
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXTINF:10.0,
segment_001.ts
#EXTINF:10.0,
segment_002.ts
# Subtitles for different languages
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",LANGUAGE="ru",NAME="Russian",DEFAULT=YES,URI="subtitles_ru.vtt"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",LANGUAGE="en",NAME="English",DEFAULT=NO,URI="subtitles_en.vtt"
DASH Manifest¶
<AdaptationSet mimeType="text/vtt" lang="ru">
<SegmentTemplate media="subtitles_ru_$Number$.vtt" initialization="subtitles_ru_init.vtt"/>
</AdaptationSet>
<AdaptationSet mimeType="text/vtt" lang="en">
<SegmentTemplate media="subtitles_en_$Number$.vtt" initialization="subtitles_en_init.vtt"/>
</AdaptationSet>
Automatic Language Separation¶
Language Detection¶
The module automatically determines subtitle language based on language codes in DVB flow
Troubleshooting¶
Recognition Problems¶
Low Recognition Quality¶
- Check quality of incoming DVB signal
- Check language support by support, possibly it is not supported
No Subtitles in Output¶
- Check presence of DVB subtitles in input flow
- Ensure correctness of dvbocr configuration
- Check module logs for errors
Performance¶
- Sufficient CPU resources — for real-time OCR processing
- Memory optimization — for subtitle frame buffering
- Efficient disk system — for output file writing
Device Compatibility¶
Supported Devices¶
- Modern televisions — with HLS/DASH support
- Smartphones and tablets — iOS, Android
- Web browsers — Chrome, Firefox, Safari, Edge
- Streaming devices — Apple TV, Chromecast, Fire TV
Subtitle Formats¶
- WebVTT — standard for HTML5 video
- HLS subtitles — embedded in m3u8 manifests
- DASH subtitles — separate adaptation sets
Conclusion¶
DVB-WebVTT module provides a modern solution for converting graphical DVB subtitles to textual WebVTT subtitles. Automatic recognition, multilingual support, and integration with HLS/DASH make it an indispensable tool for ensuring content accessibility on modern devices.