使用python opencv实时接收webRTC视频流

时间:2018-11-07 10:19:46

标签: javascript python python-3.x opencv webrtc

嗨,
我正在创建一个管道,需要在其中访问摄像机的数据并在其中执行一些opencv算法。我可以使用webRTC从源发送视频。 https://lostechies.com/derickbailey/2014/03/13/build-a-local-webcam-with-webrtc-in-less-than-20-lines/

但是,我需要帮助的是如何在python中接收视频流并进行处理。如何从webRTC流到python后端访问视频提要?

这是正在运行的javascript代码。

(function(){
  var mediaOptions = { audio: false, video: true };

  if (!navigator.getUserMedia) {
      navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
  }

  if (!navigator.getUserMedia){
    return alert('getUserMedia not supported in this browser.');
  }

  navigator.getUserMedia(mediaOptions, success, function(e) {
    console.log(e);
  });

  function success(stream){
    var video = document.querySelector("#player");
    video.src = window.URL.createObjectURL(stream);
  }
})();

在使用python从此Java脚本接收视频时,我需要帮助。

2 个答案:

答案 0 :(得分:2)

我是aiortc的作者。您是否已经查看了server示例,因为它说明了如何使用OpenCV处理视频?

https://github.com/jlaine/aiortc/tree/master/examples/server

答案 1 :(得分:1)

https://webrtchacks.com/webrtc-cv-tensorflow/显示了有关WebRTC + tensorflow的相当深入的教程。您可能可以轻松地将tensorflow换成opencv。这会从网络摄像头捕获一个帧,并偶尔使用HTTP发送一次。如果您想获得更多实时性,则必须在服务器上使用WebRTC,例如使用https://github.com/jlaine/aiortc