簡體   English   中英

MQTT 可以將音頻直接流式傳輸到 Web 客戶端嗎?

[英]Can MQTT stream audio directly to a web client?

我能夠設置一個 Arduino 將音頻從麥克風流式傳輸到托管 MQTT 服務器的 linux 服務器。 然后我有一個訂閱 MQTT 服務器的 golang 腳本,將有效負載作為二進制文件保存到磁盤,並使用 FFMPEG 將二進制文件轉換為 .WAV 文件。

是否可以讓 Web 瀏覽器僅使用客戶端代碼訂閱同一個 MQTT 服務器,從 Arduino 接收音頻有效負載,並將音頻近實時地流式傳輸到人類聽眾的計算機揚聲器? 我看到了一個Paho Javascript 客戶端庫,它可以幫助我連接到 MQTT,但它似乎以字符串的形式接收有效負載,這對我如何流式傳輸音頻內容並不明顯。 因此,為什么我要問它是否實用/可行?

或者我是否需要構建另一個服務器端腳本來將 MQTT 數據作為 Web 客戶端的音頻數據流式傳輸?

仔細查看 pahodoc ,有一種使用message.payloadBytes字段將消息有效負載作為二進制數據獲取的小說。

有效載荷字節 | 數組緩沖區 | 只讀 有效負載作為 ArrayBuffer

此處描述了一個示例:

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

但基本上,您最終會得到一個 ArrayBuffer 保存二進制數據,然后您可以將其轉換為類型化數組並以您需要的任何偏移量讀回值。

為確保它適用於所有環境,請確保您使用 MQTT over WebSocket 連接到服務器。

以下是對此的討論: Web 瀏覽器可以使用 MQTT 嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM