In this categoryVideo Editing · 57
- How to Add Auto Captions to a Video in CapCutStart
- How to Add Auto Subtitles to a Video in Submagic
- How to Add Captions and Subtitles in Descript
- How to Auto-Generate Captions in VEED
- How to Auto Caption a Video with AI
- How to Style Captions with a Template in Submagic
- How to Translate Your Video Captions Into Another Language in CapCut
- How to Add Auto B-roll and Emojis to Captions in Submagic
- How to Translate Captions into Another Language in Submagic
- How to Fix Misheard Names and Jargon in Auto Captions
- How to Export Captions as an SRT File from VEED
- How to Batch-Caption Multiple Clips Efficiently in Submagic
- How to Upload an Existing SRT and Burn Captions in VEED
- How to Position Captions in the Safe Zone for TikTok and Reels
- How to Burn an SRT into a Video with FFmpeg
- How to Auto-Caption a Video and Fix the Errors Fast
- How to Edit Video by Editing the Text Transcript in Descript
- How to Remove Filler Words Automatically in Descript
- How to Apply Studio Sound to Clean Up Audio in Descript
- How to Remove a Video Background in CapCut Without a Green Screen
- How to Create an AI Voiceover With Text to Speech in CapCut
- How to Remove Background Noise in Descript
- How to Clean Up Background Noise in CapCut With AI
- How to Record Your Screen and Webcam in Descript
- How to Remove Awkward Pauses and Dead Air in Descript
- How to Retouch Skin and Enhance Faces in CapCut
- How to Fix Mistakes with Overdub AI Voice in Descript
- How to Record and Edit a Multi-Track Podcast in Descript
- How to Export and Publish a Video from Descript
- How to Make a Text-to-Video Clip in Runway Gen-3
- How to Animate a Still Image into Video with Runway
- How to Generate a Video from an Image in Kling AI
- How to Generate Video with Veo in the Gemini App
- How to Generate Video From a Text Prompt in CapCut
- How to Control Motion with Kling's Motion Brush
- How to Extend a Clip to a Longer Shot in Runway
- How to Write Camera Moves into Video Prompts
- How to Make Vertical 9:16 Clips for Shorts and Reels
- How to Fix Warping and Artifacts in AI Video
- How to Upscale and Smooth AI Video Output
- How to Keep a Consistent Character Across AI Clips
- How to Turn a Long Video into Shorts with Opus Clip
- How to Make a Faceless YouTube Short with AI
- How to Turn a Long Video Into Short Clips With CapCut AI
- How to Create Vertical Social Clips from a Long Video in Descript
- How to Convert a Horizontal Video to Vertical With Auto Reframe in CapCut
- How to Make a Faceless Reddit Story Video
- How to Add Animated Captions to Clips in Opus Clip
- How to Reframe a Horizontal Talking-Head Video to Vertical
- How to Auto-Cut a Montage to the Beat in CapCut
- How to Write Viral Hooks and Titles for Shorts with AI
- How to Batch-Clip a Whole Podcast Episode into Ten Shorts
- How to Make a Faceless Listicle Video from a Blog Post
- How to Add B-Roll and Emojis Automatically in Opus Clip
- How to Clone Your Voice for Faceless Narration with ElevenLabs
- How to Schedule Opus Clip Shorts to TikTok and YouTube
- How to Export Videos for TikTok, Reels, and YouTube From CapCut
How to Burn an SRT into a Video with FFmpeg
Use FFmpeg to hardcode a subtitle file into a video from the command line, with styling control.
Once you have a corrected SRT from Submagic or VEED, you do not always need to re-render inside those tools. FFmpeg can burn the subtitles into any video from the command line, which is ideal for automation and precise control. This guide covers the real commands.
- FFmpeg installed (verify with ffmpeg -version)
- A video file and a matching .srt in the same folder
- Comfort with a terminal
Step 1: Confirm FFmpeg is installed
Check the version first. On macOS you can install it with Homebrew if it is missing.
Step 2: Burn the SRT with one command
The subtitles filter draws the SRT onto each frame. This re-encodes the video, so it permanently bakes the captions in. The audio is copied through untouched.
ffmpeg -i input.mp4 -vf "subtitles=captions.srt" -c:a copy output.mp4Step 3: Control the look with force_style
You can override font, size, color, outline, and position using force_style, which takes ASS style keys. Colors are in &HBBGGRR hex order, which is reversed from normal RGB, so white is &HFFFFFF and yellow is &H00FFFF.
ffmpeg -i input.mp4 -vf "subtitles=captions.srt:force_style='FontName=Arial,Fontsize=24,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,Outline=2,Alignment=2,MarginV=60'" -c:a copy output.mp4Step 4: Keep a soft subtitle track instead
If you want toggleable captions inside an MP4 rather than burned-in pixels, mux the SRT as a soft track with mov_text. Players that support it can switch captions on and off.
ffmpeg -i input.mp4 -i captions.srt -c copy -c:s mov_text -metadata:s:s:0 language=eng output.mp4Step 5: Batch a whole folder
For many clips, loop over files that share a base name with their SRT. This is where the command line beats clicking through a GUI.
for f in *.mp4; do
base="${f%.mp4}"
if [ -f "${base}.srt" ]; then
ffmpeg -i "$f" -vf "subtitles=${base}.srt" -c:a copy "out_${base}.mp4"
fi
doneResult: a folder of clips with matching SRTs is burned with consistent styling in a single scripted run, no editor required.
Watch related tutorials
13:25
20:30
15:18
14:02
13:27
11:48New guides in your inbox
Fresh step-by-step how-to guides as we publish them. One email a week, no more.