2016-01-24 54 views
5

我有一个用例并不完全需要实时通信,但尽可能接近我的用户,以确保我的用户在事实之后不必永远等待上传文件。我们的网站允许用户录制我们随后存储在我们服务器上的视频和音频。我可以使用某种本地存储作为临近RTC的getUserMedia临时存放位置吗?

因为闪存,我使用Kurento媒体服务器从Flash移动到WebRTC实现。这对于高质量的互联网连接来说工作得非常好,但对于连接不好的用户而言则相对缺乏。

我在想我是否可以在提供服务器之前实现一点缓冲区,这样我就可以弥补理想的连接性下降。我明白这不是WebRTC的意思,因为这导致了我是否应该考虑另一种解决方案?

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

回答

4

面对低带宽,缓冲区不会改变WebRTC的实时特性。以视频为例,WebRTC可能会降低帧速率或分辨率以保持速度,但没有人提出降低交付时间(降低实时性)。然而,你的是一个有趣的用例。您可以使用MediaRecorder。它可以让你在本地进行记录,然后通过websockets或数据通道将数据作为斑点发送到服务器。

下面是在Chrome(它仅视频不幸)和Firefox工作的小提琴:

https://jsfiddle.net/tmwLxjLy

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

+1

谢谢Jib,这是一个非常棒的回应!我将调查MediaRecorder。谢谢你的小提琴。 – Ron

+0

有没有什么原因可以在检测到有损网络时控制此帧速率? –