Skip to content

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

  1. DVB subtitle reception — the module receives subtitles in graphical format from MPEG-TS flow
  2. OCR recognition — automatic text recognition from subtitle images
  3. WebVTT conversion — transformation into textual WebVTT format
  4. Language separation — automatic separation of subtitles by languages
  5. 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

  1. Check quality of incoming DVB signal
  2. Check language support by support, possibly it is not supported

No Subtitles in Output

  1. Check presence of DVB subtitles in input flow
  2. Ensure correctness of dvbocr configuration
  3. 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.