Subtitle Edit

the subtitle editor :)


Burn-In Subtitles

Hardcode (burn-in) subtitles permanently into a video file using FFmpeg.

Burn-In Subtitles

How to Use

  1. Open Video → Generate video with burned-in subtitles…
  2. Select or confirm the video file
  3. Configure font settings (name, size, colors, outline, shadow)
  4. Configure video encoding settings (encoder, preset, CRF, pixel format)
  5. Configure audio settings (encoder, sample rate, bit rate, stereo)
  6. Select an output folder
  7. Click Generate to start encoding (or use the Generate split-button item Prompt for ffmpeg parameters and generate to edit the FFmpeg command line first)

Burn in selected lines only

To burn in just part of the subtitle, select the lines in the subtitle grid, right-click and choose Selected lines → Generate video with burned-in subtitles…. The window opens with only the selected lines, and Cut is set from the first selected line’s start to the last one’s end, so a short clip needs no manual cut times. If no video is open you are asked to open one first.

Font Settings

Image-based subtitles

A Blu-ray sup can be burned in as it is. Open it in Edit image-based subtitle and choose Video → Generate video with burned-in subtitles…, or add a .sup file as the subtitle of a batch item (a .sup next to the video is picked up automatically, after .srt and .ass). The bitmaps are laid over the video with FFmpeg’s overlay filter and scaled with it, so the result matches the exported file - lines that overlap in time are shown together, the way a Blu-ray shows them. The font settings do not apply to bitmaps and are hidden; the logo, resolution, cut and encoding settings work as for text.

Video Settings

The output container follows the codec, because ffmpeg refuses some combinations outright: H.264 and H.265 can be written to .mkv, .mp4, .mov or .ts, VP9 to .mkv, .webm or .mp4, and ProRes to .mov or .mkv.

3D video

A half side-by-side or half top/bottom 3D video holds a squeezed view for each eye, so a normal burn-in would put the subtitle across both views, cut in half. Set 3D to Half side-by-side or Half top/bottom to burn the subtitle into each eye’s view instead. It is rendered for the full frame and squeezed the same way as the video, so the player stretches it back to normal. Depth moves the two copies apart: positive values bring the subtitle out of the screen, negative values push it back. A copy never crosses into the other eye’s view. This works for text and for Blu-ray sup subtitles, and matches the 3D option when exporting image-based subtitles. The preview shows the flat subtitle.

Hardware Acceleration

Besides the CPU encoders (libx264, libx265, libvpx-vp9, prores_ks), the encoding list offers the GPU encoders available on your platform. GPU encoding is much faster than CPU encoding, at somewhat lower quality per bit — for the same visual quality a GPU encoder produces a larger file.

Only encoders that can actually run on the current operating system are listed, so the choices differ between Windows/Linux and macOS. On top of that, the window asks ffmpeg what it was built with when it opens and drops the encoders that are not there — several ffmpeg builds ship without x265, and Subtitle Edit’s own Flatpak has neither x265 nor the GPU encoders. If the probe fails, the full list is kept.

Windows and Linux

Encoder Hardware Quality setting
h264_nvenc / hevc_nvenc NVIDIA GPU CQ 0–51 (lower is better)
h264_amf / hevc_amf AMD GPU Quality 0–10 (lower is better)
h264_qsv / hevc_qsv Intel Quick Sync CRF (lower is better)

NVENC takes its own preset list (slow, medium, fast and p1–p7) instead of the x264 presets. The old aliases (hq, ll, lossless, …) were removed in FFmpeg 9.0 and are no longer offered — a saved one is moved to its p1–p7 equivalent. AMF has no preset. Quality is left blank by default, which lets FFmpeg pick a bitrate.

NVENC also has a Tune list, which is what those old aliases really set on top of a preset. The row is shown for the NVIDIA encoders only:

Tune Meaning
(blank) FFmpeg’s default — high quality
hq High quality (the default, stated explicitly)
ll / ull Low latency / ultra low latency — for streaming, not for burn-in
lossless Lossless encoding

lossless pins the encoder to constant QP 0, so the CQ value is left out of the command line when it is picked — FFmpeg would ignore it anyway. Not every GPU can encode losslessly; where it cannot, FFmpeg stops with “Lossless encoding not supported”.

All HEVC output is tagged hvc1 so it plays in QuickTime and other Apple players, which reject the hev1 tag FFmpeg writes by default.

macOS (Apple VideoToolbox)

Encoder Hardware Quality setting
h264_videotoolbox Apple silicon / Intel Mac media engine Quality 1–100 (higher is better)
hevc_videotoolbox Apple silicon / Intel Mac media engine Quality 1–100 (higher is better)
prores_videotoolbox Apple silicon media engine Profile only

Notes:

Hardware encoders depend on the FFmpeg build in use. If an encoder fails immediately, run ffmpeg -encoders and check that it is listed; on macOS the Homebrew and official FFmpeg builds all include VideoToolbox.

Audio Settings

Cut and Target File Size

Batch Mode

Click Batch mode to queue several video/subtitle pairs (Single mode switches back). The list shows file name, size, subtitle file and status, with Add…, Remove, Clear and Pick subtitle file… buttons. Output properties… sets the output folder and naming; the chosen folder (or Use source folder) is shown next to it.

Keyboard Shortcuts

Key Action
Escape Close / Cancel
F1 Show help (default key, changeable)