summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcitrons <citrons@mondecitronne.com>2023-09-29 23:02:44 -0500
committercitrons <citrons@mondecitronne.com>2023-09-29 23:03:11 -0500
commitcd9655f3fdae7b6ba2d5d71aa7fae8c8ab2fe945 (patch)
tree8a3c1a2c2337b8882c80a6e34afe291757017bd3
parent21b865498f0198d5f484adc912ec291dead1145b (diff)
moshcycle - repeatedly corrupt and reencode videosHEADmaster
-rwxr-xr-xmoshcycle25
1 files changed, 25 insertions, 0 deletions
diff --git a/moshcycle b/moshcycle
new file mode 100755
index 0000000..c45dcfb
--- /dev/null
+++ b/moshcycle
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+file="$1"
+out="$2"
+
+if [ -z "$file" ] || [ -z "$out" ]; then
+ echo "usage $0 <file> <out> [iterations] [intensity]" >&2
+ exit 255
+fi
+
+n="$3"
+[ -z "$3" ] && n=1
+intensity="$4"
+[ -z "$4" ] && intensity="0.0005"
+
+ffmpeg -y -i "$file" "$out"
+tmp="$(mktemp /tmp/tmp-XXXXXX-"$(basename -- "$file")")"
+for i in $(seq "$n"); do
+ garbage "$intensity" < "$out" > "$tmp"
+ ffmpeg -y -i "$tmp" -preset fast -c:v h264 -c:a aac "$out" || {
+ echo failed! >&2
+ exit 255
+ }
+done
+rm "$tmp"