From 2f7c45afaa69d004a363d530bade1e40ea032696 Mon Sep 17 00:00:00 2001 From: auricom <27022259+auricom@users.noreply.github.com> Date: Wed, 20 Jul 2022 07:26:37 +0200 Subject: [PATCH] feat: optim transcode_music --- .../apps/media/music_transcode/cronjob.yaml | 9 ++++++--- scripts/transcode_music/transcode.bash | 20 ++++++++++++------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/cluster/apps/media/music_transcode/cronjob.yaml b/cluster/apps/media/music_transcode/cronjob.yaml index 2f4d2b720..ce7fdd008 100644 --- a/cluster/apps/media/music_transcode/cronjob.yaml +++ b/cluster/apps/media/music_transcode/cronjob.yaml @@ -36,15 +36,18 @@ spec: - | #!/bin/bash + HEALTHCHECKS=true + curl --location raw.githubusercontent.com/auricom/home-ops/main/scripts/transcode_music/transcode.bash --output /tmp/transcode.bash chmod a+x /tmp/transcode.bash curl --location raw.githubusercontent.com/auricom/home-ops/main/scripts/transcode_music/transcode_exclude.cfg --output /tmp/transcode_exclude.cfg cd /tmp ./transcode.bash -c + test $? -ne 0 && HEALTHCHECKS=false ./transcode.bash -r - if [ $? -eq 0 ]; then - curl -m 10 --retry 5 http://healthchecks.monitoring.svc.cluster.local.:8000/ping/b99854a4-d298-4acb-a02c-a56860132de3 - fi + test $? -ne 0 && HEALTHCHECK=false + + test FLAG && curl -m 10 --retry 5 http://healthchecks.monitoring.svc.cluster.local.:8000/ping/b99854a4-d298-4acb-a02c-a56860132de3 volumeMounts: - name: music-transcoded mountPath: /mnt/music_transcoded diff --git a/scripts/transcode_music/transcode.bash b/scripts/transcode_music/transcode.bash index 4967acc76..1980531ab 100755 --- a/scripts/transcode_music/transcode.bash +++ b/scripts/transcode_music/transcode.bash @@ -98,7 +98,7 @@ transcode() output_file=$2 md5_file=$3 - echo "INFO: Processing file $1..." + echo "##: Processing file $1..." if [ $MODE_DRY_RUN == false ]; then output=$($TRANSCODE_FREAC_BIN --encoder=opus --bitrate 64 "$input_file" -o "$output_file") result=$(echo "$output" | grep -c "Could not process") @@ -172,18 +172,20 @@ convert_covers() mapfile -t StringArray <<< "$FILES" for val in "${StringArray[@]}"; do if [ ! -z "$val" ]; then + FLAG=false FILENAME="$TRANSCODE_OUTPUT_DIR$(dirname "$val")/$(basename "$val" .$ext).jpg" MD5_FILENAME="$TRANSCODE_DB/$(dirname "$val")/$(basename "$val").md5" # Check if a MD5 checksum already exists RESULT=$($TRANSCODE_FD_BIN . "$(dirname "$MD5_FILENAME")" | grep -F "$(basename "$MD5_FILENAME")") if [ $? -ne 0 ] ; then - write_jpg "$val" "$FILENAME" "$MD5_FILENAME" + FLAG=true # Check if an existing MD5 checksum is different elif [ $MODE_CHECKSUM == true ]; then if [ "$(cat "$MD5_FILENAME")" != "$(md5sum "$val" | awk '{ print $1 }')" ]; then - write_jpg "$val" "$FILENAME" "$MD5_FILENAME" + FLAG=true fi fi + if $FLAG; then write_jpg "$val" "$FILENAME" "$MD5_FILENAME"; fi fi done done @@ -201,19 +203,21 @@ convert_music() mapfile -t StringArray <<< "$FILES" for val in "${StringArray[@]}"; do if [ ! -z "$val" ]; then + FLAG=false FILEBASENAME="$TRANSCODE_OUTPUT_DIR$(dirname "$val")/$(basename "$val" .$ext)" FILENAME="$FILEBASENAME.opus" MD5_FILENAME="$TRANSCODE_DB/$(dirname "$val")/$(basename "$val" .$ext).md5" # Check if a MD5 checksum already exists RESULT=$($TRANSCODE_FD_BIN . "$(dirname "$MD5_FILENAME")" | grep -F "$(basename "$MD5_FILENAME")") if [ $? -ne 0 ] ; then - transcode "$val" "$FILENAME" "$MD5_FILENAME" + FLAG=true # Check if an existing MD5 checksum is different elif [ $MODE_CHECKSUM == true ]; then if [ "$(cat "$MD5_FILENAME")" != "$(md5sum "$val" | awk '{ print $1 }')" ]; then - transcode "$val" "$FILENAME" "$MD5_FILENAME" + FLAG=true fi fi + if $FLAG; then transcode "$val" "$FILENAME" "$MD5_FILENAME"; fi fi done done @@ -228,20 +232,22 @@ fix_cuefiles() mapfile -t StringArray <<< "$FILES" for val in "${StringArray[@]}"; do if [ ! -z "$val" ]; then + FLAG=false MD5_FILENAME="$TRANSCODE_DB/$val.md5" REPLACEMENT_TEXT_STRING="FILE \"$(basename "$val" .cue).opus\" MP3" # Check if a MD5 checksum already exists RESULT=$($TRANSCODE_FD_BIN . "$(dirname "$MD5_FILENAME")" | grep -F "$(basename "$MD5_FILENAME")") if [ $? -ne 0 ] ; then cp -pr "$val" "$TRANSCODE_OUTPUT_DIR/$val" - write_cue "$val" "$TRANSCODE_OUTPUT_DIR/$val" "$REPLACEMENT_TEXT_STRING" "$MD5_FILENAME" + FLAG=true # Check if an existing MD5 checksum is different elif [ $MODE_CHECKSUM == true ]; then if [ "$(cat "$MD5_FILENAME")" != "$(md5sum "$val" | awk '{ print $1 }')" ]; then cp -pr "$val" "$TRANSCODE_OUTPUT_DIR/$val" - write_cue "$val" "$TRANSCODE_OUTPUT_DIR/$val" "$REPLACEMENT_TEXT_STRING" "$MD5_FILENAME" + FLAG=true fi fi + if $FLAG; then write_cue "$val" "$TRANSCODE_OUTPUT_DIR/$val" "$REPLACEMENT_TEXT_STRING" "$MD5_FILENAME"; fi fi done }