Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Настройка MPD на вещание по Сети [РЕШЕНО]  (Прочитано 8953 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн satch

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1561
  • Kubuntu 15.10 amd64
    • Просмотр профиля
Re: Настройка MPD на вещание по Сети
« Ответ #15 : 07 Января 2016, 22:45:43 »
поменяйте
user            "mpd"
на
user            "victor"
Наше желание помочь прямопропорционально вашему желанию решить проблему

serchik

  • Гость
Re: Настройка MPD на вещание по Сети
« Ответ #16 : 07 Января 2016, 22:50:58 »
Лог явно показал нам наличие двух проблем. Первая - это права доступа:
Jan 07 21:13 : errno: Failed to stat /home/victor/Музыка: Permission denied
Так как Вы уже успели поиграть с правами доступа на каталог с музыкой, следует привести их в порядок:
sudo find /home/victor/Музыка -type f -exec chmod 664 {} +
sudo find /home/victor/Музыка -type d -exec chmod 775 {} +
При тех настройках прав, которые Вы ранее указывали на скриншотах, казалось бы должны были бы отпасть все ошибки, но это заблуждение. Ошибка может появляться даже в том случае, когда отсутствуют права на ИСПОЛНЕНИЕ КАТАЛОГА всех родительских каталогов по отношению к каталогу с музыкой. Попробуем внести коррективы:
sudo chmod 755 /home/victor
sudo chmod 755 /home/
Вторая проблема для меня темный лес. Но попробуем и тут разобраться. Внесем следующие правки в конфигурационный файл /etc/mpd.conf:
1. Полностью комментируем все строки, относящиеся к директиве audio_output с параметром type "alsa":
(Нажмите, чтобы показать/скрыть)
2. Строки, относящиеся к директиве audio_output с параметром type "pulse" частично раскомментируем:
(Нажмите, чтобы показать/скрыть)
Далее всё по алгоритму:
(Нажмите, чтобы показать/скрыть)
Если музыка опять не заиграет, содержимое лога /var/log/mpd/mpd.log опять поместите ПОД СПОЙЛЕР.
« Последнее редактирование: 07 Января 2016, 22:54:12 от serchik »

Оффлайн victorponomarev

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: Настройка MPD на вещание по Сети
« Ответ #17 : 10 Января 2016, 17:56:56 »
Изменил права доступа,как было предложено выше.

Теперь mpd запускается нормально:
Цитировать
victor@Lenovo-Z500:~$ sudo service mpd status
● mpd.service - Music Player Daemon
   Loaded: loaded (/lib/systemd/system/mpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Вс. 2016-01-10 19:38:41 YEKT; 7s ago
 Main PID: 3975 (mpd)
   CGroup: /system.slice/mpd.service
           └─3975 /usr/bin/mpd --no-daemon

янв. 10 19:38:41 Lenovo-Z500 systemd[1]: Started Music Player Daemon.

В gmpc и в Sonata подключиться сумел — музыка играет.

Как теперь вещать в Сеть — вот это я ещё не понял.

serchik

  • Гость
Re: Настройка MPD на вещание по Сети
« Ответ #18 : 10 Января 2016, 20:20:21 »
Дальше все еще проще. В файле конфигурации mpd (/etc/mpd.conf) раскомментируйте следующую директиву:
audio_output {   
type "httpd"   
name "linux.fm"   
encoder "vorbis"  
port "8000"   
bitrate "128"    
format "44100:16:1"   
}
Перезапускаем mpd. На этом все настройки закончены. Теперь на любой машине в сети запускаем, к примеру, проигрыватель vlc. Выбираем в меню Медиа->Открыть URL... В поле ввода "Введите сетевой адрес" вводим http://ip_адрес_машины_mpd:8000
Должна из динамиков политься музыка. Для отмены вещания по сети, в gmpc достаточно убрать галочку в меню Сервер->linux.fm.

Оффлайн victorponomarev

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: Настройка MPD на вещание по Сети
« Ответ #19 : 10 Января 2016, 20:31:27 »
Из лога:
(Нажмите, чтобы показать/скрыть)

serchik

  • Гость
Re: Настройка MPD на вещание по Сети
« Ответ #20 : 10 Января 2016, 22:13:22 »
Выполните следующую команду:
cat /proc/asound/card*/pcm*p/sub*/hw_params
Если в выводе будет присутствовать такая строка:
channels: 2то исправьте директиву audio_output, подправив строку с указанием формата:
audio_output {   
type "httpd"   
name "linux.fm"   
encoder "vorbis"  
port "8000"   
bitrate "128"    
format "44100:16:2"
}
Если и эта правка не поможет, то закомментируйте строку, задающую формат.
Пробуйте! Теперь все должно работать!
« Последнее редактирование: 10 Января 2016, 22:27:53 от serchik »

Оффлайн victorponomarev

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: Настройка MPD на вещание по Сети
« Ответ #21 : 11 Января 2016, 16:07:16 »
Вывод:
Цитировать
victor@Lenovo-Z500:~$ cat /proc/asound/card*/pcm*p/sub*/hw_params
closed
closed

Стоял формат:
Цитировать
format      "44100:16:1"

Изменил:
Цитировать
format      "44100:16:2"

Ничего не изменилось. Вот лишь добавилось в лог:
(Нажмите, чтобы показать/скрыть)

ДОБАВЛЕНИЕ
То, что описано выше, могло быть связано с тем, что я не правильно указал IP. Но я исправил IP — всё равно не работает. "Сообщения" в VLC пусты, в лог mpd ничего не добавляется.

ДОБАВЛЕНИЕ-2
Плеер Audacious показывает:
Цитировать
Ошибка открытия http://192.168.1.210:8000:
Could not read status line: Соединение разорвано другой стороной
Ошибка открытия http://192.168.1.210:8000/mpd.ogg:
Could not read status line: Соединение разорвано другой стороной
« Последнее редактирование: 11 Января 2016, 16:24:49 от victorponomarev »

serchik

  • Гость
Re: Настройка MPD на вещание по Сети
« Ответ #22 : 11 Января 2016, 17:26:54 »
Ничего не изменилось...
Как это не изменилось? В логах стало одной ошибкой меньше.
ДОБАВЛЕНИЕ
То, что описано выше, могло быть связано с тем, что я не правильно указал IP. Но я исправил IP — всё равно не работает. "Сообщения" в VLC пусты, в лог mpd ничего не добавляется.
Изменили IP в какой директиве? Пробуйте прописать IP-адрес в директиве audio_output:
(Нажмите, чтобы показать/скрыть)
Если и это не поможет, то проверьте, не стоит ли у Вас пакет icecast2 в системе. Обычно он слушает 8000-й порт. Тогда либо удалите этот пакет, либо поменяйте порт в директиве audio_output на любой другой свободный. О результатах отпишитесь.

Оффлайн victorponomarev

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: Настройка MPD на вещание по Сети
« Ответ #23 : 12 Января 2016, 11:14:36 »
Изменили IP в какой директиве?
IP я изменил в адресной строке плеера. Вписал внутренний, серый IP компьютера 192.168.1.210 вместо 192.168.1.200 (ошибся числом сначала).

проверьте, не стоит ли у Вас пакет icecast2 в системе. Обычно он слушает 8000-й порт.

Проверил наличие icecast2 — его нет.

Потом по шагам:
1. Изменил порт на 8002. Проверил — не работает.
2. Вписал серый IP в bind_to_address "192.168.1.210". Проверил — не работает.
3. Закомментировал bind_to_address, изменил порт на 8182. Проверил — не работает.

Вот лог:
(Нажмите, чтобы показать/скрыть)

А ПОТОМ!!!
1. Я догадался запустил песню в Sonata.
2. Чтобы услышать звук потока, закомментировал в конфиге mpd вывод через ALSA.
3. Набрал IP и порт в VLC — ЗАРАБОТАЛО!!! Запустил в Audacious — тоже работает!
4. Долго не мог понять, почему не играет, почему не подключается через noip.com. Решение простое: пробросил на роутере порт 6600 как управляющий и 8182 — как тот, что нужно слушать стримом (IP одни и те же, просто порты разные и имена записей (имена разные, чтобы не запутаться самому), а noip.com на роутере был настроен уже давно).

При этом дирректива
Цитировать
audio_output {
#   bind_to_address "192.168.1.210"
сейчас закомментирована и всё нормально транслируется.

Проблема, как видно, была в том, что не была запущена песня в Sonata.

Отсюда вопрос:
Неужели, чтобы слушать из любой точки земного шара музыку, мне придётся всегда держать запущенным Sonata на компьютере дома?

ДОБАВЛЕНИЕ
Сделал:
sudo aptitude purge mpd
sudo aptitude install mpd

Внёс изменения заново (сначала локально — базу обновил без установленного пароля, потом установил пароль). Теперь, в общем, нормально на телефоне запускается без необходимости запускать Sonata.

ДОБАВЛЕНИЕ-2
Большое спасибо, serchik, за терпение и помощь! С вами я не только разобрался, как настроить mpd, но и понял саму суть работы этой штуковины. Спасибо!
« Последнее редактирование: 12 Января 2016, 12:58:44 от victorponomarev »

serchik

  • Гость
Re: Настройка MPD на вещание по Сети
« Ответ #24 : 12 Января 2016, 13:33:03 »
Очень рад, что у вас всё получилось! Я был удивлен, что у Вас, начиная с Ответа #21, не заработало.
Потом по шагам:
1. Изменил порт на 8002. Проверил — не работает.
2. Вписал серый IP в bind_to_address "192.168.1.210". Проверил — не работает.
3. Закомментировал bind_to_address, изменил порт на 8182. Проверил — не работает.
1. Если пакет icecast2 не стоит, то порт можно было бы и не менять. Неофициально icecast слушает по дефолту именно 8000-ый порт.
2. А должно заработать. По крайней мере в локальной сети, только если здесь не повлияет слуюжба avahi, установленная и запущенная на машине (судя по логам).
3. См. пункт 1.
1. Я догадался запустил песню в Sonata.
Вчера еще хотел продолжить свою мысль в последнем посте и написать, что нужно включать вопроизведение и только потом "забирать" поток в vlc и им подобных , но потом подумал, что Вы сами догадаетесь. Оказывается, нужно было и этот нюанс упоминуть. :)
4. Долго не мог понять, почему не играет, почему не подключается через noip.com. Решение простое: пробросил на роутере порт 6600 как управляющий и 8182 — как тот, что нужно слушать стримом (IP одни и те же, просто порты разные и имена записей (имена разные, чтобы не запутаться самому), а noip.com на роутере был настроен уже давно).
А это уже совсем другая история.  ;)
Неужели, чтобы слушать из любой точки земного шара музыку, мне придётся всегда держать запущенным Sonata на компьютере дома?
Нет, нет и еще раз нет! Как Вы не поймете, что mpc, gmpc, Sonata - это клиенты mpd?! И служат они для управления демоном mpd - воспроизвести/остановить/поставить на паузу, изменить очередь воспроизведения и прочее. Для наглядности приведу свой пример. У меня дома есть большая музыкальная коллекция, копию которой на работе держать нецелесообразно по многим причинам. Что я делаю в таком случае? На рабочем месте я запускаю gmpc и подключаюсь с последующим вводом пароля к домашнему компьютеру, на котором запущен mpd. В gmpc я включаю "вещание по сети", изменяю очередь воспроизведния, создаю/изменяю плейлисты ну и т.д., запускаю вопроизведение и только после этого уже в vlc "забираю" аудиопоток. По окончании работы в том же gmpc я отключаю "вещание по сети" выбрав в меню Сервер->linux.fm (мало ли кто там работает на моей машине по окончанию рабочего дня).

Оффлайн victorponomarev

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: Настройка MPD на вещание по Сети
« Ответ #25 : 12 Января 2016, 13:43:01 »
Нет, нет и еще раз нет! Как Вы не поймете, что mpc, gmpc, Sonata - это клиенты mpd?! И служат они для управления демоном mpd - воспроизвести/остановить/поставить на паузу, изменить очередь воспроизведения и прочее.

Да, да, я понял, что это клиенты — когда стал настраивать воспроизведение на телефоне. Встроенный плеер в MPDroid какой-то непонятный для меня оказался, и до меня дошло, что сам MPDroid нужен в первую очередь для управления сервером на компьютере. Поэтому я стал запускать воспроизведение в MPDroid, а снимать поток в VLC.

serchik

  • Гость
Re: Настройка MPD на вещание по Сети
« Ответ #26 : 12 Января 2016, 14:20:19 »
Очень рад, что смогли Вам помочь. Если у Вас не осталось вопросов по данной теме, пожалуйста, пометьте её как решенную.

 

Страница сгенерирована за 0.058 секунд. Запросов: 26.