如何从 HTML 和 JavaScript 发布实时视频流?

How to publish a live video stream from HTML and JavaScript?

我有这段代码,它接受相机的输入并在网络浏览器中显示它window(仅当从网络服务器提供服务时才有效,而不是直接通过打开文件):

<html>
<body>

<video id="video" width="640" height="480" autoplay="true"></video>

<script>
    var video = document.getElementById('video');
    if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
        navigator.mediaDevices.getUserMedia({video: true}).then(function (stream) {
            video.src = window.URL.createObjectURL(stream);
            video.play();
        });
    }
</script>

</body>
</html>

我想将视频直播到 URL(例如:“/publish/?password=”,如 https://github.com/vbence/stream-m)

我该如何编码?

谢谢!

最佳实践方法,尤其是当您希望有多个客户端观看视频时,将流式传输到视频流服务器,然后让视频流服务器将其流式传输到各个客户端。

视频流服务器是开源的或商业的,并且非常专注于最大化设备覆盖范围和处理不同网络条件和设备屏幕的机制size/resolutions。自己重建此类功能并非易事。

以下是使用 Wowza 商业流媒体服务器的方法示例(我与他们没有隶属关系):

更多信息在这里(上图的拍摄地):https://www.wowza.com/products/capabilities/webrtc-streaming-software

支持类似方法的流式服务器源示例是 GStreamer:

更新

有关使用 Janus 服务器的信息的一些链接。这支持来自 WebRTC 客户端的连接并包括一个流媒体插件: