Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 流媒体网络摄像头不';使用opencvjs、socketio的快速生成器时不工作_Node.js_Sockets_Express Generator - Fatal编程技术网

Node.js 流媒体网络摄像头不';使用opencvjs、socketio的快速生成器时不工作

Node.js 流媒体网络摄像头不';使用opencvjs、socketio的快速生成器时不工作,node.js,sockets,express-generator,Node.js,Sockets,Express Generator,我的网络摄像头工作正常,所以当我没有使用express generator应用程序时,我可以看到自己的脸。然而,在我安装了express generator并编写了相同的代码之后,我看不到自己的脸。我认为脚本在'index.ejs'中不起作用 1。bin/www 附加 2。app.js 附加 3。index.js 附加 4。index.ejs 附加 <!DOCTYPE html> <html lang="en"> <he

我的网络摄像头工作正常,所以当我没有使用express generator应用程序时,我可以看到自己的脸。然而,在我安装了express generator并编写了相同的代码之后,我看不到自己的脸。我认为脚本在'index.ejs'中不起作用

1。bin/www 附加

2。app.js 附加

3。index.js 附加

4。index.ejs

附加

    <!DOCTYPE html>
    <html lang="en">
     <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
     </head>
     <body>
       hello somin
       <img id="image" style="width: 300; height: 300" />
       <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.0.1/socket.io.js">. 
       </script>
       <script>
          const socket = io.connection("/");
          socket.on("image", (image) => {
        
            const imageElm = document.getElementById("image");
            imageElm.src = `data:image/jpeg;base64,${image}`;
          });
       </script>
     </body>
    </html>

文件
你好,索明
. 
常量套接字=io.connection(“/”);
socket.on(“图像”,(图像)=>{
const imageElm=document.getElementById(“图像”);
imageElm.src=`data:image/jpeg;base64,${image}`;
});
我可以在app.js socket.io连接中看到console.log消息,但我认为index.ejs io.connection()不起作用。我无法理解代码与我没有使用express generator时的代码相同

   app.io = require("socket.io")();

   app.io.on("connection", function (socket) {
     console.log("a user connected");
     socket.broadcast.emit("hi");

     socket.on("disconnect", function () {
      console.log("user disconnected");
     });
   });
    const cv = require("opencv4nodejs");
    var express = require("express");
    const server = require("http").Server(app);
    const io = require("socket.io")(server);
    const FPS = 30;
    const wCap = new cv.VideoCapture(0);
    wCap.set(cv.CAP_PROP_FRAME_WIDTH, 300); 
    wCap.set(cv.CAP_PROP_FRAME_HEIGHT, 300);
    setInterval(() => {
      const frame = wCap.read();
      const image = cv.imencode(".jpg", frame).toString("base64");
      io.emit("image", image);
      }, 1000 / FPS);

    <!DOCTYPE html>
    <html lang="en">
     <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
     </head>
     <body>
       hello somin
       <img id="image" style="width: 300; height: 300" />
       <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.0.1/socket.io.js">. 
       </script>
       <script>
          const socket = io.connection("/");
          socket.on("image", (image) => {
        
            const imageElm = document.getElementById("image");
            imageElm.src = `data:image/jpeg;base64,${image}`;
          });
       </script>
     </body>
    </html>