Here's a cross-platform cleanup script (anti-anti-piracy) to sanitize .mp4 and .mkv video files by:
- Removing all metadata (
title,album,creation_time, etc.) - Stripping attachments (fonts, XML, logos)
- Avoiding re-encoding (safe & fast)
- Renaming output with
.cleanedsuffix
✅ Prerequisites
You'll need:
ffmpegmkvpropedit(for.mkvonly --- optional)
🖥️ For Windows: install via Chocolatey:
bash
choco install ffmpeg mkvtoolnix
🐧 For Linux (Debian/Ubuntu):
bash
sudo apt install ffmpeg mkvtoolnix mkvtoolnix-gui
🧰 Shell Script: clean_media.sh
bash
#!/bin/bash
# Clean .mp4 and .mkv files in current directory
shopt -s nullglob
for file in *.mp4 *.mkv; do
ext="${file##*.}"
base="${file%.*}"
out="${base}.cleaned.${ext}"
echo "Cleaning: $file → $out"
if [[ "$ext" == "mp4" ]]; then
ffmpeg -hide_banner -loglevel error \
-i "$file" \
-map 0 -c copy \
-map_metadata -1 \
-metadata creation_time= \
"$out"
elif [[ "$ext" == "mkv" ]]; then
ffmpeg -hide_banner -loglevel error \
-i "$file" \
-map 0 -map -0:t \
-c copy \
-map_metadata -1 \
-metadata creation_time= \
"$out"
# Optional: clean tags and attachments more deeply
if command -v mkvpropedit >/dev/null 2>&1; then
mkvpropedit "$out" \
--tags all: \
--edit info --delete title \
--delete-attachments all
fi
fi
done
🧪 Example Before vs After
Before
- Metadata:
©nam,©alb,title,creation_time, etc. - Attachments:
font.ttf,logo.jpg, tracking XML - Tags:
<plist>, site names (getwsodo.com, etc.)
After
- All metadata removed
- Attachments deleted
- No visible tags in
ffprobeormkvinfo
🛡️ Final Tip: Always Test on Copies First!
- Some media players (e.g., Plex) rely on metadata like
titleor chapter info. - Cleaned videos will play fine but may lose cosmetic info.