#!/bin/sh sleep $(dc -e "$RANDOM 1000 / p") lockfile="/tmp/auto-encode-x264" if [ -f "$lockfile" ]; then exit 0 fi touch "$lockfile" notify() { python "$script_dir/notify.py" '171327453212573696' "$1" } script=$1 script_dir=$(pwd) base_dir=$(dirname $script) done_dir="/home/sftp/kaleido/auto-encode/done" cd "$base_dir" if [ ! -f 'settings' ]; then notify "Could not start encode, expected file ‘settings’ in `pwd`." rm "$lockfile" exit 0 fi settings=$(cat 'settings') notify "Starting encode $script." output_file=$(basename $script .vpy).264 output=$( { nice -n 17 vspipe $(basename $script) -y - | x264 --demuxer y4m - $settings --output-depth 10 --threads 1 -o $output_file; } 2>&1 ) ok=$? output_filtered=$( echo $output | sed -E 's/(x264)?\s?\[/\n\[/g' | grep -v ' ' ) if [ $ok -ne 0 ]; then notify "Encode $script failed" notify "$output_filtered" rm "$lockfile" exit 0 else mv "$output_file" "$done_dir" mv "$script" "$done_dir" notify "$script successfully encoded." notify "$output_filtered" fi rm -f "$lockfile" rm -f /tmp/auto-encode