У меня есть музыкальная коллекция, состоящая из нескольких саундтреков к фильмам в Apple Lossless, и я хотел бы преобразовать его в 48 Кбит/с OGG Vorbis в совершенно другой структуре папок с именами файлов в следующем формате:
/music folder/{album artist}/{album name}/{track number} {track title} - {track artist}.ogg
Я также хотел бы извлечь обложки альбомов в отдельном файле под названием 'AlbumArt.jpg' в той же папке.
Проблема, я хочу сделать это на своем бездисплейном сервере Ubuntu - так терминал только.
Там какой-либо путь состоит в том, чтобы сделать это без некоторой обширной записи сценария?
Вот пример сценария и как его использовать.
Сначала установите эти пакеты: libav-tools mediainfo ubuntu-restricted-extras
avconv
(ранее известный как ffmpeg ) выполняет фактическое преобразование mediainfo
обеспечивает пометьте информацию для создания структуры папок и назовите файл. Сценарий:
#!/bin/bash
OUTPUTBASE=converted-oggs #path to the base folder for output ALBUMARTIST=`mediainfo --Inform="General;%Album/Performer%" "$1"` ALBUM=`mediainfo --Inform="General;%Album%" "$1"` TNUMBER=`mediainfo --Inform="General;%Track/Position%" "$1"` TTITLE=`mediainfo --Inform="General;%Track%" "$1"` TARTIST=`mediainfo --Inform="General;%Performer%" "$1"` mkdir -p "$OUTPUTBASE/$ALBUMARTIST/$ALBUM" mediainfo --Inform="General;%Cover_Data%" "$1" | base64 -d > "$OUTPUTBASE/$ALBUMARTIST/$ALBUM/AlbumArt.jpg" avconv -i "$1" -acodec libvorbis -b 48k "$OUTPUTBASE/$ALBUMARTIST/$ALBUM/$TNUMBER $TTITLE - $TARTIST.ogg"
Предположим, мы назовем сценарий ~/silexcvt.sh
, а затем вы преобразуете все m4a
дорожек в папке ~/soundtracks
, у вас будет find
и xargs
вызвать сценарий как:
find soundtracks -regex '.*m4a | xargs -I '{}' ./silexcvt.sh "{}"