SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...
SYNC = TRUE
8X-99 = DATA_STREAM
FESTIVAL PROTOCOLS...
RATE: 29.97
RUNTIME: [BUFFERING]
10101100101010101010
ESTIMATING TOTAL...

STATUS SCREEN: FILM FESTIVAL CAPTION REQUIREMENTS

< RETURN TO HQ

After months of writing, shooting, and editing, your final cut is finally locked. But before you submit to Sundance, SXSW, or your local indie circuit, there is one technical hurdle that catches many independent filmmakers off guard: closed caption formatting.

1. SYSTEM COMPATIBILITY (FORMATS)

ACCEPTED SIDECAR FILES
🛡️ SUBRIP (.SRT) The Universal Standard: Widely accepted by almost every festival portal and streaming platform. It primarily contains the text and the sequential timing codes, with no hardcoded styling.
📡 WEBVTT (.VTT) The Web Standard: Often required for web-based screeners. It supports more advanced formatting, including font colors, text placement, and styling metadata.

2. FESTIVAL SURVIVAL RATE (AI VS HUMAN)

TITLE-SAFE & LETTERBOXING COMPLIANCE
💎 HUMAN CAPTIONERS (THE SUBTITLE ARCADE)
💀 AI AUTO-CAPTIONS
↳ The Threat: If your film is shot in a cinematic aspect ratio (like 2.35:1), AI software often places captions inside the black bars. If the festival projects on a 16:9 screen, your captions are cut off completely. Humans ensure title-safe markers are respected.
NARRATIVE & PACING PRESERVATION
❤️ HUMAN CAPTIONERS (THE SUBTITLE ARCADE)
🤖 AI AUTO-CAPTIONS
↳ The Threat: Automated systems notoriously butcher narrative pacing, fail to identify off-screen speakers, and ruin dramatic pauses. A deeply emotional scene can easily be destroyed by a mistimed punchline or text flashing by too quickly.

3. THE GLOBAL CIRCUIT (COMPLIANCE)

Whether you're premiering at Park City or the Croisette, projection specs change every season. We ensure your master file meets the exact deliverables for the world's most demanding programmers.

🌍 MAJOR FESTIVAL PROTOCOLS Sundance, Cannes, TIFF, SXSW, Venice, & Berlinale:

From mandatory Burned-In English SDH for domestic streams to exact DCP XML rendering for international theatrical projection, our team handles the technical headache so you can focus on your premiere.

4. THE QC GAUNTLET (TECHNICAL SPECS)

Theatrical projectionists will reject your film if it fails Quality Control (QC). Here is exactly what automated AI software fails to account for during export.

FRAME RATE DRIFT If your subtitles are timed in 23.98fps but your theatrical DCP is exported at a flat 24.00fps, your captions will slowly drift out of sync, ruining the end of your film. Human QC ensures absolute timecode parity.
👁️ READING SPEED (CPS) Festivals strictly enforce reading speeds (usually 17-20 Characters Per Second). AI ignores this and crams paragraphs on screen. We manually condense syntax so your audience actually has time to read it.
🎥 DCP FORMATTING While standard SRT files are perfect for festival submission screeners, high-end theatrical projection servers (DCPs) require specialized XML (Interop) or MXF (SMPTE) sidecar files to trigger the projector's internal subtitle engine.

FESTIVAL-READY PRECISION

Don't risk a festival rejection over formatting errors. We provide 100% human-powered, frame-by-frame precision.