summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeo Vivier <zaeph@zaeph.net>2022-11-05 08:32:16 +0100
committerLeo Vivier <zaeph@zaeph.net>2022-11-05 08:32:16 +0100
commita0e8a535be2b870eafa8feecde003d98c638bcb2 (patch)
treee8160fe1031acf196b8031c9ddb4341c629759bc
parentffe7c227fa5a617e23f74cab5f41758e00a6be5c (diff)
downloademacsconf-ansible-a0e8a535be2b870eafa8feecde003d98c638bcb2.tar.xz
emacsconf-ansible-a0e8a535be2b870eafa8feecde003d98c638bcb2.zip
Use latest version of zaeph’s reencode.sh
- cpu set to 4 for parallelization (> 4 doesn’t work) - add getopts option for development
-rwxr-xr-x[-rw-r--r--]roles/prerec/templates/reencode.sh48
1 files changed, 43 insertions, 5 deletions
diff --git a/roles/prerec/templates/reencode.sh b/roles/prerec/templates/reencode.sh
index d0c98c3..e3a82eb 100644..100755
--- a/roles/prerec/templates/reencode.sh
+++ b/roles/prerec/templates/reencode.sh
@@ -1,5 +1,43 @@
-Q=32
-CPU=8
-TIME_LIMIT=''
-ffmpeg -y -i "$1" $TIME_LIMIT -c:v libvpx-vp9 -b:v 0 -crf $Q -an -row-mt 1 -tile-columns 2 -tile-rows 2 -cpu-used $CPU -g 240 -pass 1 -f webm -threads $CPU /dev/null &&
- ffmpeg -y -i "$1" $TIME_LIMIT -c:v libvpx-vp9 -b:v 0 -crf $Q -c:a libopus -row-mt 1 -tile-columns 2 -tile-rows 2 -cpu-used $CPU -pass 2 -g 240 -threads $CPU "$2"
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+# Defaults
+q=32
+cpu=4
+time_limit=""
+print_only=false
+
+while getopts :q:c:t:s OPT; do
+ case $OPT in
+ q|+q)
+ q="$OPTARG"
+ ;;
+ c|+c)
+ cpu="$OPTARG"
+ ;;
+ t|+t)
+ time_limit="-to $OPTARG"
+ ;;
+ s)
+ print_only=true
+ ;;
+ *)
+ echo "usage: `basename $0` [+-q ARG] [+-c ARG} [--] ARGS..."
+ exit 2
+ esac
+done
+shift `expr $OPTIND - 1`
+OPTIND=1
+
+command="$(cat<<EOF
+ffmpeg -y -i "$1" $time_limit -c:v libvpx-vp9 -b:v 0 -crf $q -an -row-mt 1 -tile-columns 2 -tile-rows 2 -cpu-used $cpu -g 240 -pass 1 -f webm -threads $cpu /dev/null &&
+ ffmpeg -y -i "$1" $time_limit -c:v libvpx-vp9 -b:v 0 -crf $q -c:a libopus -row-mt 1 -tile-columns 2 -tile-rows 2 -cpu-used $cpu -pass 2 -g 240 -threads $cpu "$2"
+EOF
+)"
+
+if [ $print_only == true ]; then
+ echo "$command"
+else
+ eval "$command"
+fi