Pull to refresh

Транслируйте вашу музыку в любую точку земли и делитесь ей с друзьями

Reading time3 min
Views3.1K
Subsonic — свободный медиа плеер
использующий веб-интерфейс для воспроизведения музыки или ваш любимый проигрователь.

Demo вы можете попробовать прямо сейчас.


Здесь стоит заметить, что статья написана моим знакомым, но он не может опубликоватся в песочнице, так как туда не берут обзоры софта и куски програмного кода.
Поможите, кто чим может evgeniy.arapov@gmail.com (:


Установка очень проста:
wget downloads.sourceforge.net/project/subsonic/subsonic/4.0.1/subsonic-4.0.1.deb && sudo apt-get -y install openjdk-6-jre lame flac faad vorbis-tools ffmpeg python-mutagen && sudo dpkg -i subsonic-4.0.1.deb


Для чего нужны пакеты:
openjdk-6-jre — Subsonic основан на java, поэтому устанавливаем java машину.
lame flac faad vorbis-tools ffmpeg — для транскодинга(установка не обязательна).
python-mutagen — для исправления тегов(установка не обязательна).

После того как всё установлено заходим в веб-интерфейс httр://host:4040
пользователь — admin пароль — admin



Настраиваем каталоги с музыкой:



После первой индексации каталога мы видим добавленную музыку(в том числе и из папок с именами из кириллических символов) и не правильною кодировку некоторых песен:



После перезагрузки компьютера с Subsonic он не отображает папки с именами из кириллических символов:



Решается это просто, можно вручную но я сделал это скриптом. Создаём скрипт который будет

переименовывать каталоги и файлы в транслит и исправлять кодировку(для этого нужен python-mutagen).

#!/bin/bash
# Перекодирует рекурсивно в текущем каталоге имена
# файлов и каталогов в транслит.
# исправит теги *.mp3

shopt -s nullglob
for NAME in *
do
TRS=`echo $NAME |tr : _`
TRS=${TRS//А/A};
TRS=${TRS//а/a};
TRS=${TRS//Б/B};
TRS=${TRS//б/b};
TRS=${TRS//в/v};
TRS=${TRS//В/V};
TRS=${TRS//г/g};
TRS=${TRS//Г/G};
TRS=${TRS//д/d};
TRS=${TRS//Д/D};
TRS=${TRS//е/e};
TRS=${TRS//ё/yo};
TRS=${TRS//Ё/Yo};
TRS=${TRS//ж/zh};
TRS=${TRS//Ж/Zh};
TRS=${TRS//з/z};
TRS=${TRS//З/Z};
TRS=${TRS//и/i};
TRS=${TRS//И/I};
TRS=${TRS//й/j};
TRS=${TRS//Й/J};
TRS=${TRS//к/k};
TRS=${TRS//К/K};
TRS=${TRS//л/l};
TRS=${TRS//Л/L};
TRS=${TRS//м/m};
TRS=${TRS//М/M};
TRS=${TRS//н/n};
TRS=${TRS//Н/N};
TRS=${TRS//о/o};
TRS=${TRS//О/O};
TRS=${TRS//п/p};
TRS=${TRS//П/P};
TRS=${TRS//р/r};
TRS=${TRS//Р/R};
TRS=${TRS//с/s};
TRS=${TRS//С/S};
TRS=${TRS//т/t};
TRS=${TRS//Т/T};
TRS=${TRS//у/u};
TRS=${TRS//У/U};
TRS=${TRS//ф/f};
TRS=${TRS//Ф/F};
TRS=${TRS//х/h};
TRS=${TRS//Х/H};
TRS=${TRS//ц/c};
TRS=${TRS//Ц/C};
TRS=${TRS//ч/ch};
TRS=${TRS//Ч/Ch};
TRS=${TRS//ш/sh};
TRS=${TRS//Ш/Sh};
TRS=${TRS//щ/sch};
TRS=${TRS//Щ/Sch};
TRS=${TRS//э/e};
TRS=${TRS//Э/E};
TRS=${TRS//ю/ju};
TRS=${TRS//Ю/Ju};
TRS=${TRS//я/ya};
TRS=${TRS//Я/Ya};
TRS=${TRS//ъ/\`};
TRS=${TRS//Ъ/\`};
TRS=${TRS//ь/\'};
TRS=${TRS//Ь/\'};
TRS=${TRS//ы/y};
TRS=${TRS//Ы/Y};
TRS=${TRS// /_};
TRS=${TRS//_-_/-};
if [[ `file -b "$NAME"` == directory ]]; then
mv -v "$NAME" "$TRS"
cd "$TRS"
"$0"
cd ..
else

mv -v "$NAME" "$TRS"
fi
done

find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1


* This source code was highlighted with Source Code Highlighter.


Добавим в cron задание каждый день в 18:00 запускать скрипт от root'а:
* 18 * * * root cd /home/zhek/ss && /home/zhek/renamer.sh

Все настройки сделаны можно в ручную запустить скрипт чтобы всё проверить сразу
cd /home/zhek/ss && /home/zhek/renamer.sh
и проиндексировать Subsonic:



Можно наслаждаться музыкой, для этого используем тот же веб-интерфейс настроев перед этим пользователей httр://host:4040:



UPD:На сайте производителя описаны такие возможности:
  • Вещание на мобильный аппарат под управление AndroidOS Subsonic Android app.
  • Так же доступны две программы для iPhone: Z-Subsonic and iSub.
  • Или можно использовать приложение Air, SubAir.
  • Управляйте Subsonic при помощи своего КПК или мобильного телефона при помощи WAP интерфейса.
  • Поддерживается управление с нескольких плееров.
  • Загружайте файлы с/на Subsonic с возможностью архивации/разархивации файлов.

Поддержка большинства форматов
  • Поддержка MP3, OGG, AAC и многих других форматов аудио и видео вещаемых через HTTP.
  • Возможна ковертация разных форматов в MP3 на-лету.
  • Работает с большинством плееров с поддержкой сети, таких как Winamp, iTunes, XMMS, VLC, MusicMatch and Windows Media Player. Также имеется втроенный Flash player.
  • Парсинг и редактирование тэгов MP3, AAC, OGG, FLAC, WMA и APE файлов, используя библиотеку Jaudiotagger.
  • Плейлисты могут сохранять и восстанавливать. Поддерживаются форматы M3U, PLS и XSPF. Сохраненные плейлисты также доступны как подкасты.
  • Изменение битрейта на-лету используя энкодер LAME. Удобно, если у вас маленький канал.
  • Включает протокол SHOUTcast. Плееры, которые поддерживают данный протокол (включая Winamp, iTunes и XMMS) отображает текущих артиста, песню и другие метаданные.

Лично я пробовал использовать только совместно с Aimp и Windows Media Player, т.к коммуникатора под рукой нет
Tags:
Hubs:
Total votes 12: ↑4 and ↓8-4
Comments7

Articles