У меня есть установка сервера Ubuntu, настроенная в качестве медиасервера с Subsonic в офисной среде среднего размера. Я разрешаю загрузки от всех сотрудников в папку мультимедиа на сервере.
Как вы можете себе представить, там будет немного запутанно с несколькими вариантами написания имен исполнителей и альбомов для имен каталогов, дубликатов файлов, а также неправильных имен файлов и тегов.
Я надеялся, что смогу найти сценарий, который мог бы запускать ежедневно в качестве задания cron для очистки носителя. Кто-нибудь знает что-нибудь, что может сработать? Я бы хотел сохранить путь, похожий на: /mnt/music/Artist/Album/Song.file
Раньше у меня была похожая аранжировка. Метод, который я выбрал, заключался в том, чтобы не позволять людям писать в конечный конечный каталог, а вместо этого имел входящий каталог, который раз в день обрабатывал все файлы и при этом перемещал их в каталог музыки.
Я нашел это намного лучше, так как я мог работать с метаданными и избавиться от ненужных файлов одним махом.
Это не будет самым полезным постом, потому что я потерял сценарий, который написал для этого. Это был скрипт Python, который брал обложки альбомов у Amazon, проверял CDDB, если не было метаданных, и т. Д. Если вы ищете быстрый проект Python, я могу от всей души порекомендовать его - это было весело.
В противном случае, вы можете использовать входящую аранжировку и запустить что-то вроде Banshee, в котором есть отличный механизм организации музыки. Единственная проблема заключается в том, что вам придется выполнять импорт вручную, так как я не думаю, что есть функция автоматического импорта.
Я нашел этот скрипт http://www.skryking.net/post/bash-sort-mp3-s-by-id3-tag :
#!/bin/bash
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for i in `ls -1 *.mp3`
do
TITLE="`id3info "$i" | grep '^=== TIT2' | sed -e 's/.*: //g'`"
ARTIST="`id3info "$i" | grep '^=== TPE1' | sed -e 's/.*: //g'`"
ALBUM="`id3info "$i" | grep '^=== TALB' | sed -e 's/.*: //g'`"
YEAR="`id3info "$i" | grep '^=== TYER' | sed -e 's/.*: //g'`"
TRACKNUM="`id3info "$i" | grep '=== TRCK' | sed -e 's/.*: //g'`"
if [ -e "$TITLE" ]; then
TITLE="Unknown"
fi
if [ -e "$ARTIST" ]; then
ARTIST="Unknown"
fi
if [ -e $ALBUM ]; then
ALBUM="Unknown"
fi
if [ -e $YEAR ]; then
YEAR="Unknown"
fi
if [ -e $TRACKNUM ]; then
TRACKNUM="Unknown"
fi
echo "$ARTIST $TITLE $ALBUM $YEAR $TRACKNUM"
install -D "$i" /storage/Multimedia/Music/"$ARTIST"/"$ALBUM"/"$i"
echo "/storage/Multimedia/Music/$ARTIST/$ALBUM/$i" >> filelist.txt
done
IFS=$SAVEIFS
нужно будет изменить это, чтобы использовать ваши конкретные папки. Требуется, чтобы вся несортированная музыка находилась в одной папке, и не помещалась в подпапки, но в остальном это здорово.