opus-single.sh (700B)
1 #!/usr/bin/env bash 2 3 BITRATE_KBPS="100" 4 5 oldIFS="$IFS" 6 IFS=$'\n' 7 files=( $(find m4asingle/ -type f | grep -v 'output.jpg$' | sort) ) 8 IFS="$oldIFS" 9 10 [ -d opus/ ] && rm -rf opus 11 mkdir opus 12 13 i=0 14 for file in "${files[@]}"; do 15 echo File: "$file" 16 outputFile="$(echo "$file" | sed 's/^m4asingle/opus/g' | sed 's/m4a$/opus/g')" 17 filename="$(basename "$file" | sed 's/.m4a//g')" 18 outputDir="$(dirname "$outputFile")" 19 mkdir -p "$outputDir" 20 21 success=no 22 ffmpeg -y -i "$file" -map 0:1 "${outputDir}/${filename}.jpg" && success=yes 23 ffmpeg -i "$file" -b:a "${BITRATE_KBPS}000" "$outputFile" 24 [[ "$success" == "yes" ]] && opustags --set-cover "${outputDir}/${filename}.jpg" "$outputFile" -i 25 i=$((i+1)) 26 done