Захват видео с камеры с помощью JavaScript и HTML5

Метод который мы будем использовать для доступа к камере:

 

navigator.getUserMedianavigator.mediaDevices.getUserMedia

 

Браузеры на данный момент поддерживают метод getUserMedia только через https протокол. Это значит, что вам нужно будет SSL сертификат для этого API.

 

Клиентские API очень быстро распространяются между десктопными и мобильными устройствами. Конечно же, мобильные API получили доступ к камере первыми, но сейчас эти методы медленно мигрируют на десктопы также.

захват видео с камеры javascript + html

 

Демо приложения

 

Давайте посмотрим, как просто можно получить захват фото и видео с веб камеры при помощи нескольких строк HTML и JS кода.

 

HTML

 

В идеале, нам не нужно создавать разметку для видео захвата, до тех пор, пока пользователь не подтвердил возможность использовать камеру. Однако, для примера, мы создали уже готовую разметку (которую вам нужно будет доработать и вынести ее создание на JS сторону).

 

<video id="video" width="640" height="480" autoplay></video>
<button id="snap">Snap Photo</button>
<canvas id="canvas" width="640" height="480"></canvas>

 

Обратите внимание, что мы поставили разрешение в 640 на 480 пикселей. Хотя вы можете задать свои параметры.

 

JavaScript

 

Наша разметка уже готова, приступим к JS. Как видите он выглядит намного короче, нежели вам казалось.

 

// Grab elements, create settings, etc.
var video = document.getElementById('video');

// Get access to the camera!
if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
    // Not adding `{ audio: true }` since we only want video now
    navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
        video.src = window.URL.createObjectURL(stream);
        video.play();
    });
}

/* Префиксы вендоров: getUserMedia, дабы наш захват видео работал во всех браузерах
else if(navigator.getUserMedia) { // Standard
    navigator.getUserMedia({ video: true }, function(stream) {
        video.src = stream;
        video.play();
    }, errBack);
} else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
    navigator.webkitGetUserMedia({ video: true }, function(stream){
        video.src = window.webkitURL.createObjectURL(stream);
        video.play();
    }, errBack);
} else if(navigator.mozGetUserMedia) { // Mozilla-prefixed
    navigator.mozGetUserMedia({ video: true }, function(stream){
        video.src = window.URL.createObjectURL(stream);
        video.play();
    }, errBack);
}
*/

 

Сначала убеждаемся что браузером поддерживается метод navigator.mediaDevices.getUserMedia.

Затем, мы присвоим элементу видео аттрибут src со значением потокового видео клиентской камеры. Вызов метода play, позовлит воспроизвести видео непосредственно в элементе.

 

Вот и все что нужно, дабы соединить камеру с клиентским браузером!

 

Захват фото изображения только кажется тяжелым. Просто создайте событие клика, и нарисуйте canvas картинку из видео.

 

// Элементы для создания скриншота, точнее фото

var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var video = document.getElementById('video');

// Триггер для захвата фото

document.getElementById("snap").addEventListener("click", function() {
        context.drawImage(video, 0, 0, 640, 480);
});

 

Конечно же, вы можете добавить фильтра и сделать фото более привлекательным, но мы оставим это для отдельной темы. Конечно же вы можете конвертировать canvas в изображение.

 

Теперь вы можете писать удивительные штуки. Видео чаты, аналоги скайп и вабер прямо в браузере. Это замечательно!

 

Что же, веселитесь! Задавайте вопросы ниже! Не бойтесь высказать свое мнение по видео захвату изображения... мы ждем ваших замечаний.


Источник материала ...

Дальше: Для чего современному веб маркетологу нужны аккаунты соцсетей?


Дискуссия по теме     0 Комментариев
Добавить комментарий
Просмотров: 1438
Страхование КАСКО
карта банка
ндфл
усн
Оформление доверенности
страхование ипотеки
esim
осаго
ВЗР страхование
кредитная карта
Cialis barato Viagra Contrareembolso Cialis 5 mg precio mejores farmacias para comprar Viagra reacciones adversas de Cialis Reduslim cómo tomar soluciones para la impotencia Sildenafil Comprare Cialis 5 mg Giornaliero online in Italia Effetti indesiderati del Cialis 5 mg Acquista Cialis 20mg Cialis originale in vendita In Svizzera si compra il Viagra senza ricetta Cialis 10mg online Acquista Viagra in farmacia Offerta Cialis 5mg Spedra Avanafil in vendita online Acquista Viagra in Svizzera senza prescrizione авиатор спрайб Consegna a domicilio di Cialis 5 mg Effetti collaterali di Cialis 5 mg Consegna a domicilio di Cialis 20mg Acquista Cialis originale generico in Svizzera Consegna a domicilio di Viagra senza ricetta in Svizzera Compra Cialis 10mg Consegna a domicilio di Viagra in farmacia online Sconto Cialis 5mg Comprar Reduslim por internet Comprare Spedra Avanafil senza ricetta online Dove comprare il Viagra in Svizzera Compra Cialis Comprar online Viagra Contrareembolso Dónde encontrar Cialis 5 mg al mejor precio Viagra sin receta Cialis 5 mg efectos secundarios graves Reduslim comprar en línea Disfuncion Erectil tadalafilo avanafil prezzo cialis 20 mg prezzo cialis effetti benefici cialis 10 mg Reduslim Kaufen pulse x coin price