【问题标题】:How to stream screen share video via server?如何通过服务器流式传输屏幕共享视频?
【发布时间】:2015-10-31 04:12:44
【问题描述】:

我正在尝试通过服务器共享屏幕。我正在通过 webRTC 捕获屏幕内容并将其放入视频中。

<video id="live" width="1280" height="960" autoplay></video>

然后我在画布内绘制它,

<canvas width="1280" id="canvas" height="960" style="display:none" ></canvas>

javascript

var liveVideo = $("#live").get()[0];    
var canvas = $("#canvas");
var ctx = canvas.get()[0].getContext('2d');
ctx.drawImage(liveVideo, 0, 0, 1280,960);

在一段时间内,我通过 socket.io 将该画布的 base64 字符串发送到服务器,然后从服务器将它发送到所有连接的客户端。

问题是,这个过程很慢,我不能用 WebRTC 点对点来做,因为主机会与很多客户端共享屏幕。在这种情况下,我们计划建立一个大容量的流媒体服务器。我需要改进这一点,并且需要知道适当和更好的方法来做到这一点。

【问题讨论】:

    标签: real-time webrtc live-streaming screensharing


    【解决方案1】:

    使用 webRTC 将屏幕共享发送到服务器。然后,一旦您的客户端应用程序和服务器之间建立了 webRTC 通信,就将其多播/广播到其余客户端。为此,您将需要一个 MCU - 多点控制单元 -。

    Kurento 是服务器端最好的免费源代码替代品之一:

    从概念上讲,WebRTC 媒体服务器只是一种“多媒体中间件”(它位于通信对等方的中间),媒体流量在从源移动到目的地时通过它。媒体服务器能够处理媒体流并提供不同的类型,包括组通信(将一个对等方生成的媒体流分配给多个接收器,即充当多会议单元,MCU)、混合(将多个传入流转换为单个复合流) 、转码(在不兼容的客户端之间调整编解码器和格式)、录制(以持久的方式存储对等方之间交换的媒体)等。

    【讨论】:

      猜你喜欢
      • 2015-10-28
      • 1970-01-01
      • 1970-01-01
      • 2011-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      相关资源
      最近更新 更多