在webRTC中录制视频通话,并将其上传到服务器以进行监控

时间:2018-07-16 13:09:17

标签: javascript backgroundworker mediarecorder

我已经构建了一个webRTC视频通话应用程序,完全使用JS非常简单。

现在,呼叫是在我们的高管和客户之间进行的,出于监控目的,我们需要在两端记录流。
有什么办法可以使我获得大部分视频:我想到了两个解决方案(使用MediaRecorder来查找工作...)

  1. 每3-4秒将记录的流更新到服务器以将其附加到某个临时文件。在服务器上,我检查一个小时是否过去了,仍然没有新博客,将其上传到永久服务器。
    问题,我正在使用Amazon S3作为存储服务器,该服务器不允许附加文件,因此我必须将其存储在本地,我必须运行cronjob,而且系统仍然很复杂,我也有管理,网络掉线。
    即使一切正常,仍有1-2秒的镜头丢失的可能性。

  2. 将文件保存在localStorage中,并在下次更新时打开我的页面之一,或通过一些后台作业。
    问题:标签关闭后,我将无法依靠任何后台作业。甚至ServiceWorker的范围也非常有限。而且他们无法访问AJAX或LocalStorage (据我所知,)

任何具有任何前景的新解决方案均应受到赞赏。我可以无声地做任何事情都是可以接受的。如果您对我现有的方法有任何意见,那么它也可以正常工作。

谢谢。

2 个答案:

答案 0 :(得分:0)

对于解决方案1,请考虑将blob上传到s3中的其他文件。在会话结束时,将文件合并到新文件中以进行永久存储,然后删除临时文件。

答案 1 :(得分:0)

使用WebSocket静默上传blob,然后与FFMPEG合并