Video-Use Accessibility Features: Automatic Subtitle Generation and Burn-In Support
Yes, video-use includes built-in accessibility features that automatically generate and burn subtitles into edited videos, ensuring high-contrast readability and platform-safe positioning for deaf and hard-of-hearing users.
The browser-use/video-use repository provides comprehensive video-use accessibility features through automated closed caption generation. By integrating transcript data with edit-decision-lists (EDLs) and applying hard-coded accessibility styling, the tool ensures every rendered video includes readable subtitles without requiring manual post-processing.
How Video-Use Generates Accessible Subtitles
When rendering final output, video-use automatically creates a master SRT file by combining per-source transcripts with EDL offsets. In helpers/render.py lines 11-13, the --build-subtitles flag triggers this generation process, synchronizing text with the precise timing of your video edits.
The workflow always loads an audio transcript via ElevenLabs Scribe as its first layer, providing word-level timestamps and speaker diarization according to README.md lines 71-82. These transcripts feed directly into the subtitle generation step, creating a textual representation that serves as the foundation for accessibility compliance.
High-Contrast Subtitle Styling and Safe Zones
Accessibility requires readable text, so video-use forces subtitles into a high-contrast style defined in helpers/render.py lines 41-56. The configuration uses Helvetica 18 Bold with white text, no outline, and safe margins that respect platform UI safe-zones. This ensures captions remain visible and unclipped by TikTok or Instagram Reels controls, regardless of whether the output is landscape or vertical format.
Technical Implementation in the FFmpeg Pipeline
Subtitle placement in the filter graph is critical for accessibility. According to helpers/render.py lines 7-9 and documented in SKILL.md, subtitles are applied last in the FFmpeg filter chain. This guarantees that captions remain visible even after overlays, watermarks, or other visual effects are added to the video.
User-controlled rendering options in helpers/render.py lines 15-20 allow you to toggle accessibility features via CLI. You can explicitly enable subtitles with --build-subtitles or disable them for quick previews using --no-subtitles.
Rendering Videos with Accessibility Features
Generate fully accessible video output with automatic subtitle burning:
# Render a final video with automatically built subtitles
python helpers/render.py edit/edl.json -o edit/final.mp4 --build-subtitles
Create preview files without subtitles for faster iteration:
# Render a preview without subtitles (useful for quick checks)
python helpers/render.py edit/edl.json -o preview.mp4 --preview --no-subtitles
Invoke the same rendering logic programmatically in Python:
# In Python, you can invoke the same rendering logic programmatically
from helpers.render import main as render_video
render_video([
"edit/edl.json",
"-o", "edit/final.mp4",
"--build-subtitles"
])
Summary
- Automatic subtitle generation combines transcript data with EDL offsets via the
--build-subtitlesflag inhelpers/render.py. - High-contrast styling uses Helvetica 18 Bold with white text and safe margins to ensure readability across all video formats.
- Filter chain priority places subtitles last in the FFmpeg pipeline, guaranteeing visibility over all overlays.
- CLI flexibility allows toggling subtitle burn-in with
--build-subtitlesor--no-subtitlesflags. - Accurate source material comes from ElevenLabs Scribe transcripts with word-level timestamps and speaker diarization.
Frequently Asked Questions
How does video-use ensure subtitles meet accessibility standards?
Video-use enforces high-contrast styling using Helvetica 18 Bold with white text and no outline, positioned within safe margins to avoid platform UI clipping. According to helpers/render.py lines 41-56, these styles are hard-coded to ensure readability on both landscape and vertical video formats, providing a consistent accessible experience.
Can I preview videos without burning in subtitles?
Yes. Use the --no-subtitles flag when rendering to generate preview files without embedded captions. As implemented in helpers/render.py lines 15-20, this option works alongside --preview mode for quick iteration while preserving the full subtitle generation capability for final exports.
What subtitle format does video-use generate?
Video-use generates a master SRT file that combines per-source transcripts with edit-decision-list (EDL) offsets. This SRT file is then burned into the final video output during the FFmpeg rendering process, creating permanent closed captions that work across all video players and platforms.
Does video-use support speaker identification in subtitles?
Yes. The workflow loads transcripts via ElevenLabs Scribe, which provides speaker diarization and word-level timestamps according to README.md lines 71-82. While the final burned-in subtitles display the combined text, the underlying transcript data includes speaker identification, enabling future enhancements for speaker-specific caption styling or separate accessibility tracks.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →