FILE FORMAT

SRT to MP4 Subtitles — FFmpeg Commands + a No-Install Online Method

By Terry · Updated March 2026 · 8 min read

“SRT to MP4 subtitles” means embedding (hard-burning) or soft-attaching an SRT subtitle file onto an MP4 video. The fastest method: use FFmpeg's subtitles filter to hard-burn, or attach as a soft sub with -c:s mov_text. For no-install workflows, AdTransPro lets you upload the MP4 + SRT and downloads a captioned video in under 2 minutes.

Skip the command line — embed subtitles in your browser

300 free minutes. No install. Batch-ready.

Try AdTransPro Free

What Is an SRT File?

SRT (SubRip Text) is the most common subtitle format. Each entry contains a sequence number, a timecode range, and one or more lines of text:

1
00:00:01,000 --> 00:00:04,000
Welcome to this product demo.

2
00:00:04,500 --> 00:00:08,200
Today we'll walk through the new dashboard.

SRT files are plain text, making them easy to edit, translate, and version-control. Most video players and platforms (YouTube, Vimeo, Meta Ads Manager) accept SRT uploads directly. For a deeper dive into translating these files, see our guide on how to translate video subtitles.

Method 1: FFmpeg Hard-Burn (Free)

Hard-burning renders the subtitle text directly into the video pixels. The result plays everywhere — no player support required — but the text cannot be turned off or changed after encoding.

1

Install FFmpeg (brew install ffmpeg on macOS, apt install ffmpeg on Ubuntu).

2

Place your video (input.mp4) and subtitle file (subs.srt) in the same directory.

3

Run the command below. The subtitles filter parses the SRT and draws text onto each frame.

4

Wait for encoding to finish — roughly 8 seconds per minute of video on a modern CPU.

# Hard-burn SRT subtitles into MP4
ffmpeg -i input.mp4 -vf "subtitles=subs.srt" -c:a copy output.mp4

Tip: Add styling with force_style='FontSize=24,PrimaryColour=&H00FFFFFF' inside the subtitles filter to control font size and color.

Method 2: FFmpeg Soft Subtitles

Soft subtitles mux the SRT as a separate track inside the MP4 container. The viewer can toggle them on or off in their player. Because no re-encoding happens, this finishes in seconds regardless of video length.

# Attach SRT as a soft subtitle track (no re-encoding)
ffmpeg -i input.mp4 -i subs.srt -c copy -c:s mov_text output.mp4

Note: mov_text is the subtitle codec for MP4 containers. For MKV, use -c:s srt instead.

Method 3: Online Tool — AdTransPro

If you prefer a no-install, browser-based workflow — or need to translate and embed subtitles in one step — AdTransPro handles the entire pipeline in the cloud.

1

Sign up at adtranslate.pro (free Creator plan — 300 minutes/month, no credit card).

2

Drag-drop your MP4 into the workspace. Upload the matching SRT file, or let the platform auto-transcribe.

3

Choose target languages if you need translation. AdTransPro supports 145+ languages with frame-aligned timing.

4

Preview the captioned video in the inline editor. Adjust any segment if needed.

5

Download the final MP4 with embedded subtitles — or export SRT/VTT files separately.

A content team at a cross-border e-commerce brand used this workflow to embed subtitles into 120 product videos across 6 languages in a single afternoon — no developer time required.

Speed Benchmark: FFmpeg vs. AdTransPro

~8 s/min

FFmpeg (hard-burn)

per minute of video

Modern CPU, x264 preset medium

~2 s/min

AdTransPro (cloud)

per minute of video

Parallel GPU pipeline, ~4× faster

Internal benchmark, March 2026. Test file: 10-minute 1080p MP4, English SRT (142 cues). FFmpeg hard-burn adds ~8 seconds of processing per minute of source video on a modern CPU; AdTransPro's cloud pipeline processes the same in ~2 s/min — roughly 4× faster.

Feature Comparison: FFmpeg vs. VLC vs. AdTransPro

* Feature parity as of March 2026. Verify on vendor websites before purchasing.

FeatureFFmpegVLCAdTransPro
Hard-burn subtitles
Soft subtitles
Batch processingManual loop✅ 500+ files
No install needed
145+ languages
Translate + embed

FFmpeg and VLC are powerful free tools but require local installation and manual scripting for batch jobs. AdTransPro adds cloud processing, translation, and a browser-based UI — see current pricing at adtranslate.pro.

Frequently Asked Questions

Can I add SRT subtitles to MP4 without re-encoding?

Yes. Use FFmpeg with soft subtitles: ffmpeg -i video.mp4 -i subs.srt -c copy -c:s mov_text output.mp4. This muxes the SRT track into the MP4 container without re-encoding video or audio, so the process finishes in seconds regardless of file size.

What is the difference between hard-burned and soft subtitles?

Hard-burned (open) subtitles are rendered permanently into the video pixels — every viewer sees them and they cannot be turned off. Soft (closed) subtitles are stored as a separate track inside the container; the player can toggle them on or off, and they can be extracted or replaced later.

How do I convert SRT to MP4 online for free?

Upload your MP4 and SRT to AdTransPro's free Creator plan (300 minutes/month). The platform merges the subtitle track and lets you download the captioned video — no software install required.

Does FFmpeg support all SRT encodings?

FFmpeg works best with UTF-8 encoded SRT files. If your file uses a different encoding (e.g., Latin-1, Shift-JIS), convert it first with iconv: iconv -f SHIFT_JIS -t UTF-8 subs.srt > subs-utf8.srt. This avoids garbled characters in the rendered output.

Can I batch-process multiple SRT + MP4 pairs?

Yes. With FFmpeg you can write a shell loop over matching file pairs. For larger volumes, AdTransPro supports batch uploads of 500+ files with automatic SRT-to-video matching, processing them in parallel on its cloud pipeline.

Embed subtitles without the command line

300 free media minutes. No credit card. Batch-upload 500+ files.

Related Reading