javascript - 使用 Spring Boot 构建短信和视频通话应用程序

标签 javascript java node.js angular spring-boot

我想使用 Spring Boot 创建一个应用程序,我可以在其中进行视频通话并在我的应用程序上注册的 2 个用户之间共享测试消息。我还想保存这些视频以供将来使用,如果有人想在将来看到这些视频,我应该拥有该视频。

我知道 node.js 也可以在 node.js 中使用 WebRTC 制作视频通话应用程序,但我仍然不确定是否可以将视频保存在 WebRTC 中?

我是 Java 开发人员,知道如何从头开始创建应用程序,但我在视频通话功能方面苦苦挣扎,有人可以帮忙吗?

感谢您的回复!

最佳答案

videochat 有 2 个依赖项。 *

  1. 媒体传输(浏览器端,需要javascript)
  2. 握手(信令,首选nodejs socket.io,PHP、java、.net均可)

为了握手, 您可以使用 socket.io、signalR、轮询等。 假设有 2 个用户,A 和 B A 必须知道 B 存在并且可用, 这种信息传输通常由 socket.io (nodejs) 处理,但您可以通过轮询来完成。 在 A 和 B 注意到彼此之后,A 调用 B。然后您开始使用浏览器 webrtc 支持连接对等方。 然而 2 个客户端之间有 3 种媒体连接方式。

  • 点对点
  • 单片机

点对点 只有客户端之间的信号足以进行媒体握手。客户端的浏览器可以在没有任何媒体服务器的情况下相互交谈。由于没有媒体服务器,流将由客户端自己的浏览器记录。你可以看看

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

Kurento、ant media、Wowza、frozen mountain等是Selective Forwarding Unit,当B请求观看该流时,A将流发布到服务器,然后B请求到服务器。如果 C 请求观看此流,则 C 将 A 和 B 流作为单播获得。所有流服务器都有不同的 API 和方法。对于 Kurento,您需要向现有管道添加新的 Recordenpoint。对于 Wowza,您需要将 webrtc 转码为 RTMP,然后录制流。对于ant media,可以自动启动录制过程。

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

单片机 A发布到服务器,B发布到服务器,C发布到服务器。 A 可以获取混合(A B C 的复合 View )流,并且只有 1 个流获取等等。

如您所见,webrtc 具有不同的功能。 Kurento 有用于通信的 nodejs 和 java SDK。但是,对于发布和播放流,您需要在客户端使用 Javascript(而不是 nodejs)。

这是一个使用 Wowza 和 ant media 的示例文本消息和视频 session 。

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

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

关于javascript - 使用 Spring Boot 构建短信和视频通话应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59175030/

相关文章:

javascript - 将现有的 JavaScript 对象字符串属性转换为字符串数组?

javascript - .on ('click' ) 功能在更新到 jQuery 3.3.1 后不工作

javascript - 使用 flot,我如何创建链接饼图将您带到其他网页?

node.js - Deno 1.1.1 静态 HTTP 服务器

javascript - 在fabric js中,如何从图像对象中获取原始图像源

java - 从 List<String[]> 中删除元素未按预期工作

java - 将内容放在透明操作栏上

java - 在上传的图像文件之上绘图

node.js - 是否可以获得特定一件之后的元素?

javascript - 使用 Node 和 AngularJS 验证用户身份的最佳方法是什么?