Автор Тема: Проблема при воспроизведении MP3, FLAC в консоли  (Прочитано 6583 раз)

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

Оффлайн ek-nfn

  • Местный
  • *****
  • Автор темы
  • Сообщений: 1422
Не понял такого момента - при воспроизведении в консоли файлов данных форматов через ogg123, mpg321, невозможно параллельно слушать и смотреть другие плееры - видеоплееры. Они запускаются и ждут окончания воспроизведения вышеуказанных консольных плееров. При этом, если эти же файлы воспроизводить через DeadBeef, то параллельная работа других плееров не запрещена. Pulse установлена штатно (Рунту-лайт 14.04).

А вот если вначале запустить , скажем, видеоплеер с фильмом, а потом указанные консольные плееры, то все это нормально работает параллельно.  ))
« Последнее редактирование: Июль 25, 2016, 13:47:40 от ek-nfn »
Devuan ASCII x32..x64

Оффлайн NIN

  • Новичок
  • **
  • Сообщений: 59
Видимо, alsa не позволяет. Мне помогло, в случае с mpg321, направить звук на pulseaudio:

mpg321 -o pulse -g20 http://nashe1.hostingradio.ru/rock-128.mp3

Оффлайн ek-nfn

  • Местный
  • *****
  • Автор темы
  • Сообщений: 1422
да... действительно заработало. Спасибо.
А я думал, что установленное pulse само разруливает аудио потоки.
Что забавно, в man  и хелпе на команду нет такой опции с переадресацией на pulse

       -o devicetype
                 Set the output device type to devicetype.  devicetype can be one of:
                 oss - the Linux Open Sound System;
                 sun - the Sun audio system;
                 alsa - the Advanced Linux Sound Architecture;
                 alsa09 - the Advanced Linux Sound Architecture, version 0.9;
                 esd - the Enlightened Sound Daemon;
                 arts - the analog real-time synthesiser
                 See -a device, below.


Тогда уж до кучи - какие и где расположены конфигурационные файлы на ogg123 и mpg321 ?
« Последнее редактирование: Июль 25, 2016, 02:50:13 от ek-nfn »
Devuan ASCII x32..x64

Оффлайн NIN

  • Новичок
  • **
  • Сообщений: 59
какие и где расположены конфигурационные файлы на ogg123 и mpg321 ?
насколько изучил dpkg -S ogg123 и dpkg -S mpg321, mpg321 конфигурируется при компиляции. а вот для ogg123 ответ даст
cat /usr/share/doc/vorbis-tools/examples/ogg123rc-example
Сделал хоткей Win+M для Openbox, со строчкой sh -c "if pgrep mpg321; then pkill mpg321; else mpg321 -o pulse -g10 http://nashe1.hostingradio.ru/rock-128.mp3; fi"
« Последнее редактирование: Июль 26, 2016, 11:50:58 от NIN »

Оффлайн HsH

  • Administrator
  • *****
  • Сообщений: 3466
невозможно параллельно слушать и смотреть другие плееры - видеоплееры. Они запускаются и ждут окончания воспроизведения вышеуказанных консольных плееров.
    Консольный плеер захватывает устройство по умолчанию в монопольном режиме.

в man  и хелпе на команду нет такой опции с переадресацией на pulse
    mpg321 использует для вывода звука библиотеку libao, которая, в свою очередь, определяет возможные подсистемы аудио (в том числе pulse).

Оффлайн ek-nfn

  • Местный
  • *****
  • Автор темы
  • Сообщений: 1422
   Консольный плеер захватывает устройство по умолчанию в монопольном режиме.
интересная подробность. Получается, что pulse ничем и не рулит, а лишь предоставляет свои возможности для использования в процессах. В gui плееров и прочей мультимедиа это обеспечивает разработчик программы, а в консоли этим приходится озадачиваться самому ?  Но тогда непонятно, почему консольный процесс не отбирает устройство, если запускается после gui-плеера.


а вот для ogg123 ответ даст
cat /usr/share/doc/vorbis-tools/examples/ogg123rc-example

Что-то с конфигом не получается, буду копаться... А вот с опцией -d pulse в терминальной команде все хорошо, блокировка для других плееров снимается. )

Хоткей хороший, надо будет переделать на новостные каналы  :)
« Последнее редактирование: Июль 25, 2016, 21:25:07 от ek-nfn »
Devuan ASCII x32..x64

Оффлайн NIN

  • Новичок
  • **
  • Сообщений: 59
Вроде работает..
Копируем исходный конфиг, на лету заменяем устройство oss на pulse и сохраняем в файл ~/.ogg123rc :
cat /usr/share/doc/vorbis-tools/examples/ogg123rc-example|sed s/oss/pulse/ > ~/.ogg123rcUpd: дополнил про libao.
cat /etc/libao.conf|sed s/alsa/pulse/ > ~/.libao
« Последнее редактирование: Июль 26, 2016, 11:01:16 от NIN »

Оффлайн ek-nfn

  • Местный
  • *****
  • Автор темы
  • Сообщений: 1422
Похоже перелогиниться надо было. На нетбуке заработало. Днем на стационаре попробую.  ;D

Я еще перенес в домашнюю ~/.libao , где заменил alsa на pulse.  Теперь и mpg321  ничего не блокирует.  :)  Этот конфиг, похоже, один все плееры чохом загоняет в pulse.
« Последнее редактирование: Июль 26, 2016, 02:04:40 от ek-nfn »
Devuan ASCII x32..x64

Оффлайн NIN

  • Новичок
  • **
  • Сообщений: 59
Решил поправить глобальные конфиги, вместо домашней папки :)

sudo sed -i s/alsa/pulse/ /etc/libao.confsudo sh -c 'cat /usr/share/doc/vorbis-tools/examples/ogg123rc-example | sed s/oss/pulse/ >  /etc/ogg123rc'

Оффлайн ek-nfn

  • Местный
  • *****
  • Автор темы
  • Сообщений: 1422
Неплохо бы еще определиться со списком распространенных видео-аудио плееров, работающих через libao.

Проверил на второй машине. Через конфигурационный файл libao (/etc/libao.conf) действительно можно перенаправлять потоки всех работающих через libao плееров с alsa на pulse.
Для глобальной настройки корректируем файл  /etc/libao.conf
sudo sed -i s/alsa/pulse/ /etc/libao.conf
Ну или вручную через редактор. Для одного пользователя - копируем его содержимое в домашней папку в файл ~/.libao и корректируем лишь его.
Для моих плееров - ogg123 и mpg321 это работает.
Спасибо NIN и HsH за подсказки

Devuan ASCII x32..x64