Javascript 从浏览器到Amazon Kinesis视频的流式视频

Javascript 从浏览器到Amazon Kinesis视频的流式视频,javascript,amazon-web-services,streaming,webrtc,amazon-kinesis,Javascript,Amazon Web Services,Streaming,Webrtc,Amazon Kinesis,我正在开发一个web应用程序,它从网络摄像头捕获视频并将视频流保存到Amazon Kinesis。 我提出的第一种方法是getUserMedia/mediaRecorder/XMLHttpRequest,它将块MKV发布到我的unix服务器(而不是AWS),简单的PHP后端通过putMedia将流量代理到Kinesis 这应该是可行的,但来自用户的所有媒体流都将通过我的服务器,这可能会成为一个瓶颈。据我所知,由于跨源问题,不可能直接从浏览器将分块的mkv发布到Amazon。如果我错了,请纠正我,

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

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

另一件我觉得我缺少的东西是WebRTC。XHR感觉有点像2019年流媒体的遗产。但如果我想让它工作,我需要一个由三个服务器组成的堆栈:webrtc服务器来建立连接,webrtc->rtsp代理,以及Kinesis gstreamer插件,它获取rtsp流并将其推送到Kinesis。它看起来有点过于复杂,媒体流量仍然通过我的服务器运行。或者有更好的方法

我需要一个关于如何为我的应用程序构建更好架构的建议。我觉得最好的解决方案是直接与一些amazon服务进行webrtc连接,该服务将流代理给kinesis。可能吗


谢谢

我也是出于普通教育/研究的目的来研究这个问题的。最接近的例子出现在AWS博客上。 这是我的。从README.md

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