2016-03-29 13 views
0

Я пытаюсь передать низкое латентное звучание между двумя малиновыми pis. Как gstreamer, так и ffmpeg вызывают 2+ вторых задержки для меня.Невозможно получить JACK Audio/Netjack, работающий по локальной сети

Я играл с Jack Audio и локально на одном pi, кажется многообещающим. Я могу направить микрофонный вход на динамик локально, и это почти мгновенно.

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

# ON SERVER 
jackd -P70 -p16 -t2000 -dalsa -dhw:1 -p128 -n3 -r44100 -s 

# ON CLIENT 
jackd -v -R -P70 -dnetone -i1 -o1 -I0 -O0 -r44100 -p128 -n3 

# ON SERVER 
jack_netsource -H < ip address of client > 
jack_lsp # list availible connection ports 

>system:capture_1 
>system:playback_1 
>system:playback_2 
>netjack:capture_1 
>netjack:capture_2 
>netjack:capture_3 
>netjack:playback_1 
>netjack:playback_2 
>netjack:playback_3 

jack_connect system:capture_1 system:playback_1 # this works 
jack_connect system:capture_1 netjack:playback_1 # this doesn't work :(

Большинство вариантов запуска я вытащил отсюда http://wiki.linuxaudio.org/wiki/raspberrypi#using_jack. Я буду честен, я не знаю, что они делают.

Клиент вывода jackd показывает сообщения как

Jack: data not valid 
Jack: data not valid 
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 6 
Jack: JackRequest::Notification 
Jack: JackEngine::ClientNotify: no callback for notification = 3 
Jack: JackEngine::ClientNotify: no callback for notification = 3 
netxruns... duration: 139ms 
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 6 
Jack: JackRequest::Notification 
Jack: JackEngine::ClientNotify: no callback for notification = 3 
Jack: JackEngine::ClientNotify: no callback for notification = 3 

И выход сервера jack_netsource выглядит

current latency 114 
current latency 20 
current latency 27 
current latency 29 
current latency 48 
current latency 23 
current latency 33 
current latency 28 
current latency 41 
current latency 84 
current latency 44 

и выходной сервер jackd выглядит

JackAudioDriver::ProcessGraphAsyncMaster: Process error 
JackAudioDriver::ProcessGraphAsyncMaster: Process error 
JackAudioDriver::ProcessGraphAsyncMaster: Process error 
JackAudioDriver::ProcessGraphAsyncMaster: Process error 
JackEngine::XRun: client = netjack was not finished, state = Triggered 
JackAudioDriver::ProcessGraphAsyncMaster: Process error 
JackAudioDriver::ProcessGraphAsyncMaster: Process error 
JackEngine::XRun: client = netjack was not finished, state = Triggered 
JackEngine::XRun: client = netjack was not finished, state = Triggered 

Я считаю, что -dnetone флаг указывает на использование Netjack2. Netjack 1, который я пытался с результатами -dnet флага в одном Not Connected сообщения от jack_netsource и:

Jack: CatchHost fd = 5 err = Resource temporarily unavailable 
Jack: CatchHost fd = 5 err = Resource temporarily unavailable 
Jack: CatchHost fd = 5 err = Resource temporarily unavailable 
Jack: CatchHost fd = 5 err = Resource temporarily unavailable 
Jack: CatchHost fd = 5 err = Resource temporarily unavailable 
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 6 

от клиента jackd.

+0

ли вы когда-нибудь получить эту работу? Я бы хотел попробовать это решение для удаленных онлайн-репетиций. – cayblood

+0

Я думаю, что Джек очень чувствителен к латентности сети. Я не думаю, что jack работает для удаленных или беспроводных настроек – James

ответ

0

Во-первых, на малине pi убедитесь, что у вас включен mmap (check here).

После jackd настроен должным образом, это основной метод, чтобы получить jackd2 подсоединенный между ведущим и ведомым:

На мастер ... jackd -d ALSA jack_load NetManager На раб ... jackd -r -d net -a ipaddress

Должен работать в этой точке, не забудьте подключить порты от netjack к системному вводу и выходу на ведущем устройстве. Вы можете использовать JackPortMonitor или JackPortMonitorGui, чтобы автоматически подключить их к мастеру для вас. В этом случае мастер запуска выглядит так: jackd -d ALSA jack_load NetManager JackPortMonitorGui

 Смежные вопросы

  • Нет связанных вопросов^_^