From a24b7767ba30cc8a4dcf813caeec30120c36d567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20L=C3=B8vbr=C3=B8tte=20Olsen?= Date: Mon, 30 Mar 2020 23:53:22 +0200 Subject: [PATCH] move client.sh --- client.sh | 149 ------------------------------------------- src/static/client.sh | 50 +++++++++------ 2 files changed, 29 insertions(+), 170 deletions(-) delete mode 100644 client.sh mode change 100755 => 100644 src/static/client.sh diff --git a/client.sh b/client.sh deleted file mode 100644 index 752369a..0000000 --- a/client.sh +++ /dev/null @@ -1,149 +0,0 @@ -#! /usr/bin/env nix-shell -#! nix-shell -i bash -p bash curl jq libaom ffmpeg-full - -set -euo pipefail -IFS=$'\n\t' - -base_url="$1" -version="0.2.0" - -while true; do - sleep 30 - set +e - upsteam_version=`curl -s "$base_url"/version` - retval=$? - set -e - if [ $retval -ne 0 ]; then - echo "Is the Job Server Down?" - continue - fi - if [[ $version != $upsteam_version ]]; then - echo "Wrong version: client version is $version, while job server requires $upstream_version" - break - fi - - set +e - job=`curl -s "$base_url"/request_job | jq` - retval=$? - set -e - if [[ $job = "null" ]] || [ $retval -ne 0 ]; then - echo "No Jobs Available ¯\_(ツ)_/¯" - continue - fi - - echo "Got new job!" - echo "$job" | jq - - job_id=`echo "$job" | jq -r .id` - - echo "Reserving Job" - set +e - curl -s "$base_url"/edit_status/"$job_id"/reserved - retval=$? - set -e - if [ $retval -ne 0 ]; then - echo "Is the Job Server Down?" - continue - fi - echo "Reserved!" - - source=`echo $job | jq -r .description.file_url` - sourceext=${source##*.} - echo "Downloading source file: $source" - - source=`echo $job | jq -r .description.file_url` - - name=`echo $job | jq -r .description.file_name` - input="$name.$job_id.$sourceext" - - set +e - curl "$source" -o "$input" - retval=$? - set -e - if [ $retval -ne 0 ]; then - echo "Could not Download file!" - curl -s -L "$base_url"/edit_status/"$job_id"/error || true - continue - fi - - echo "" - - echo "Starting Encode" - - height=`echo $job | jq -r .description.resolution[0]` - width=`echo $job | jq -r .description.resolution[1]` - - echo $job | jq - - aomenco=`echo $job | jq -r .description.options.aomenc` - aomenco=${aomenco//[^a-zA-Z0-9_\- =]/} - ffmpego=`echo $job | jq -r .description.options.ffmpeg` - ffmpego=${ffmpego//[^a-zA-Z0-9_\- =:]/} - - two_pass=`echo $job | jq -r .description.options.two_pass` - - if [[ $two_pass = true ]]; then - set +e - eval 'ffmpeg -nostats -hide_banner -loglevel warning \ - -i "'$input'" '$ffmpego' -vf scale='$height':'$width' -pix_fmt yuv422p -f yuv4mpegpipe - | aomenc - --i422 '$aomenco' \ - --pass=1 --passes=2 --fpf="'$input'.fpf" --webm -o "'$input'.out.webm"' - - retval=$? - if [ $retval -ne 0 ]; then - echo "Error running encode pass 1" - curl -s -L "$base_url"/edit_status/"$job_id"/error || true - echo "" - continue - fi - - eval 'ffmpeg -nostats -hide_banner -loglevel warning \ - -i "'$input'" '$ffmpego' -vf scale='$height':'$width' -pix_fmt yuv422p -f yuv4mpegpipe - | aomenc - --i422 '$aomenco' \ - --pass=2 --passes=2 --fpf="'$input'.fpf" --webm -o "'$input'.out.webm"' - - retval=$? - if [ $retval -ne 0 ]; then - echo "Error running encode pass 2" - curl -s -L "$base_url"/edit_status/"$job_id"/error || true - echo "" - continue - fi - set -e - - else - set +e - eval 'ffmpeg -nostats -hide_banner -loglevel warning \ - -i "'$input'" '$ffmpego' -vf scale='$height':'$width' -pix_fmt yuv422p -f yuv4mpegpipe - | aomenc - --i422 '$aomenco' \ - --passes=1 --fpf="'$input'.fpf" --webm -o "'$input'.out.webm"' - - retval=$? - if [ $retval -ne 0 ]; then - echo "Error running encode" - curl -s -L "$base_url"/edit_status/"$job_id"/error || true - echo "" - continue - fi - set -e - fi - - set +e - curl -s -L "$base_url"/edit_status/"$job_id"/completed - set -e - - - echo "Uploading file!" - - set +e - curl --data-binary @"$input".out.webm "$base_url"/upload/"$job_id" - set -e - retval=$? - echo "" - if [ $retval -ne 0 ]; then - echo "Couldn't upload file!" - continue - else - echo "Upload finished, deleting result!" - rm "$input".out.webm - fi - - -done \ No newline at end of file diff --git a/src/static/client.sh b/src/static/client.sh old mode 100755 new mode 100644 index 52ae589..752369a --- a/src/static/client.sh +++ b/src/static/client.sh @@ -5,19 +5,19 @@ set -euo pipefail IFS=$'\n\t' base_url="$1" -version="0.3.0" +version="0.2.0" while true; do sleep 30 set +e - upstream_version=`curl -s "$base_url"/version` + upsteam_version=`curl -s "$base_url"/version` retval=$? set -e if [ $retval -ne 0 ]; then echo "Is the Job Server Down?" continue fi - if [[ $version != $upstream_version ]]; then + if [[ $version != $upsteam_version ]]; then echo "Wrong version: client version is $version, while job server requires $upstream_version" break fi @@ -32,9 +32,9 @@ while true; do fi echo "Got new job!" - printf "%s\n" "$job" | jq + echo "$job" | jq - job_id=`printf "%s\n" "$job" | jq -r .id` + job_id=`echo "$job" | jq -r .id` echo "Reserving Job" set +e @@ -45,16 +45,15 @@ while true; do echo "Is the Job Server Down?" continue fi - echo "" echo "Reserved!" - source=`printf "%s\n" "$job" | jq -r .description.file_url` + source=`echo $job | jq -r .description.file_url` sourceext=${source##*.} echo "Downloading source file: $source" - source=`printf "%s\n" "$job" | jq -r .description.file_url` + source=`echo $job | jq -r .description.file_url` - name=`printf "%s\n" "$job" | jq -r .description.file_name` + name=`echo $job | jq -r .description.file_name` input="$name.$job_id.$sourceext" set +e @@ -64,7 +63,6 @@ while true; do if [ $retval -ne 0 ]; then echo "Could not Download file!" curl -s -L "$base_url"/edit_status/"$job_id"/error || true - echo "" continue fi @@ -72,17 +70,17 @@ while true; do echo "Starting Encode" - height=`printf "%s\n" $job | jq -r .description.resolution[0]` - width=`printf "%s\n" $job | jq -r .description.resolution[1]` + height=`echo $job | jq -r .description.resolution[0]` + width=`echo $job | jq -r .description.resolution[1]` - printf "%s\n" "$job" | jq + echo $job | jq - aomenco=`printf "%s\n" "$job" | jq -r .description.options.aomenc` + aomenco=`echo $job | jq -r .description.options.aomenc` aomenco=${aomenco//[^a-zA-Z0-9_\- =]/} - ffmpego=`printf "%s\n" "$job" | jq -r .description.options.ffmpeg` + ffmpego=`echo $job | jq -r .description.options.ffmpeg` ffmpego=${ffmpego//[^a-zA-Z0-9_\- =:]/} - two_pass=`printf "%s\n" "$job" | jq -r .description.options.two_pass` + two_pass=`echo $job | jq -r .description.options.two_pass` if [[ $two_pass = true ]]; then set +e @@ -127,15 +125,25 @@ while true; do set -e fi - echo "Marking as complete" - set +e curl -s -L "$base_url"/edit_status/"$job_id"/completed set -e - echo "" + + echo "Uploading file!" + + set +e + curl --data-binary @"$input".out.webm "$base_url"/upload/"$job_id" + set -e + retval=$? + echo "" + if [ $retval -ne 0 ]; then + echo "Couldn't upload file!" + continue + else + echo "Upload finished, deleting result!" + rm "$input".out.webm + fi - echo "Deleting Temporary files" - rm "$input" "$input".fpf done \ No newline at end of file