Sas*_*ank 5 javascript python django webrtc django-channels
我正在尝试创建一个用 django 编写的人脸检测 Web 应用程序。该应用程序以这种方式工作。
我知道我不能使用 opencv VideoCapture 因为它只能在服务器端工作。当我在网上阅读时,人们要求我使用 javascript,特别是 webRTC 在客户端开始直播。所以我找到了这个教程,它解释了如何使用 javascript 在客户端机器上启动网络摄像头。
现在我的问题是如何将客户端机器上的 javascript 的每一帧发送到服务器端的 opencv python?
所有这一切都应该实时发生。所以我无法保存实时视频,然后在保存的视频上运行 python 代码。
一些站点要求我使用 AJAX 将数据发送到服务器端,但我不确定如何定位要在 javascript 代码中发送的每个帧。
到目前为止,这是我的代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta content="stuff, to, help, search, engines, not" name="keywords">
<meta content="What this page is about." name="description">
<meta content="Display Webcam Stream" name="title">
<title>Display Webcam Stream</title>
<style>
#container {
margin: 0px auto;
width: 500px;
height: 375px;
border: 10px #333 solid;
}
#videoElement {
width: 500px;
height: 375px;
background-color: #666;
}
</style>
</head>
<body>
<div id="container">
<video autoplay="true" id="videoElement">
</video>
</div>
<script>
var video = document.querySelector("#videoElement");
if (navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({
video: true
})
.then(function(stream) {
video.srcObject = stream;
// myJson = JSON.stringify(stream)
})
.catch(function(err0r) {
console.log("Something went wrong!");
});
}
console.log(video)
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在这段代码中,我如何从网络摄像头访问每一帧。我试图打印videowith的内容,console.log但这没有帮助。
def index(request):
return render(request, 'cwrtc/index.html', {})
Run Code Online (Sandbox Code Playgroud)
我正在使用 django 通道,因为我想,要从客户端发送和接收数据,我可能必须使用 Web 套接字。我使用 python 是因为我计划向应用程序添加更多功能,这些功能比任何其他语言都更容易使用 python 进行编码。
是否可以将视频流从 javascript 发送到 python?
提前致谢
是的,您可以将视频从 javascript 发送到服务器上的 python,但是,您不能使用 Ajax 或 Web 套接字发送帧。
您可以这样做。
如果您需要更多帮助,请告诉我。
| 归档时间: |
|
| 查看次数: |
9666 次 |
| 最近记录: |