diff --git a/gaboshlib/g_compress_audio.bashfunc b/gaboshlib/g_compress_audio.bashfunc index 9d8dc79..09d2671 100644 --- a/gaboshlib/g_compress_audio.bashfunc +++ b/gaboshlib/g_compress_audio.bashfunc @@ -2,10 +2,12 @@ function g_compress_audio { # Datei OK und noch da? - local g_aud=$@ + local g_aud=$1 + local g_remotedockerffmpeg=$2 + g_test_mediafile "$g_aud" || return 1 # File already converted - if egrep -q "HE-AAC.+32 kb" "$g_tmp"/audinfo + if egrep -q "HE-AAC.+64 kb" "$g_tmp"/audinfo then g_echo "Audio $g_aud bereits bearbeitet - Bearbeite nur Metadata/Tags" g_audiosettings="-c:a copy" @@ -117,9 +119,15 @@ EOF # else g_metadata=$(cat "$g_tmp"/audinfo | perl -pe "do \"${g_tmp}/perlsubstitutions\";") # fi - # Convert! - echo "ffmpeg -loglevel warning -threads 1 -i \"$g_aud\" -map_metadata -1 $g_audiosettings $g_metadata -map a:0 -y \"$g_tmp/m4a.m4a\" < /dev/null 2>&1" >"$g_tmp"/cmd - sh "$g_tmp"/cmd + echo "ffmpeg -loglevel warning -stats -i \"${g_aud}\" -c:a copy -movflags +faststart -f mp4 -y \"${g_tmp}/streamable\" < /dev/null 2>&1" >"$g_tmp"/cmd + sshstream="ssh -p33 ${g_remotedockerffmpeg}" + [ -z ${g_remotedockerffmpeg} ] && sshstream="sh -c" + g_echo "Baue M4A ($g_aud) ${g_remotedockerffmpeg}" + echo "cat \"${g_tmp}/streamable\"| $sshstream 'cat | docker run -i --rm linuxserver/ffmpeg -loglevel warning -stats -i pipe: -map_metadata -1 $g_audiosettings -map a:0 -movflags faststart+empty_moov -f mp4 pipe:' >\"${g_tmp}/stream\"" >>"$g_tmp"/cmd + #echo "cat \"${g_aud}\"| $sshstream 'cat | docker run -i --rm linuxserver/ffmpeg -loglevel warning -stats -i pipe: -map_metadata -1 $g_audiosettings $g_metadata -map a:0 -movflags faststart+empty_moov -f mp4 pipe:' >\"${g_tmp}/m4a.m4a\"" >"$g_tmp"/cmd + echo "ffmpeg -loglevel warning -stats -i \"${g_tmp}/stream\" -c:v copy -c:a copy $g_metadata -movflags +faststart -f mp4 \"$g_tmp/m4a.m4a\" < /dev/null 2>&1" >>"$g_tmp"/cmd + #cat "$g_tmp"/cmd + sh -ex "$g_tmp"/cmd if ffmpeg -i "$g_tmp/m4a.m4a" 2>&1 | egrep -q "Invalid data found when processing input|No such file or directory|Invalid argument|moov atom not found" then g_echo "Bearbeitung von $g_aud fehlgeschlagen"