summaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
Diffstat (limited to 'roles')
-rwxr-xr-xroles/prerec/templates/reencode.sh21
1 files changed, 4 insertions, 17 deletions
diff --git a/roles/prerec/templates/reencode.sh b/roles/prerec/templates/reencode.sh
index c9c87e1..63be1d0 100755
--- a/roles/prerec/templates/reencode.sh
+++ b/roles/prerec/templates/reencode.sh
@@ -8,12 +8,7 @@ cpu=4
time_limit=""
print_only=false
limit_resolution=1080
-limit_fps=29.99
-
-with_suffix() {
- suffix="$1"
- echo "$input" | sed "s/--original\.\([a-z0-9]*\$\)/--$suffix\.\\1/"
-}
+limit_fps=30
while getopts :q:c:t:s OPT; do
case $OPT in
@@ -38,26 +33,18 @@ shift `expr $OPTIND - 1`
OPTIND=1
input="$1"
-input_limited="$(with_suffix "original-limited")"
output="$2"
command="$(cat<<EOF
-# Preliminary pass to limit resolution and fps
ffmpeg -y -i "$input" $time_limit \
-vf "scale='-1':'min($limit_resolution,ih)',
- select='eq(n,0)+if(gt(t-prev_selected_t,1/$limit_fps),1,0)'" \
- -c:v rawvideo -c:a pcm_s16le -f nut - | ffmpeg -y -f nut -i - -vf "fps=$limit_fps" "$input_limited"
-
-# Reencode
-ffmpeg -y -i "$input_limited" $time_limit \
- -vf "scale='-1':'min($limit_resolution,ih)',
- select='eq(n,0)+if(gt(t-prev_selected_t,1/$limit_fps),1,0)'" \
+ fps='$limit_fps'" \
-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 "$input_limited" $time_limit \
+ ffmpeg -y -i "$input" $time_limit \
-vf "scale='-1':'min($limit_resolution,ih)',
- select='eq(n,0)+if(gt(t-prev_selected_t,1/$limit_fps),1,0)'" \
+ fps='$limit_fps'" \
-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 -threads $cpu -- "$output"