将视频从浏览器流式传输到Amazon Kinesis Video

时间:2019-03-28 08:55:31

标签: javascript amazon-web-services streaming webrtc amazon-kinesis

我正在开发一个Web应用程序,该应用程序从网络摄像头捕获视频并将流保存到Amazon Kinesis。 我想到的第一种方法是getUserMedia / mediaRecorder / XMLHttpRequest,它将分块的MKV发布到我的unix服务器(不是AWS),简单的PHP后端代理通过putMedia将其传输到Kinesis。

这应该可以,但是来自用户的所有媒体流都将通过我的服务器,这可能会成为瓶颈。据我所知,由于跨域问题,不可能将分块的mkv直接从浏览器发布到Amazon。如果我错了或者对此有解决方案,请纠正我。

我觉得我想念的另一件事-WebRTC。 XHR有点像2019年流媒体的遗产。但是,如果我想让它正常工作,我将需要一堆三台服务器:用于建立连接的webrtc服务器,webrtc-> rtsp代理和Kinesis gstreamer插件,后者可获取rtsp流并将其推送到Kinesis。看起来有点复杂,并且媒体流量仍然通过我的服务器运行。还是有更好的方法?

我需要有关如何为我的应用程序制作更好的体系结构的建议。我觉得最好的解决方案是将Webrtc与某些亚马逊服务直接连接,将其代理到运动学。有可能吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我也在出于普通教育/研究目的而对此进行研究。最接近的示例出现在AWS博客上。 这是github repo。从README.md

  

如果源是一系列缓冲的网络摄像头帧,则浏览器客户端会将帧数据发布到API网关-Lambda代理端点,从而触发lambda / WebApi / frame-converter函数。此功能使用FFmpeg从图像帧序列中构造出一个短MKV片段。有关如何执行此API请求的详细信息,请参见特定于功能的文档。