簡體   English   中英

使用 Spring Boot 構建短信和視頻通話應用程序

[英]Building Text message and Video Calling Application using Spring boot

我想使用 Spring Boot 創建一個應用程序,在其中我可以在我的應用程序上注冊的 2 個用戶之間進行視頻通話和共享測試消息。 我還想保存這些視頻以備將來使用,就像將來有人想看這些視頻一樣,我應該擁有該視頻。

我知道 node.js 也可以在 node.js 中使用 WebRTC 制作視頻通話應用程序,但我仍然不確定是否可以將這些視頻保存在 WebRTC 中?

我是 Java 開發人員,知道如何從頭開始創建應用程序,但我在視頻通話功能方面苦苦掙扎,有人可以幫忙嗎?

謝謝你的回復!

視頻聊天有 2 個依賴項。 *

  1. 媒體傳輸(瀏覽器端,需要 javascript)
  2. 握手(信令,首選nodejs socket.io,可以使用PHP、java、.net)

對於握手,您可以使用 socket.io、signalR、polling 等。假設有 2 個用戶,A 和 BA 必須知道 B 存在且可用,這種信息傳輸通常由 socket.io(nodejs)處理,但您可以做到與投票。 在 A & B 相互通知后,A 調用 B。然后您開始連接具有瀏覽器 webrtc 支持的對等點。 但是,2 個客戶端之間有 3 種媒體連接方式。

  • 點對點
  • 斯福
  • 微控制器

客戶端之間的Peer To Peer Only 信號足以進行媒體握手。 客戶端的瀏覽器可以在沒有任何媒體服務器的情況下相互交談。 由於沒有媒體服務器,流將由客戶端自己的瀏覽器記錄。 你可以看看

https://github.com/muaz-khan/RecordRTC

Sfu Kurento、螞蟻傳媒、Wowza、冰山等都是Selective Forwarding Unit,A在B請求觀看這個流的時候發布流到服務器,然后B向服務器請求。 如果 C 要求觀看此流,則 C 以單播形式獲取 A 和 B 流。 所有流服務器都有不同的 API 和方法。 對於 Kurento,您需要向現有管道添加新的 Recordenpoint。 對於 Wowza,您需要將 webrtc 轉碼為 RTMP,然后錄制流。 對於螞蟻媒體,可以自動啟動錄制過程。

https://doc-kurento.readthedocs.io/en/6.11.0/tutorials/js/tutorial-recorder.html

Mcu A 發布到服務器,B 發布到服務器,C 發布到服務器。 A 可以獲得混合(ABC 的復合視圖)流,並且只能獲得 1 個流等。

如您所見,webrtc 具有不同的功能。 Kurento 具有用於通信的 nodejs 和 java SDK。 但是,對於發布和播放流媒體,您需要在客戶端使用 Javascript(而不是 nodejs)。

這是使用 Wowza 和 ant 媒體的示例文本消息和視頻會議。

https://github.com/Lethea/wowza-webrtc-group-call-and-chat

https://github.com/Lethea/ant-server-webrtc-chat-room

暫無
暫無

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

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