Трансляция изображения с веб-камеры быстро и просто

()

Некоторое время назад мы рассматривали способ организации трансляции изображения с веб-камеры с помощью инструмента ffserver. Однако если снимаемая картинка не очень динамичная, то удобнее и экономнее (в плане трафика) не транслировать видео-поток, а слайд-шоу из последовательных изображений. Далее будет показано как можно легко и быстро организовать такую трансляцию.

Так же как и в предыдушей статье мы используем дистрибутив Ubuntu и web-камеру Skypemate WC-103M. Для снятия снимков с камеры мы будем использовать утилиту uvccapture. Установим её:

apt-get install uvccapture

Затем создадим рабочий каталог для нашей системы:

mkdir -p /var/www/webcam

Затем создадим скрипт /var/www/webcam/update_img.sh:

#!/bin/sh

cd `dirname $0`

/usr/bin/uvccapture -d/dev/video0 -m -x640 -y480 -owebcam.jpg 2> /dev/null

Теперь нужно добавить в файл /etc/crontab строчку:

* * * * * root /var/www/webcam/update_img.sh

Теперь каждую минуту будет создавать новый снимок с камеры и сохраняться в файле /var/www/webcam/webcam.jpg. За более подробным описанием опций утилиты uvccapture рекомендуем обратиться к документации.

Далее создадим HTML-страничку /var/www/webcam/index.html:

<HTML>
<HEAD>
<TITLE>Image from webcam</TITLE>
</HEAD>
<BODY>
<IMG src="webcam.jpg" id="img-from-webcam" width="640" height="480">
<SCRIPT type="text/javascript">
<!--
var intervalID = window.setInterval(function() {
    var img_url = 'webcam.jpg?rand='+Math.random();
    document.getElementById('img-from-webcam').src = img_url;
}, 60000);
//-->
</SCRIPT>
</BODY>
</HTML>

javascript на страничке будет каждую минуту перечитывать картинку. Для доступа к страничке нужно поднять http-сервер. В самом простом случае подойдёт наш любимый thttpd. Установим его:

apt-get install thttpd

Приведём файл /etc/thttpd/thttpd.conf к виду:

port=80
dir=/var/www/webcam
chroot
user=www-data
cgipat=/cgi-bin/*
throttles=/etc/thttpd/throttle.conf
logfile=/var/log/thttpd.log
charset=utf-8

Перезапустим веб-сервер:

invoke-rc.d thttpd restart

Теперь можно открыть в браузере адрес «http://<ваш_сервер>/» и начать смотреть трансляцию с нашей веб-камеры. На этом всё. Приятной работы!

Ключевые слова: web-камера, webcam, трансляция, uvccapture, thttpd.

Комментарии:

Новый комментарий



© 2006-2016 Вадим Калинников aka MooSE