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
.cleaned
suffix
✅ Prerequisites
You'll need:
ffmpeg
mkvpropedit
(for.mkv
only --- 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
ffprobe
ormkvinfo
🛡️ Final Tip: Always Test on Copies First!
- Some media players (e.g., Plex) rely on metadata like
title
or chapter info. - Cleaned videos will play fine but may lose cosmetic info.