5

我有一个并不完全需要实时通信的用例,但尽可能接近它以确保我的用户不必在事后永远等待上传文件。我们的网站允许用户录制视频和音频,然后我们将其存储在我们的服务器上。

我从 flash(因为 flash)迁移到带有 Kurento 媒体服务器的 WebRTC 实现。这对于高质量的互联网连接非常有效,但对于连接性较差的用户来说相对缺乏。

我在想是否可以在为服务器提供数据之前实现一些缓冲区,以便弥补理想的连接性下降。我知道这不是 WebRTC 的本意,这导致了我是否应该研究另一种解决方案的问题?

欢迎和赞赏任何和所有建议!谢谢!

4

1 回答 1

5

面对低带宽,缓冲区不会改变 WebRTC 的实时特性。以视频为例,WebRTC 可能会降低帧速率或分辨率以跟上,但没有人提议降低交付时间(降低实时性)。但是,您的用例是一个有趣的用例。

你可以使用MediaRecorder. 它可以让您在本地记录,然后使用 websocket 或数据通道将数据作为 blob 发送到服务器。

这是一个适用于 Chrome 的小提琴(不幸的是,它只播放视频)和 Firefox:

https://jsfiddle.net/tmwLxjLy

它显示简单的录制,然后在 5 秒后播放视频。我将把它作为一个练习来修改它以导致连续 5 秒的延迟。

于 2016-01-25T16:18:38.397 回答