LINUX-BG Адрес : http://www.linux-bg.org |
video4linux и как да си направим webcam server |
От: Камен Медарски Публикувана на: 7-10-2004 Адрес на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=365722797 |
Video4linux и как да си направим webcam server. Автор Камен Медарски fgets@abv.bg Тези дни ми се наложи да си поиграя с възможностите за видео изобразяване на linux. По-точно става въпрос за TV / capture устройство с използването на така нареченото video4linux (за напред тъй като ме мързи да пиша цялото име, ше ползвам абревиатурата v4l) под linux, е в крайна сметка хората са измислили подходящо име. В интерес на истината в момента се сещам за доста възможности за приложението, на този приятна за конфигуриране и използване опция в ядрото. Една от тези възможности ми се наложи да реализирам, това е да направя webcam server, или по-просто казано да гледам през браузъра си картината която се предава към тази кепчър карта от обикновена камера, и сега с удоволствие ще споделя с вас натрупания опит. Предполагам, че на всеки му се е приисквало да си види физиономията лепната на някоя web страница :), но е друго когато виждаш, че тя се движи. В началото, когато ми показаха картата с която щях да експериментирам, аз малко се усъмних в това, че ще може да покаже и един кадър, но както и да е. Интересно ще е да кажа какъв е хардуера и софтуера с които съм работил. Кепчър картата е DVD EZMaker Gold на AVerMedia (www.avermedia.com) Видео камерата е JMK wireless video and audio camera model WS-212AS Slackware current Kernel 2.6.8.1 (последният до този момент) Първоначалните ми знания за това как да подкарам тази непонятна за мен PCI карта, бяха съизмерими с /dev/null а най-лошото беше, че това се виждаше и на стандартния ми изход :> .Но по същество. След не много време и преглеждане на документацията в ядрото както и изхода на една много полезна програма, lspci ме окуражиха да продължа. От lspci забрах, че тази неизвестна карта ползва чип на Philips, това опредено освети малко тунела. /*изход на lspci root@pirat:~# lspci . . . 01:07.0 Multimedia controller: Philips Semiconductors SAA7130 Video Broadcast Decoder (rev 01) . */ От тук нататък всичко е много лесно: Първото нещо която трябва да направите е ... да си сипете една бира. Второто е да прекомпилирате кърнела си. Това предполагам, че много от вас го могат и затова няма да се впускам в подробности, само ще спомена че съм компилирал частта Видео за Линукс като модули. Тази част се намира в Device Drivers --> Multimedia devices -->Video For Linux. Избирате <М>Video For Linux Video For Linux --> <M> Philips SAA7134 support (това е визуализация при ядро 2.6 при по стари версии не съм много сигурен дали е така. Но по-важно е да се спомене, че при новите ядра версия 2.6 е включена поддръжка на v4l2) или ако ползвате конзолен режим за конфигуриране трябва да изберете да се компилират като модули CONFIG_VIDEO_DEV = <M> CONFIG_VIDEO_SAA1734 = <M> тези които желаят могат да ги включат в ядрото, предполагам, че няма да има проблем. Смятам, че с това обяснение бях достатъчно ясен, освен за хората които си нямат и на идея за какво говоря. На тях бих им препоръчал да се обърнат за помощ към linux-bg.org за по-подробни и добри статии на тема компилиране на кърнел. След като компилирате и стартирате новия кърнел, може да проверите дали все пак той работи. root@pirat:~# modprobe saa7134 root@pirat:~# lsmod Module Size Used by saa7134 99152 0 video_buf 21316 1 saa7134 v4l2_common 4928 1 saa7134 v4l1_compat 13764 1 saa7134 i2c_core 20688 1 saa7134 ir_common 4356 1 saa7134 videodev 7616 1 saa7134 root@pirat:~# Урааа това е едно наистина добро начало ... следва да си налеем още по една бира.( Не знам ако наистина продължавам така, дали ще мога да довърша тази статия :) ) Сега идва ред на "юзър спейс" програмите. Програмата която ви е необходима се нарича xawtv. Ако нямате инсталиран софтуера xawtv може да го свалите от следния адрес: http://dl.bytesex.org/releases/xawtv/ Не знам дали Слак има пакет xawtv (но мисля че няма), защото не ми остана време да проверя но това е без значение, защото софтуера се компилира без никакъв проблем. root@pirat:~#./configure root@pirat:~# make root@pirat:~# make install (За ползващите Debian мога да дам следния пример apt-get install xawtv и apt-get install webcam) В този пакет са включени доста програми за манипулация върху хардуера. Няма да се впускам в това как да използвате xawtv, защото това не е в целта на тази статия. Но които се интересува пакета има много подробни man страници. Програмата на която ще наблегна е webcam, тя е част от пакета xawtv. За да работи нормално програмата приема като параметър има на конфигурационен файл. Този файл може да го кръстите както искате и разположите където искате. За този пример аз съм избрал име /etc/webcam.conf, че е по-прегледно. root@pirat:~# cat /etc/webcam.conf [www] dir = /var/www/htdocs file = webcamoutput.jpg local = 1 [grab] device = /dev/video0 width = 352 height = 288 delay = 1 norm = pal quality = 100 root@pirat:~# Двете секции на този конфигурационен файл оказват къде да се записва изходния файл и съответно от къде да се чете. dir = /var/www/htdocs -- оказва, че изходния файл webcamoutput.jpg трябва да бъде записан в папка /var/www/htdocs file = webcamoutput.jpg -- изходен файл в jpg формат още един важен параметър е delay = 1 -- това е времето за опресняване на изходния файл в секунди. Последното което трябва да се направи, не е толкова несъществено. Това е да се запусне httpd, ако не знаете как -> linux-bg.org В папката със документите на сървъра създайте файл с име webcam.html като добавите следното съдържание към него. <html> <head> <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="refresh" CONTENT="3"> </head> <body> <center> <h2>My Web Cam</h2> <img src="webcamoutput.jpg"> </center> </body> </html> И сега с любимия си браузър може да проверите дали всичко работи правилно на адрес http://yourdomainname/webcam.html Сега вече имате работещ webcam server, надявам се все на някой да съм му бил полезен. За благодарности, поздравления, комплименти, чекове, обиди, поправки, добавки и всичко останало моля пишете ми на fgets at abv dot bg. Благодаря Ви за вниманието :> Камен Медарски 2004. << Ускорител на заявки за TLD BG | Как да настроим SQUID да оторизира потребителите от Microsof >> |
Авторите на сайта, както и техните сътрудници запазват авторските права върху собствените си материали публикувани тук,
но те са copyleft т.е. могат свободно да бъдат копирани и разпространявани с изискването изрично да се упоменава името на автора,
както и да се публикува на видно място, че те са взети от оригиналния им URL-адрес на този сървър (http://www.linux-bg.org). Авторските права на преводните материали принадлежат на техните автори. Ако с публикуването тук на някакъв материал неволно са нарушени нечии права - след констатирането на този факт материалът ще бъде свален.
All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
|