Я делаю небольшой класс в javascript для использования веб-камеры для приложения электрона и цилиндра. Им нужно использовать камеру, как цифровую камеру, например, в видеопотоке, нажать кнопку и сохранить это изображение.Сделайте снимок с помощью веб-камеры в html5
class Camera {
constructor() {
this.video = document.createElement('video');
}
getStream() {
return new Promise(function (resolve, reject) {
navigator.webkitGetUserMedia({ video: true }, resolve, reject);
});
}
streamTo(stream, element) {
var video = this.video;
return new Promise(function (resolve, reject) {
element.appendChild(video);
video.src = window.URL.createObjectURL(stream);
video.onloadedmetadata = function (e) {
video.play();
resolve(video);
}
});
}
}
Это позволит мне создать поток и добавить поток к странице в качестве видеоэлемента. Однако, мой вопрос: как я могу получить одну картинку из этого потока? Например, на какой-то щелчок на кнопке сохраните текущий кадр.
$('button[data-action="take-picture"]').on('click', function (ev) {
// the clicked button has a "source" referencing the video.
var video = $(ev.target).data('source');
// lost here. Want to catch current "state" of the video.
// take that still image and put it in the "target" div to preview.
$(ev.target).data('target').append(/** my image here */);
});
Как сохранить изображение из видеопотока в javascript на мероприятии?
https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Taking_still_photos (слишком долго, чтобы положить в ответ). – putvande
потрясающий! Не уверен, почему я не смог найти этот файл в google, тоже из mozilla – corvid
Но помните, что это будет работать только в нескольких браузерах. Некоторые не поддерживают эту функцию. Я просто Googled "html5 веб-камера api снимет" – putvande