Потоковое аудио на несколько веб-браузеров - PullRequest
0 голосов
/ 03 ноября 2019

Я пытаюсь воспроизвести звук на моем сервере Linux и транслировать его на несколько интернет-браузеров. У меня есть петлевое устройство, которое я указываю как вход для ffmpeg. Затем ffmpeg передается через rtp на сервер WebRTC (Janus). Это работает, но звук, который выходит, ужасен.

Вот команда, которую я использую для потоковой передачи с ffmpeg на janus через rtp:

nice --20 sudo ffmpeg -re -f alsa -i hw:Loopback,1,0 -c:a libopus -ac
1 -b:a 64K -ar 8000 -vn -rtbufsize 250M -f rtp rtp://127.0.0.1:17666

Для сервера WebRTC (Janus) требуетсячто аудиокодек будет опусом. Если я пытаюсь сделать 2-канальный звук или увеличить частоту дискретизации, поток замедляется или звучит хуже. Команда "nice" должна придать процессу более высокий приоритет.

1 Ответ

0 голосов
/ 07 ноября 2019

Использование gstreamer вместо ffmpeg работает и звучит великолепно!

Вот cmd, который я использую в CentOS 7:

sudo gst-launch-1.0 alsasrc device=hw:Loopback,1,0 ! rawaudioparse ! audioconvert ! audioresample ! opusenc ! rtpopuspay ! udpsink host=127.0.0.1 port=14365
...