Поток записывает аудио с браузера на сервер
Мне хотелось бы записать потоковое записанное аудио из браузера на сервер и воспроизвести его. Сервер окажется встроенным устройством, которое воспроизводит эти аудиопотоки.
До сих пор я успешно записывал аудио и кодировал его в WAVE файл и воспроизводил его в браузере с помощью API веб-аудио и после этого учебника.
Теперь у меня есть поток .WAV закодированных blobs. Я попытался найти способы передать их на сервер nodejs с подключением к веб-сокету и воспроизвести их с помощью модуля npm. Но мне не повезло.
Кто-нибудь знает какие-либо ресурсы или модули, которым я должен следовать? Может, мне стоит попробовать другой подход? Звук должен воспроизводиться относительно быстро на сервере с момента записи в браузере.
Ответы
Ответ 1
Я делаю это в настоящее время с некоторым программным обеспечением, которое позволяет транслировать на интернет-радиосерверы через ваш веб-браузер.
Я использую API WebAudio вместе с getUserMedia, чтобы получить звуковые данные в реальном времени PCM от звука устройство. Оттуда я конвертирую эти данные из 32-битного поплавка в 16, 12 или 8-битные данные в зависимости от доступной пропускной способности. Эти преобразованные образцы int записываются в настройку потока с BinaryJS, которая переносит потоки как на Node.js, так и на клиента. В качестве бонуса с BinaryJS вы можете открыть столько потоков, сколько захотите, поэтому я использую второй поток по тому же соединению WebSocket для управляющих данных.
http://demo.audiopump.co:3000/