【问题标题】:Receive webRTC video stream using python OpenCV in real-time使用python OpenCV实时接收webRTC视频流
【发布时间】:2019-04-10 18:22:05
【问题描述】:

嗨,
我正在创建一个管道,我需要在其中访问来自相机的数据并在其中执行一些 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 从这个 Javascript 接收视频。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 我尝试在 Ubuntu 14.04 中安装 aiortc 但无法安装。将它安装在 ubuntu 16.04 中并且适用于我的用例。非常感谢!!!
    • 这是处理来自自己设备的视频的一个很好的例子。但是,如何让外来设备将视频发送到此服务器?
    • @jeremy 不支持 Windows 是否正确?
    • 没有什么可以阻止您在 Windows 上使用 aiortc,但它涉及编译 ffmpeg / libvpx / libopus 所以它可能很乏味
    • @JohnAndrews 你能处理来自外国设备的视频吗?
    【解决方案2】:

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

    【讨论】:

    • 我实时需要它。我已经通过了这个 aiortc 但文档中的接收部分并不清楚。你试过了吗?
    • 这仅使用媒体捕获 API,但它没有在任何地方使用 RTCPeerConnection。
    猜你喜欢
    • 2020-07-13
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多