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

ike*_*8me 3 html javascript video live-video

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

<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>
Run Code Online (Sandbox Code Playgroud)

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

我该如何编码?

谢谢!

Mic*_*ick 5

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

视频流服务器可以是开源的或商业的,并且非常安静,专门具有最大化设备覆盖范围和处理不同网络条件和设备屏幕尺寸/分辨率的机制。自己重建这种类型的功能并非易事。

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

在此处输入图片说明

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

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

更新

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