Бездисплейный музыкальный преобразователь с именем файла на основе тегов

У меня есть музыкальная коллекция, состоящая из нескольких саундтреков к фильмам в Apple Lossless, и я хотел бы преобразовать его в 48 Кбит/с OGG Vorbis в совершенно другой структуре папок с именами файлов в следующем формате:

/music folder/{album artist}/{album name}/{track number} {track title} - {track artist}.ogg

Я также хотел бы извлечь обложки альбомов в отдельном файле под названием 'AlbumArt.jpg' в той же папке.

Проблема, я хочу сделать это на своем бездисплейном сервере Ubuntu - так терминал только.

Там какой-либо путь состоит в том, чтобы сделать это без некоторой обширной записи сценария?

3
задан 6 August 2012 в 16:42

1 ответ

Вот пример сценария и как его использовать.

Сначала установите эти пакеты: 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 "{}"
0
ответ дан 6 August 2012 в 16:42

Другие вопросы по тегам:

Похожие вопросы: