Raspberry Pi Перенаправить USB-микрофон на HDMI аудио - PullRequest
0 голосов
/ 31 января 2019

У меня работает звук HDMI и я вижу USB-микрофон, но я не уверен, каковы настройки ALSA для отправки живого звука через HDMI.Я не хочу записывать только патч, потому что я использую его как живую камеру для монитора HDMI в другой комнате, и мне нужно аудио, видео в реальном времени.Я использую raspivid для запуска камеры.

Я пробовал arecord -D plughw: 1,0 |aplay но есть большая задержка около одной секунды.Мне нужно, чтобы он синхронизировался с видео.

Также: jackd -r -d alsa -D -Chw: 1 -Phw: 0 -r 44100. Сервер работает, но ничего не происходит, нет звука.

1 Ответ

0 голосов
/ 01 февраля 2019

Для тех, кто заинтересован в этом, я нашел ответ, который работает очень хорошо.Это самая простая и самая низкая задержка, которую я нашел.

ПРИМЕЧАНИЕ. Это не без заголовка.Вам понадобится больше работы, чтобы заставить это работать без головы.

Что я сделал, чтобы сделать живую камеру HDMI со звуком:

(Note: I'm assuming that pi is the user. Edit accordingly if not.)

1. Get a raspberry pi camera module and a USB microphone.

2. Get and compile Tinyalsa https://github.com/tinyalsa/tinyalsa and
   install according to git hub instructions.

3. (Optional) Force hdmi audio with raspi-config. You may not need this
   but default is auto so if you start your Pi without an HDMI monitor
   it will default to outputting to the 3.5mm jack.

4. copy /etc/xdg/lxsession/LXDE-pi/autostart to 
   ~/.config/lxsession/LXDE-pi/autostart

5. add these lines to the end of ~/.config/lxsession/LXDE-pi/autostart:

   /usr/bin/raspivid -t 0
   /home/pi/runtinycap.sh

   (Note: you can put an @ sign before them if you want to 
   automatically restart if the apps crash, but I haven't tested.)

6. create /home/pi/runtinycap.sh with these lines (need to know the audio card
   numbers and may also need the card device numbers using -d after the -D's):

   #!/bin/bash
   /usr/local/bin/tinycap -- -D <card no> -c 1 -r 44100 -b 16 -p 16 -n 2 | /usr/local/bin/tinyplay - -D <card no> -c 1 -r 44100 -b 16 -p 16 -n 2

Надеюсь, это поможет, поскольку это было очень болезненное упражнениеэто заняло 8 часов, чтобы выяснить, так как очень мало информации, просто Googling!

Задержка намного лучше, чем Джек, QjackCtl, pulseaudio, arecord, отправленный в aplay и т. д. Я не мог установить -p на меньшеечем 2048 и -n 4 без падения Джека, и задержка составила около 140 мс.TinyAlsa только 16 и 2!Я не знаю точную задержку, но она очень низкая.Видео и аудио синхронизированы.

...