Может ли MQTT передавать аудио прямо на веб-клиент? - PullRequest
0 голосов
/ 22 марта 2019

Мне удалось настроить Arduino для потоковой передачи звука с микрофона на сервер Linux, на котором размещен сервер MQTT.Затем у меня есть скрипт golang, который подписывается на сервер MQTT, сохраняет полезные данные на диск в виде двоичного файла и преобразует двоичный файл в файл .WAV с помощью FFMPEG.

Можно ли использовать веб-браузер?только клиентский код для подписки на тот же MQTT-сервер, получения полезной нагрузки аудио от Arduino и потоковой передачи звука практически в реальном времени на компьютерные колонки слушателя-человека?Я вижу библиотеку Paho Javascript Client , которая может помочь мне подключиться к MQTT, но, похоже, она получает полезные данные в виде строки, что не очевидно для меня в том, как я буду транслировать аудиоконтент.Следовательно, почему я спрашиваю, является ли это даже практичным / выполнимым?

Или мне нужно будет создать другой серверный сценарий для потоковой передачи данных MQTT как аудиоданных для веб-клиента?

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Чтобы обеспечить его работу во всех средах, убедитесь, что вы используете MQTT через WebSocket для подключения к серверу.

Вот обсуждение этого: Может ли веб-браузер использовать MQTT?

0 голосов
/ 22 марта 2019

Посмотрите поближе на paho doc , есть вымысел для получения полезной нагрузки сообщения в виде двоичных данных с использованием поля message.payloadBytes.

payloadBytes |ArrayBuffer |только для чтения Полезная нагрузка в виде ArrayBuffer

Пример описан здесь:

https://www.hardill.me.uk/wordpress/2014/08/29/unpacking-binary-data-from-mqtt-in-javascript/

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...