ОсновноеRadiotalkПользовательское
Технологии вещания, софт, скрипты
7   •   Посмотреть все темы

Web-based плеер на linux - подскажите, чем организовать?

 

3
Demuri @Demuri
Друзья, прошу подсказки.
Нужно запустить плейлист на debian сервере. Airtime так и не удалось заставить звучать в эфир. Сейчас все, что требуется - дать возможность далекому от IT человеку закачать на сервер аудиофайлы, собрать их в плейлист и запустить его по кругу. Что-то типа плеера с веб-мордой. Желательно бесплатный.

0
419
gyurgin_ @gyurgin_
Ну тут надо понимать, чтобы
Demuri пишет:

дать возможность далекому от IT человеку закачать на сервер аудиофайлы, собрать их в плейлист и запустить его по кругу..

надо толковому специалисту довольно прилично оснастить Ваш сервер, насколько я понял самому Вам это не по силам, ищите, может кто возьмется.
Однако самый простой вариант могу подсказать, ставите ********** и клиента к нему, например **********.
Останется присобачить к клиенту вот такой например ********** ну и что там еще понадобится дописать. Все - Ваша задача будет выполнена.

0
245
radio_good @radio_good
запустить плейлист на debian сервере.


самое простое и "топорное" это конечно традиционная связка icecast+ices
через 30 минут у вас уже играет примитивный плейлист с музычкой из папки ...

Что-то типа плеера с веб-мордой

с веб мордой .. нужен еще и веб-сервер ... что накладывает опрд. нагрузку на ваш севре/ram
выход - desktop (LXDE/XRDP под Win)

Отредактировано radio_good - 14.03.2017
0
3
Demuri @Demuri
gyurgin_ пишет:

надо толковому специалисту довольно прилично оснастить Ваш сервер, насколько я понял самому Вам это не по силам

Оснащать сервера мне как раз по силам, знать бы только, чем оснащать :) Теперь благодаря Вам есть понимание, спасибо.

radio_good пишет:

традиционная связка icecast+ices

Я как раз в организации радио не особо понимаю, поэтому до ices не докопался. Спасибо, вполне себе вариант, тоже буду пробовать.

0
419
gyurgin_ @gyurgin_
radio_good пишет:

с веб мордой .. нужен еще и веб-сервер ... что накладывает опрд. нагрузку на ваш севре/ram
выход - desktop (LXDE/XRDP под Win)

Ну спросили же с вебмордой, я как раз дал клиента который сам себе вебсервер.
Вот попробовал, на все ушло 50 минут, Вам даю вариант в котором учтены все капризы mpd и он проверенно работает.
Исходные данные такие: есть пользователь radio, он в группе sudo, в его домашней есть папка mpd, в ней music, там есть некое количество музыки, установлен и настроен icecast и есть поток /mpd, поток запаролен.
Каждая строка - отдельная команда:
  1. apt-get install mpd libmpdclient2 libmpdclient-dev
  2. mkdir /home/radio/mpd/playlists
  3. > /home/radio/mpd/tag_cache
  4. chmod 777 /home/radio/mpd -R
  5. cd /home/radio/mpd
  6. git clone **********
  7. cd ympd/src; mkdir -p build; cd build
  8. cmake ../.. -DCMAKE_INSTALL_PREFIX_PATH=/usr
  9. make
  10. make install
  11. mv /etc/mpd.conf /etc/mpd.default
  12. nano /etc/mpd.conf


туда пишем:

  1. music_directory "/home/radio/mpd/music"
  2. playlist_directory "/home/radio/mpd/playlists"
  3. db_file "/home/radio/mpd/tag_cache"
  4. log_file "/home/radio/mpd/mpd.log"
  5. pid_file "/home/radio/mpd/pid"
  6. state_file "/home/radio/mpd/state"
  7. sticker_file "/home/radio/mpd/sticker.sql"
  8. user "radio"
  9. bind_to_address "localhost"
  10. port "6600"
  11. log_level "default"
  12. restore_paused "no"
  13. save_absolute_paths_in_playlists "no"
  14. auto_update "yes"
  15. default_permissions "read,add,control,admin"
  16. audio_output {
  17. type "shout"
  18. encoding "mp3"
  19. name "Test MPD Stream"
  20. host "localhost"
  21. port "8000"
  22. mount "/mpd"
  23. password "пароль"
  24. bitrate "128"
  25. format "44100:16:1"
  26. protocol "icecast2"
  27. user "source"
  28. description "Test MPD Stream"
  29. url "ваш url"
  30. genre "various"
  31. public "no"
  32. timeout "2"
  33. mixer_type "software"
  34. }
  35. filesystem_charset "UTF-8"
  36. id3v1_encoding "UTF-8"


сохраняем, перезапускаем MPD

  1. service mpd restart


ругнется "db: Database corrupted", так и надо
запускаем вебморду

  1. ympd -w 8888


идем по ip сервера:8888 видим сабж, пользуемся.
Веб морду после запуска можно погасить, только кроссфейд навернется, а так будет продолжать играть.
Подогнать данный гайд под себя как нефиг делать, пробовал на ubuntu 14, на debian думаю прокатит и надеюсь не надо обьяснять что в системе уже должны быть git, build-essential, lame и тд и тп.

Отредактировано gyurgin_ - 15.03.2017
0
419
gyurgin_ @gyurgin_
Ребят, нашел форк с авторизацией, обновил гайд, смотрим внимательно если кто начал делать.
Файл авторизации создается так:
  1. htdigest -c /home/radio/mpd/.htdigest ympd <имя пользователя>

обратите внимание
  1. -c
указывается только при первом запуске
запускать так:
  1. ympd -d "/home/radio/mpd/.htdigest" -w 8888

также есть поддержка ssl, сливаем key и все части сертификата в один pem файл, запускаем так:
  1. ympd -d "/home/radio/mpd/.htdigest" -w "ssl://8888:<полный путь к файлу сертификата>"

Вот теперь пожалуй все.

0
3
Demuri @Demuri
gyurgin_ пишет:

Ребят, нашел форк с авторизацией

О, вот прям то, что доктор прописал :) Спасибо!

0
419
gyurgin_ @gyurgin_
Слушайте, мне эта хрень даже понравилась, нормальная такая шармака для запуска тестовых фонограмм для проверки тракта, а кому то сойдет и за autodj. Одно некрасиво - не запускается как daemon.
Решение - я init скрипт не даю, не у всех прижевется, поэтому по-простому, каждый блок - отдельная команда:
  1. apt-get install daemon

делаем cтартовый скрипт:
  1. echo '#!/bin/sh
  2. ympd -d "/home/radio/mpd/.htdigest" -w "ssl://8888:<путь к сертификату>"' > '/home/radio/mpd/ympd_start.sh'; chmod +x "/home/radio/mpd/ympd_start.sh"

скрипт отключения:
  1. echo -e '#!/bin/sh
  2. ps -ef | grep -v grep | grep ympd | awk \x27{print $2}\x27 | xargs kill -9' > '/home/radio/mpd/ympd_stop.sh'; chmod +x "/home/radio/mpd/ympd_stop.sh"

запускаем теперь так:
  1. daemon sh "/home/radio/mpd/ympd_start.sh"

проверить так:
  1. ps -ef | grep -v grep | grep ympd

Может кому пригодится.
Я там дописал еще вебморду, но тут на вкус и цвет, да и нет желания дальше развивать, такая шарманка для тестов меня устраивает вполне.

0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.