Új hozzászólás Aktív témák
-
F34R
nagyúr
Naj csak meglett.
lame, mutagen, mplayer (vagy tetszes szerint mplayer2 es a fork mpv)
es a script
#!/bin/bash
DEFAULT_OUTPUT_DIR=/tmp/mp3ify
QUALITY=2
VBR_QUALITY=4
MIN_BITRATE=64
MAX_BITRATE=256
SAMPLE_FREQ=44.1
function any_to_mp3 {
PIPE=`mktemp -u -t mp3ify.pipe.XXXXXX`
mkfifo "$PIPE"
mplayer -ao pcm -ao pcm:file="$PIPE" "$INPUT_FILE" -noconsolecontrols > /dev/null 2>&1 &
lame -m j -q $QUALITY -v -V $VBR_QUALITY -b $MIN_BITRATE \
-B $MAX_BITRATE -s $SAMPLE_FREQ "$PIPE" "$OUTPUT_FILE" > /dev/null 2>&1
rm "$PIPE"
python2 -c "
import mutagen
input = mutagen.File(\"$INPUT_FILE\", easy = True)
output = mutagen.File(\"$OUTPUT_FILE\", easy = True)
for tag in [ 'artist', 'album', 'tracknumber', 'date', 'genre', 'title', 'comment' ]:
value = input.get(tag)
if value: output[tag] = value[0]
output.save(v1=2)"
}
function usage {
echo "mp3ify <input_dir> [<output_dir>]
Transforms structure <input_dir>/X/Y/.../Z into structure <output_dir>/X/Y/.../Z
according to the following rules:
flac, ogg, m4a, ape, aac, mpc files will be encoded to mp3 preserving tags.
Everything else will be copied without modification.
Requires: mplayer, lame, mutagen.
"
exit 1
}
INPUT_DIR="$1"
[ -d "$INPUT_DIR" ] || usage
OUTPUT_DIR="${2:-$DEFAULT_OUTPUT_DIR}"
find "$INPUT_DIR" -name '*.*' | while read INPUT_FILE
do
INPUT_EXTENSION="${INPUT_FILE##*.}"
OUTPUT_FILE="$OUTPUT_DIR/${INPUT_FILE#$INPUT_DIR}"
mkdir -p "`dirname "$OUTPUT_FILE"`"
case $INPUT_EXTENSION in
flac|m4a|ogg|ape|aac|mpc)
OUTPUT_FILE="${OUTPUT_FILE%.$INPUT_EXTENSION}.mp3"
echo -n "Converting ${INPUT_FILE##*/}... "
any_to_mp3
;;
*)
echo -n "Copying ${INPUT_FILE##*/}... "
cp "$INPUT_FILE" "$OUTPUT_FILE"
;;
esac
echo "done."
done
Új hozzászólás Aktív témák
- Creative Hybrid Pro Classic (Egyszer kipróbált, garanciális)
- iPhone 15 Pro 128gb Natúr Titanium, bontatlan, független
- ÚJ Apple Watch Ultra 2 GPS + Cellular 49mm - titántok, alpesi szíj
- 8/16GB memoriák
- APPLE MacBook Air 2020 13" Retina - M1 / 8GB / 256 GB SSD / MAGYAR / 96% akku, 81 ciklus / Garancia