Main /
M4aToMp3
wait for m4a files to appear (or already there), convert to mp3 in a subdirectory and move the m4a to a holding directory
#!/bin/sh # assuming you are in the airplay recorder directory, # create an mp3 directory and mp4 directory # watch for new m4a files # as each appears, and convert to mp3 in the mp3 directory # move the m4a to a holding directory # remove extension from file name in variable # noext=${file%.m4a} while true; do for FILE in *.m4a; do [ -f "$FILE" ] || break mkdir mp3 2>nul mkdir m4a 2>nul mkdir log 2>nul sleep 1 BASE=${FILE%'.m4a'} DEST=$( printf "./mp3/%s.mp3" "$BASE") echo $DEST ffmpeg -y -i "$FILE" -codec:a libmp3lame -q:a 0 "$DEST">./log/ffmpeg.log 2>&1 mv "$FILE" ./m4a done echo "waiting..." sleep 45 done
wait for m4a files to appear (or already there), convert to mp3 in a subdirectory and move the m4a to a holding directory. number the mp3 files as they come in
#!/bin/sh # assuming you are in the airplay recorder directory, # create an mp3 directory and mp4 directory # watch for new m4a files # as each appears, and convert to mp3 in the mp3 directory # move the m4a to a holding directory # remove extension from file name in variable # noext=${file%.m4a} while true; do echo $NUM for FILE in *.m4a; do [ -f "$FILE" ] || break mkdir mp3 2>nul mkdir m4a 2>nul mkdir log 2>nul sleep 1 NUM=`find ./mp3/ -maxdepth 1 -print | grep -i "mp3$" |wc -l` let "NUM++" BASE=${FILE%'.m4a'} DEST=$( printf "./mp3/%04d %s.mp3" "$NUM" "$BASE") echo $DEST ffmpeg -y -i "$FILE" -codec:a libmp3lame -q:a 0 "$DEST">./log/ffmpeg.log 2>&1 mv "$FILE" ./m4a done echo "waiting..." sleep 45 done
Various strategies for converting folder hierarchies from m4a to mp3
# convert all files to mp3 in the folder hierarchy # find . -name '*.m4a' -type f -exec bash -c 'ffmpeg -vn -y -i "$0" -codec:a libmp3lame -q:a 0 "${0%.m4a}.mp3"' {} \; # find . -name '*.m4a' -type f -exec bash -c 'ffmpeg -vn -n -i "$0" -codec:a libmp3lame -q:a 0 "${0%.m4a}.mp3" 2>&1' {} \; # alias convert-aac="cd ~/Downloads && aac-to-mp3" # # # Convert all .aac files into .mp3 files in the current folder, don't convert if a mp3 file already exists # aac-to-mp3(){ # find . -type f -iname "*.aac" -exec \ # bash -c 'file="$1"; ffmpeg -n -i "$file" -acodec libmp3lame "${file%.aac}.mp3";' _ '{}' \; # }