Тепер статті може редагувати кожен. Приєднуйтесь до нашої вікі-спільноти!

Camera

Матеріал з USIC Wiki
Перейти до: навігація, пошук
Зверніть увагу Увага: ця стаття містить застарілу інформацію і не відповідає поточному стану справ. Будь-ласка, виправте її.
Тукс

Ця стаття описує програмне забезпечення Інтернет-центру.

На сайті Центру можна подивитися на зображенням із веб-камери Logitech QuickCam Messenger, що розташована в одному з кутків у приміщенні центру [1].

Зміст

[ред.] Як це працює

Камера приєднана до USB порта медіа-сервера. При завантаженні скрипта camera.php ( на веб-сервері ) він приєднується до медіа-сервера і отримує з нього миттєвий знімок.

[ред.] Camera.php

Сам скрит є досить примітивним:

<?php
header("Content-Type: image/jpeg");
system("nc camera.usic.lan 6666 ");
?>

Тобто клієнту повертається JPEG файл. Програма nc (netcat) під'єднується до TCP порта медіа-сервера, який у відповідь передає файл і одразу закриває з'єднання. Сам файл netcat друкує в STDOUT

[ред.] Медіа сервер

На стороні камери скрипт також простий. Це Perl-програма, яка слухає деякий ( зараз 6666-й ) TCP порт, і при підключенні до нього в відповідь робить знімок. Наразі це робиться так:

MPLAYER_VERBOSE=-5 mplayer -msglevel all=-1 -vo jpeg:outdir=/home/camera/ \ 
-frames 1 tv:// -tv driver=v4l2:device=/dev/video:width=640:height=480
(Додавши до udev правило
SUBSYSTEM=="video4linux", KERNEL=="video[0-9]", SYMLINK+="video"
, якщо камера одна)

Зображення буде зберігатися в файл 00000001.jpg, але для того, щоб воно одразу ж йшло в STDOUT, можна зробити маленьку хитрість:

ln -s /proc/self/fd/1 /home/camera/00000001.jpg

Демон працює з-під користувача nobody, в init-скрипті ( /etc/conf.d/local.start) запускається так:

su --shell /bin/bash -c '/home/camera/camshot.pl &' nobody

Код скрипта доступний в SVN репозиторії за адресою http://svn.usic.org.ua/svnroot/scripts/camera

[ред.] Ядро

Драйвер для камери включений в ядро ( використовується 2.6.34-gentoo-r1 ). Конфігурується так:

Device Drivers 
   <M> Multimedia support -->
      <M>   Video For Linux
      [*]   Video capture adapters -->
            [*] V4L USB devices -->
                <M> GSPCA based webcams  --->
                    <M>   ZC3XX USB Camera Driver

[ред.] Посилання

Особисті інструменти
Простори назв
Варіанти
Дії
Навігація
Інструменти