add delete_video_track_titles

This commit is contained in:
Lukáš Kucharczyk 2022-07-09 21:18:04 +02:00
parent bbc1db4ff4
commit 82dafd7e90
No known key found for this signature in database
1 changed files with 19 additions and 0 deletions

19
delete_video_track_titles.sh Executable file
View File

@ -0,0 +1,19 @@
#!/usr/bin/env bash
SCRIPT_NAME=$(basename "$0")
test -z "${1}" && echo "File not specified or doesn't exist, aborting. Usage: $SCRIPT_NAME \$FILENAME" && exit 1
FILE=$1
# TODO: use -J and jq '.tracks[] | [.properties.number, .type, .codec, .properties.track_name]'
TRACKS=$(mkvmerge --identify "$FILE" | awk -F"[: ]" '$0 ~ /Track ID/{print $3}')
# capture JSON output and remove the excessively large code_private_data field
JSON_OUTPUT=$(mkvmerge -J "$FILE" | jq '.tracks[] | del(.properties.codec_private_data)')
for TRACK in $TRACKS; do
TRACK_NAME=$(echo "$JSON_OUTPUT" | jq "select(.id == $TRACK).properties.track_name")
echo -n "Track no. ${TRACK} currently set to $TRACK_NAME... "
shopt -s nocasematch
[[ $TRACK_NAME =~ full|titles|comment|director ]] && echo "includes whitelisted word, not deleting." && continue
echo "deleting."
# mkvmerge --identify indexes tracks from 0, while mkvpropedit indexes from 1
mkvpropedit "$FILE" --edit track:"$((TRACK+1))" --delete name
done
echo "Deleting file title..."
mkvpropedit "$FILE" --edit info --delete title