繁体   English   中英

广播实时网络摄像头流

[英]Broadcast a live webcam stream

我想录制我的网络摄像头,并向其他客户直播直播。

我可以轻松地在同一页面的视频标签中显示网络摄像头,如下所示:

function initialize() {
  video = $("#v")[0];
  width = video.width;
  height = video.height;

  var canvas = $("#c")[0];
  context = canvas.getContext("2d");

  nav.getUserMedia({video: true}, startStream, function () {});
}

function startStream(stream) {
  video.src = URL.createObjectURL(stream);
  video.play();

  requestAnimationFrame(draw);
}

function draw() {
  var frame = readFrame();

  if (frame) {
    replaceGreen(frame.data);
    context.putImageData(frame, 0, 0);
  }

  requestAnimationFrame(draw);
}

function readFrame() {
  try {
    context.drawImage(video, 0, 0, width, height);
  } catch (e) {
    return null;
  }

  return context.getImageData(0, 0, width, height);
}

但是,如何将流发送到服务器,进行一些图像处理,然后广播到其他客户端呢?

nodejs是最好的方法吗? 你有一些推荐的书/书吗?

当前有一些工作草案,但是我认为当前在浏览器中播放实况视频的最佳方法是使用Flash ActionScript。 当然,客户端仍然需要安装插件才能在浏览器中运行该应用程序。 请注意,在这种情况下,您不能使用Apache Web服务器广播实时视频。 您将需要诸如Red5(免费),Wowza或Adobe Media Server之类的媒体服务器。

另外,看看是否可以在这里找到帮助:

'WebRTC(RTC代表实时通信)是一种技术,可在浏览器客户端(对等)之间进行音频/视频流和数据共享。 作为一组标准,WebRTC使任何浏览器都能够共享应用程序数据并执行点对点电话会议,而无需安装插件或第三方软件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM