||'''Sisällysluettelo'''<
><>|| = Logitech QuickCam Pro 9000 = Logitech Quickcam Pro 9000 on hyvällä optiikalla sekä mikrofonilla varustettu web-kamera. Pro 9000 web-kamera käyttää modulia, jonka nimi on "uvcvideo". Modulin kotisivu: http://linux-uvc.berlios.de/ == GUVCViewer == GUVCViewer on erinomainen ohjelma, jolla voi tallentaa webkameran kuvaa ja ääntä. http://forum.ubuntu-fi.org/index.php?topic=16998.msg125757 == Moduli on valmiina Ubuntu 7.10:ssä == {{{asmok@ubuntu:~$ locate uvcvideo /lib/modules/2.6.22-14-generic/ubuntu/media/usbvideo/uvcvideo.ko /lib/modules/2.6.22-14-rt/ubuntu/media/usbvideo/uvcvideo.ko asmok@ubuntu:~$ }}} Modulin voi myös rakentaa itse viimeisimmästä lähdekoodista. Lähdekoodi haetaan svn-ohjelmalla. Modulin rakentamiseen tarvitaan kunkin Linux-ytimen header-tiedostot sekä joukko ohjelmoimiseen tarvittavia ohjelmia. Itse Linux-ydintä ei tarvitse kuitenkaan rakentaa kokonaan uusiksi, vain moduli - jos siihen on tarvetta - se on valmiina Ubuntu 7.10:ssä. {{{svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk }}} Ubuntu 7.10 tunnistaa kameran automaattisesti ja lataa modulin valmiiksi. {{{asmok@ubuntu:~$ lsusb | grep Logitech Bus 003 Device 004: ID 046d:0990 Logitech, Inc. asmok@ubuntu:~$ }}} {{{asmok@ubuntu:~$ lsmod | grep video video 18060 0 uvcvideo 53636 0 video_buf 26244 1 saa7146_vv compat_ioctl32 2304 1 uvcvideo videodev 29568 2 uvcvideo,saa7146_vv v4l1_compat 15364 3 uvcvideo,saa7146_vv,videodev v4l2_common 18560 3 uvcvideo,saa7146_vv,videodev usbcore 139912 9 snd_usb_audio,snd_usb_lib,uvcvideo,xpad,hci_usb,usbhid,ehci_hcd,uhci_hcd asmok@ubuntu:~$ }}} == Ohjelmia uvcvideo-modulin käyttämiseksi == Uvcvideo-modulin avuksi on ohjelmoitu pieni joukko tehokkaita ohjelmia. === uvcview-20071108 === Uvcview on Gnome-ohjelma, sen kotisivu on täällä: http://www.nurs.or.jp/~ogochan/hack/uvcview.html === luvcview-20070512 === Toinen samantapainen ohjelma on luvcview. Tällä ohjelmalla on mahdollista tallentaa videota avi-muodossa. Ohjelman linkki, uusin versio: http://mxhaard.free.fr/spca50x/Investigation/uvc/luvcview-20070512.tar.gz === Uvc-streamer === Kolmas on komentoriviltä toimiva striimausohjelma, lähetettävää videota voi seurata samassa lähiverkossa VLC-ohjelmalla. Ohjelman kotisivu: http://naaa.de/uvc_streamer.htm Ohjelman käynnistys. {{{asmok@ubuntu:~/bin/mjpg-streamer/uvc-streamer$ ./uvc_stream Using V4L2 device.....: /dev/video0 Resolution............: 640 x 480 frames per second.....: 5 TCP port..............: 8080 motor control TCP port: 8081 }}} Striimatun videon katselu vlc-ohjelmalla. {{{asmok@ubuntu:~/bin/mjpg-streamer/uvc-streamer$ vlc http://localhost:8080/ VLC media player 0.8.6c Janus }}} === Mjpg-streamer === Kun uvc-streamer lähettää kuvavirran sellaisenaan lähiverkkoon, niin mjpg-streamer-ohjelmalla kuvavirran saa upotettua www-sivulle. Ohjelmaan sisältyy pieni http-palvelin tai palvelu (output_http.so), joten kokonaisen LAMP-palvelimen asennus on turhaa, kun haluaa lähettää kuvavirtaa omalta työasemalta lähiverkkoon. Ohjelman kotisivu: http://naaa.de/uvc_streamer.htm {{{asmok@ubuntu:~/bin/mjpg-streamer/mjpg-streamer$ ./mjpg_streamer -o "output_http.so -w ./www" MJPG Streamer Version.: 2.0 i: Using V4L2 device.: /dev/video0 i: Desired Resolution: 640 x 480 i: Frames Per Second.: 5 i: Format............: MJPEG o: www-folder-path...: ./www/ o: HTTP TCP port.....: 8080 o: username:password.: disabled }}} === Mjpg-streamer ja Cambozola-java-applet === Mjpg-streamer sisältää Cambozola-java-appletin, jolla kameraa voi jonkin verran ohjata. Kamerassahan ei ole kääntyvää mekanismia, mutta suurennos ja pienennys onnistuu. === MPlayer === MPlayer toimii komentoriviltä käynnistettynä seuraavalla tavalla. '''mplayer -tv driver=v4l2:width=640:height=480:device=/dev/video0:fps=30:outfmt=yuy2 tv://''' {{{asmok@ubuntu:~$ mplayer -tv driver=v4l2:width=640:height=480:device=/dev/video0:fps=30:outfmt=yuy2 tv:// MPlayer 1.0rc2-4.1.3 (C) 2000-2007 MPlayer Team CPU: Intel(R) Core(TM)2 CPU 6400 @ 2.13GHz (Family: 6, Model: 15, Stepping: 2) CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled with runtime CPU detection. mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing tv://. TV file format detected. Selected driver: v4l2 name: Video 4 Linux 2 input author: Martin Olschewski comment: first try, more to come ;-) v4l2: ioctl get standard failed: Invalid argument Selected device: UVC Camera (046d:0990) Capabilites: video capture streaming supported norms: inputs: 0 = Camera 1; Current input: 0 Current format: YUYV tv.c: norm_from_string(pal): Bogus norm parameter, setting default. v4l2: ioctl enum norm failed: Invalid argument Error: Cannot set norm! Selected input hasn't got a tuner! v4l2: ioctl set mute failed: Invalid argument v4l2: ioctl query control failed: Invalid argument xscreensaver_disable: Could not find XScreenSaver window. GNOME screensaver disabled ========================================================================== Opening video decoder: [raw] RAW Uncompressed Video VDec: vo config request - 640 x 480 (preferred colorspace: Packed YUY2) VDec: using Packed YUY2 as output csp (no 0) Movie-Aspect is undefined - no prescaling applied. VO: [xv] 640x480 => 640x480 Packed YUY2 Selected video codec: [rawyuy2] vfm: raw (RAW YUY2) ========================================================================== Audio: no sound Starting playback... }}} === Ffmpeg-kaappaus === Ffmpeg osaa kaapata kuvavirtaa tällaisella komennolla. '''ffmpeg -f video4linux2 -s 640x480 -r 15 -i /dev/video0 -f m4v out.m4v''' {{{asmok@ubuntu:~$ ffmpeg -f video4linux2 -s 640x480 -r 15 -i /dev/video0 -f m4v out.m4v FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al. configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-libmp3lame --enable-libfaadbin --enable-libfaad --enable-libfaac --enable-xvid --enable-x264 --enable-amr_nb --enable-amr_wb --enable-shared --prefix=/usr libavutil version: 1d.49.3.0 libavcodec version: 1d.51.38.0 libavformat version: 1d.51.10.0 built on Nov 17 2007 21:23:57, gcc: 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2) [video4linux2 @ 0xb7fa3610][3]Capabilities: 4000001 Input #0, video4linux2, from '/dev/video0': Duration: N/A, bitrate: 73728 kb/s Stream #0.0: Video: rawvideo, yuyv422, 640x480, 73728 kb/s, 15.00 fps(r) Output #0, m4v, to 'out.m4v': Stream #0.0: Video: mpeg4, yuv420p, 640x480, q=2-31, 200 kb/s, 15.00 fps(c) Stream mapping: Stream #0.0 -> #0.0 Press [q] to stop encoding frame= 96 q=22.2 Lsize= 423kB time=6.4 bitrate= 541.6kbits/s video:31kB audio:0kB global headers:0kB muxing overhead 1246.043680% asmok@ubuntu:~$ }}} Kaapattu kuvavirta m4v-muodossa. Tiedoston katselu onnistuu parhaiten MPlayer-ohjelmalla. {{{asmok@ubuntu:~$ file out.m4v out.m4v: MPEG sequence, v4, video, simple @ L1 asmok@ubuntu:~$ }}} === VLC === ==== Kuvan tulostaminen web-sivulle flash aplletilla ==== Tarvitset vain vlcn ja x264 codekin Käynnistetään vlc {{{cvlc v4l2:///dev/video0 --sout '#transcode{vcodec=x264{keyint=60,idrint=2},vcodec=h264,vb=200,ab=32,fps=25,width=400,height=226,acodec=mp3,samplerate=44100}:duplicate{dst=std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=:8082/stream.flv}'}}} Jos herjaa jotain (et ole asettanut itsellesi oikeuksia käyttää laitetta) niin fast fix {{{sudo chmod 777 /dev/video0}}} 1. Luodaan stram kansio www kansion alle {{{sudo mkdir /var/www/stream}}} 2. Asetetaan käyttäjäoikeudet {{{sudo chmod 777 /var/www/stream}}} 3. Siirry streams kansioon ja lataa tarvittavat palikat {{{cd /var/www/stream}}} {{{wget http://releases.flowplayer.org/flowplayer/flowplayer-3.2.8.zip}}} {{{unzip *.zip}}} 4. Luodaan html tiedosto streamausta varten {{{sudo nano /var/www/stream/index.html}}} Liitä tämä: {{{ Webcam Stream

-=WEBCAM=-

lol

}}} avaa selain ja kokeile http://oman.palvelimen.ip.osoite/stream/ == Usb-mikrofoni == Web-kameran mikrofonia voi käyttää sellaisenaan yksinkertaisena äänittävän äänikorttina vaikkapa podcastien tekemiseen. Ensin tarkistetaan äänikorttien osoitteet. Tässä koneessa on emolevyn oma äänipiiri kytketty pois käytöstä, siksi se ei ole käytössä. Sen korvaa SB Live! -äänikortti. {{{asmok@ubuntu:~$ cat /proc/asound/cards 0 [Live ]: EMU10K1 - SBLive! Value [CT4832] SBLive! Value [CT4832] (rev.6, serial:0x80271102) at 0x1000, irq 23 1 [U0x46d0x990 ]: USB-Audio - USB Device 0x46d:0x990 USB Device 0x46d:0x990 at usb-0000:00:1a.7-3.2, high speed asmok@ubuntu:~$ }}} === Alsa - Arecord === Äänitys tapahtuu komentoriviltä seuraavalla komennolla. Äänitys katkaistaan brutaalisti Ctrl+C -komennolla. '''arecord -D plughw:1,0 -c 1 -f cd -v testi.wav'''