nodejs webcam
Для получения изображения с веб-камеры в Node.js вам понадобится использовать библиотеку, позволяющую взаимодействовать с веб-камерой и захватывать изображения. Одним из популярных вариантов для этой цели является библиотека "node-webcam".
Вот пример использования библиотеки "node-webcam" для получения изображения с веб-камеры:
const NodeWebcam = require( "node-webcam" ); // Настройки для захвата изображения с веб-камеры const opts = { width: 1280, height: 720, quality: 100, delay: 0, saveShots: true, output: "jpeg", device: false, callbackReturn: "location", verbose: false }; // Создание экземпляра веб-камеры const Webcam = NodeWebcam.create( opts ); // Захват изображения с веб-камеры Webcam.capture( "test_picture", (err, data) => { if (err) { console.error(err); } else { console.log("Изображение успешно захвачено:", data); } });
Конечно, вот пример простого скрипта сервера на Node.js, который использует Express.js для создания сервера и позволяет получить изображение с веб-камеры:
const express = require('express'); const app = express(); const path = require('path'); // Устанавливаем папку для статических файлов app.use(express.static('public')); // Маршрут для загрузки страницы с видеопотоком с веб-камеры app.get('/', (req, res) => { res.sendFile(path.join(__dirname, 'index.html')); }); // Запуск сервера на порте 3000 app.listen(3000, () => { console.log('Сервер запущен на порте 3000'); });
Создайте файл index.html
в папке public
с содержимым для отображения видеопотока с веб-камеры и кнопки для захвата изображения.
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Захват изображения с веб-камеры</title> </head> <body> <h1>Веб-камера</h1> <video id="webcam-video" autoplay></video> <button id="capture-button">Захватить изображение</button> <canvas id="captured-image"></canvas> <script src="main.js"></script> </body> </html>
Создайте файл main.js
для обработки захвата изображения с веб-камеры.
// Получаем доступ к видеопотоку с веб-камеры navigator.mediaDevices.getUserMedia({ video: true }) .then(stream => { const video = document.getElementById('webcam-video'); video.srcObject = stream; }) .catch(error => { console.error('Ошибка при получении доступа к веб-камере:', error); }); // Захват изображения с веб-камеры const captureButton = document.getElementById('capture-button'); captureButton.addEventListener('click', () => { const video = document.getElementById('webcam-video'); const canvas = document.getElementById('captured-image'); canvas.width = video.videoWidth; canvas.height = video.videoHeight; canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height); });
Этот пример создает простой сервер на Node.js с использованием Express.js, который позволяет получить изображение с веб-камеры.