LINUX.ORG.RU

PulseAudio (по сети) + Amarok: воспроизведение прерывается практически сразу

 ,


0

1

Итак. Задача — стриминг звука по сети с ноута (x86) на хедлесс-машинку (ARM). Условия (софт на обоих системах одинаковый):

  • Arch current (Linux 3.16)
  • PulseAudio 5.0
  • Phonon 4.7.2
  • Amarok 2.8.0
  • достаточно быстрая сеть

Пульса настроена по умолчанию, за исключением явного указания звуковой карты на таргете. Когда я запускаю воспроизведение в Amarok'е, где-то полсекунды звук воспроизводится, потом индикатор позиции в плеере останавливается и звук перестаёт воспроизводиться. На Play/Pause амарок не реагирует, после Stop и повторного запуска воспроизведения всё повторяется.

Дело не в пульсе (mpv в таких условиях работает) и не в Phonon (альтернативный плеер на Phonon тоже работает). Кто-нибудь сталкивался?

★★★★★

Amarok напрямую через PulseAudio звук выводит или через ALSA-плагин? Я сталкивался со странностями в реализации того плагина. Он грубо сделан, в расчёте на идеальные реализации.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Через Phonon, который выводит звук через различные бэкенды, которые... =)

Насколько понимаю, в итоге всё выводится напрямую на пульсу.

(GStreamer-бэкенд тоже ни при чём — gst-launch-0.10 работает.)

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от i-rinat

Тааак.

В mpv, если включить пульсовый стриминг (перекинуть вывод на хедлесс-машинку), индикатор позиции сходит с ума и показывает минус рандомное количество времени, причём никуда не двигаясь. Но воспроизведение работает.

Не баг ли это... в пульсе, в ffmpeg, где-то ещё?

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

mpv

pulseaudio

индикатор позиции сходит с ума

Дадим слово автору: https://github.com/mpv-player/mpv/issues/959

There is probably no actual freezing going on, and it just is a problem with audio playback position reporting. There are some hacks trying to deal with crappy pulseaudio position reporting, that definitely will not make the network case smooth.

I blame PulseAudio then. I've heard PA networking rarely works well in practice. Or they make it hard to make it work well.

aidan ★★★★ ()
Ответ на: комментарий от aidan

Забавно, я тот же баг нагуглил. Может тогда стоит пустить звук через ALSA, чтобы прикладной софт не пытался определять latency.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

aidan

Интересно. Спасибо за ссылку. Если пустить через альсу из mpv (mpv -ao alsa), эффект такой же, как и при mpv -ao pulse:latency-hacks=no из багрепорта: индикатор позиции теперь остаётся в нуле, а не в минус дохрена.

А вот как принудить Phonon юзать альсу, я не знаю.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

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

зы: мне так от заиканий в хромиуме удалось избавиться, но в итоге я всё равно пульс убрал - ну нереально с ним жить

fornlr ★★★★★ ()

Because I'm Linus Torvalds, and I pronounce PulseAudio as Pshhhhhshsh....

anonymous ()
Ответ на: комментарий от anonymous

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

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

да это всё шуточки просто были, если сурьёзно - просто выкидывай пульс на

anonymous ()

Как у вас звук по сети идет? RTP или Tunnel? С RTP у меня были какие-то схожие проблемы, да и еще задержка была выше (хотя, по логике, должна быть ниже), а вот с tunnel все замечательно.

У вас время между машинами синхронизировано? Это довольно важно.

ValdikSS ★★★★★ ()
Ответ на: комментарий от ValdikSS

Tunnel, не RTP. Время на обеих машинах синкается с ntp.mobatime.ru.

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

Эпопея продолжается.

Сейчас решил послушать музыку, пускаю Amarok, выбираю кубокс в качестве аудиовыхода... и хрен там, симптомы всё те же. Запускаю mpv — минус четыре минуты (но воспроизведение идёт).

Не знаю. Залогинился на кубокс, рестартнул там timesyncd (NTP-клиент, то есть), заодно поставил ntp.mobatime.ru вместо ru.pool.ntp.org (внезапно на кубоксе был второй, проглядел, когда настраивал), перезагрузился сам. Всё заработало.

Может, и вправду дело в рассинхроне по времени? Но, ValdikSS, какие ж там тогда требования, что от смены NTP-сервера всё чинится?

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.