CONTENTS

    How to Remove Captions from a Video — Clean Master Guide

    avatar
    CreatOK
    ·January 27, 2026
    ·5 min read

    If your video shows captions you can toggle on and off, you’re dealing with soft subtitles: separate tracks like SRT, ASS, WebVTT, or mov_text inside the container. To deliver a clean master for e‑commerce ads, the safest move is to remove or disable those subtitle streams without re‑encoding. In other words, we’ll remux the file so video/audio stay bit‑for‑bit identical while the caption tracks disappear.

    This guide focuses on the non‑destructive path (FFmpeg and NLE export settings). We’ll give you copy‑ready commands, quick checks to confirm success, and edge‑case notes for MP4 and MKV.

    Quick Fix — remove captions from a video in one minute

    Want the fastest path to a clean master? Here’s the three‑step routine.

    1. Identify streams

    ffprobe -v error -show_entries stream=index,codec_type,codec_name:stream_tags=language -of csv=p=0 input.mp4
    
    1. Remux and drop all subtitle tracks (no re‑encode)

    ffmpeg -i input.mp4 -map 0 -sn -c copy output_no_subs.mp4
    
    1. Verify there are no subtitle streams

    ffprobe -v error -select_streams s -show_entries stream=index -of csv=p=0 output_no_subs.mp4
    

    Why this works: -map 0 includes all streams, -sn disables subtitle selection, and -c copy preserves your original video/audio bitstreams. See the FFmpeg guidance on selecting streams with -map (FFmpeg wiki).

    Prerequisites and what to prepare

    • FFmpeg installed and available in your PATH. Test with:

    ffmpeg -version
    

    Step‑by‑step: FFmpeg non‑destructive removal

    Most teams will use one of these patterns depending on the source.

    • Copy video+audio only (exclude all subtitles explicitly)

    ffmpeg -i input.mkv -map 0:v -map 0:a -c copy output_no_subs.mkv
    
    • Copy all streams except subtitles (global disable)

    ffmpeg -i input.mp4 -map 0 -sn -c copy output_no_subs.mp4
    
    • Remove a specific subtitle stream by index while keeping others

    ffmpeg -i input.mkv -map 0 -map -0:s:0 -c copy output_no_s0.mkv
    

    Tips and caveats:

    • Stream indices vary per file. Always probe first with ffprobe.

    • If you have multiple audio tracks, map them explicitly (e.g., -map 0:v -map 0:a or by language tags) so you don’t accidentally drop a track.

    • For authoritative notes on -map and negative mapping, consult FFmpeg’s map wiki.

    Verification:

    ffprobe -v error -select_streams s -show_entries stream=index:stream_tags=language -of csv=p=0 output_no_subs.mkv
    mediainfo output_no_subs.mkv | grep -i Text || echo "No Text/Subtitle section found"
    

    Excluding captions at export in Adobe Premiere Pro

    If you’re exporting from Premiere, make sure captions aren’t burned in, embedded, or exported as sidecar files.

    • In the sequence, delete or disable any Caption tracks you don’t want.

    • In Export settings, set Captions to None.

    • Validate after export with ffprobe/MediaInfo.

    For the exact options, see Adobe’s Export caption tracks guide and the Premiere export settings reference.

    Excluding captions at export in DaVinci Resolve

    Resolve lets you remove or disable Subtitle tracks and control subtitle export on the Deliver page.

    • Edit page: delete the Subtitle track or disable it in the track header.

    • Deliver page: ensure Subtitles are disabled (no burn‑in, no sidecar) for the chosen render preset.

    • Validate after export with ffprobe/MediaInfo.

    Operational details are described in Blackmagic’s manuals: the Editors’ Guide to Resolve 20 and the Resolve 19 Beginner’s Guide.

    Container behavior and edge cases

    • MP4 / QuickTime family:

      • mov_text appears as tx3g; WebVTT as wvtt. If you preserve subtitles, set the correct subtitle codec (e.g., -c:s mov_text). If your goal is to remove captions from a video, omit subtitle streams entirely using the commands above.

    • Matroska (MKV):

      • MKV supports multiple subtitle tracks and flags (Default, Forced). If a player is auto‑selecting a remaining track, clear the flags or remove the track. See Matroska elements/flags.

    • Sidecar files:

      • If a player still shows captions, check for external .srt/.vtt sitting next to the video file. Remove or rename them and re‑test.

    • Multi‑audio masters:

      • When you map streams, be explicit. A common safe pattern is -map 0:v -map 0:a -c copy -sn.

    QA checklist for ad‑ready masters

    Run through this lightweight QA before upload:

    • ffprobe shows zero subtitle streams in the output.

    ffprobe -v error -select_streams s -show_entries stream=index -of csv=p=0 output.mp4
    
    • MediaInfo has no Text section.

    mediainfo output.mp4 | grep -i Text || echo "No Text/Subtitle section found"
    
    • Playback sanity test: open in VLC or your target platform player and confirm no subtitle toggle appears.

    • Confirm codecs/containers meet your ad deliverable template (e.g., MP4, H.264 video, AAC audio, captions: none). For MP4 subtitle types and codes, refer to the MP4RA codec registry.

    Batch automation (Bash/PowerShell examples)

    • Bash: remove all subtitle tracks across a folder without re‑encoding

    for f in *.mp4; do ffmpeg -i "$f" -map 0 -sn -c copy "clean_$f"; done
    
    • PowerShell (Windows):

    Get-ChildItem -Filter *.mp4 | ForEach-Object {
      $out = "clean_$($_.Name)"
      ffmpeg -i $_.FullName -map 0 -sn -c copy $out
    }
    
    • Optional logging: save probe info before/after for audit

    ffprobe -v error -show_entries stream=index,codec_type:stream_tags=language -of csv=p=0 "$f" > logs/"$f"_before.csv
    ffprobe -v error -select_streams s -show_entries stream=index -of csv=p=0 "clean_$f" > logs/"$f"_after_subs.csv
    

    Troubleshooting matrix

    Symptom

    Likely cause

    Fix

    Player still offers subtitles

    External sidecar .srt/.vtt nearby

    Remove/rename sidecar files and retry

    Audio track missing in output

    -map excluded a needed audio stream

    Probe with ffprobe and map 0:v and 0:a explicitly

    Captions appear burned in

    Source had hardcoded text (not soft subs)

    Visual methods required (crop/mask/inpaint) — out of scope here

    Player auto‑selects a remaining track

    MKV flags set to Default/Forced

    Clear flags or remove the subtitle track

    Export from NLE still includes captions

    Export settings added sidecar/burn‑in

    Set Captions to None and re‑export

    Time and difficulty estimates

    • Quick Fix (single file): often 1–30 seconds for copy‑only remux, depending on I/O.

    • Batch jobs: plan ~0.5–2× playback duration for large volumes; parallelize if disk bandwidth allows.

    • Difficulty:

      • Beginner: global disable (-sn) with -c copy.

      • Intermediate: selective -map and multi‑audio preservation.

      • Advanced: scripting robust pipelines and audit logs.

    Sources and further reading

    A clean e‑commerce master helps your ads look sharp and consistent. Run the quick probe‑remux‑verify cycle every time you prep deliverables, and you’ll avoid caption surprises on upload.