Node.js 如何使用nodejs和HTML将实时网络摄像头提要输出到浏览器

Node.js 如何使用nodejs和HTML将实时网络摄像头提要输出到浏览器,node.js,Node.js,当我运行node start.js并在localhost:3000上看到输出时,我看到的是网络摄像头窗口。但我希望网络摄像头窗口应显示为浏览器页面,而不是网络摄像头窗口 start.js 下面是充当服务器的js // import express JS module into app // and creates its variable. var express = require('express'); var app = express(); // Creates a server wh

当我运行node start.js并在localhost:3000上看到输出时,我看到的是网络摄像头窗口。但我希望网络摄像头窗口应显示为浏览器页面,而不是网络摄像头窗口

start.js 下面是充当服务器的js

// import express JS module into app
// and creates its variable.
var express = require('express');
var app = express();

// Creates a server which runs on port 3000 and 
// can be accessed through localhost:3000
app.listen(3000, function() {
    console.log('server running on port 3000');
} )

// Function callName() is executed whenever 
// url is of the form localhost:3000/name
app.get('/name', callName);

function callName(req, res) {

    // Use child_process.spawn method from 
    // child_process module and assign it
    // to variable spawn
    var spawn = require("child_process").spawn;

    // Parameters passed in spawn -
    // 1. type_of_script
    // 2. list containing Path of the script
    //    and arguments for the script 

    var process = spawn('python',["/home/saswat/Desktop/Fabric demo/FR+Nodejs/camera.py"] );

    // Takes stdout data from script which executed
    // with arguments and send this data to res object
    process.stdout.on('data', function(data) {
        res.send(data.toString());
    } )
}
下面是启用网络摄像头的python代码

camera.py

import cv2

def show_webcam(mirror=False):
    cam = cv2.VideoCapture(0)
    while True:
        ret_val, img = cam.read()
        if mirror: 
            img = cv2.flip(img, 1)
        cv2.imshow('my webcam', img)
        if cv2.waitKey(1) == 27: 
            break  # esc to quit
    cv2.destroyAllWindows()


def main():
    show_webcam(mirror=True)


if __name__ == '__main__':
    main()