aboutsummaryrefslogtreecommitdiff
path: root/.local/bin/chkmd5m
diff options
context:
space:
mode:
authorawy <awy@awy.one>2025-11-14 23:43:38 +0300
committerawy <awy@awy.one>2025-11-14 23:43:38 +0300
commitc7a88a07b9287db9c129914483f6b3ae1ab5404c (patch)
tree73c227c5e8519eb9135f46984e4fc067b316ed1b /.local/bin/chkmd5m
downloadmangoslice-c7a88a07b9287db9c129914483f6b3ae1ab5404c.tar.gz
init
Diffstat (limited to '.local/bin/chkmd5m')
-rwxr-xr-x.local/bin/chkmd5m31
1 files changed, 31 insertions, 0 deletions
diff --git a/.local/bin/chkmd5m b/.local/bin/chkmd5m
new file mode 100755
index 0000000..df0fa6b
--- /dev/null
+++ b/.local/bin/chkmd5m
@@ -0,0 +1,31 @@
+#!/bin/sh
+# Compare MD5 hashes of audio streams from multiple files using ffmpeg
+
+if [ "$#" -lt 2 ]; then
+ echo "Usage: $0 <file1> <file2> [file3 ...]"
+ exit 1
+fi
+
+get_md5() {
+ ffmpeg -v error -i "$1" -map 0:a:0 -f md5 - 2>/dev/null | cut -d= -f2
+}
+
+echo "Comparing audio hashes:"
+echo
+
+first_file=$1
+first_hash=$(get_md5 "$first_file")
+
+echo "$first_file : $first_hash"
+shift
+
+for file in "$@"; do
+ hash=$(get_md5 "$file")
+ echo "$file : $hash"
+ if [ "$hash" = "$first_hash" ]; then
+ echo "✅ Matches $first_file"
+ else
+ echo "❌ Differs from $first_file"
+ fi
+ echo
+done