14:42
Linux - instalacja kamery internetowej
Kamery internetowe (ang. webcam) stają się coraz bardziej popularne wśród użytkowników komputerów. Za ich pomocą możemy zobaczyć na żywo przyjaciół znajdujących się nawet na innej półkuli. Instalacja kamery internetowej w systemie Linux też nie stanowi wielkiego problemu. Najważniejszy jest odpowiedni sterownik. Przedstawię tutaj instalację kamery na podstawie sterownika Gspca.
Przygotowanie jądra
Zanim zaczniemy odbierać obraz z naszej kamery należy odpowiednio przygotować jądro.
Od wersji 2.6.27 obsługę sterownika Gspca włączono bezpośrednio do jądra, dzięki czemu nie musimy pobierać dodatkowych modułów do kompilacji. Jeżeli jeszcze posiadamy jądro starsze niż wersja 2.6.27 najlepiej je zaktualizować, w przeciwnym wypadku konieczna będzie kompilacja dodatkowego modułu (patrz: starsze jądra).
cd /usr/src/linux make menuconfig
Wszystkie konieczne do wprowadzenia modyfikacje znajdziemy w 'Device Drivers -> Multimedia Devices'. W pierwszej kolejności zaznaczamy 'Video For Linux'. Następnie przejdźmy do 'Video capture adapters', gdzie na samym dole znajdziemy 'V4L USB devices'. Następnie w nim zaznaczamy jako moduł 'GSPCA based webcams'.

Konfiguracja jądra Linuksa
Teraz musimy wybrać odpowiedni sterownik. W tym celu podłączmy naszą kamerę i w konsoli wyświetlmy podłączone urządzenia USB – lsusb wywołujemy z konta roota. Przykładowy wpis wygląda następująco:
Bus 005 Device 003: ID 046d:08aa Logitech, Inc.
Ważne dla nas są te liczby koło nazwy urządzenia. Listę obsługiwanego sprzętu przez sterownik Gspca znajdziemy na stronie http://mxhaard.free.fr/spca5xx.html. Najlepiej wyszukać nasze urządzenie na podstawie ID zwróconego przez polecenie lsusb. Nazwę sterownika znajdziemy w kolumnie 'Bridge'.
Wróćmy teraz do konfiguracji jądra. Wchodzimy do 'GSPCA based webcams' i wyszukujemy potrzebny nam sterownik i oznaczamy jako moduł. W gruncie rzeczy możemy zaznaczyć wszystkie, ale czy to nam jest potrzebne?

Gspca - wybór sterownika
Następnie kompilujemy jądro, instalujemy moduły, zastępujemy starszą wersje i restartujemy komputer:
make && make modules_install cp arch/XXXX/boot/bzImage /boot/vmlinuz
Starsze jądra
W przypadku starszych wersji jądra niż 2.6.27 w konfiguracji jądra zaznaczamy tylko 'Video For Linux' – tak jak na pierwszym screenie. Następnie kompilujemy jądro, zastępujemy je i restartujemy komputer.
Po załadowaniu nowego jądra możemy przystąpić do instalacji sterownika Gspca. Sterownik można pobrać tutaj: http://mxhaard.free.fr/download.html. Jeżeli używamy jądra starszego niż 2.6.11 to pobieramy sterownik o nazwie spca5xx-v4l1. Najprawdopodobniej jednak jądro jest w miarę aktualne, więc wybieramy plik o nazwie gspcav1.
Po rozpakowaniu wydajemy polecenia:
make make install
Ścieżka do plików źródłowych wykorzystywanego jądra powinna zostać automatycznie znaleziona. Jeżeli nie, należy się upewnić, czy jądro znajduje się w folderze /usr/src, oraz czy posiadamy źródła na pewno do bieżącej wersji jądra.
Test kamery
Jeżeli podczas kompilacji nie wystąpiły żadne trudności, to powinniśmy już mieć w systemie działające sterowniki dla naszej kamerki w postaci modułów. Do sprawdzenia, czy działa wszystko prawidłowo możemy użyć mplayera skompilowanego z opcja vl1/vl2. Następnie w konsoli wpisujemy:
mplayer tv:// -tv driver=v4l:width=640:height=480:device=/dev/video0
W efekcie tego polecenia otrzymamy okienko z aktualnym obrazem z naszej kamery internetowej.

Obraz z kamery internetowej
Problem z obrazem
W niektórych przypadkach – szczególnie w tych serownikach dostarczonych z jądrem mogą się pojawić problemy z kodowaniem obrazu otrzymywanego z kamery.

Problem - błędnie wyświetlany obraz
Rozwiązać ten problem może kompilacja biblioteki libv4l. W tym celu pobieramy np. wersje libv4l-0.5.9.tar.gz:
wget http://people.atrpms.net/~hdegoede/libv4l-0.5.9.tar.gz tar xvf libv4l-0.5.9.tar.gz cd libv4l-0.5.9 make make PREFIX=/usr install
Teraz przed uruchomieniem aplikacji używającej kamery internetowej będziemy musieli podać ścieżkę do tej biblioteki:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so mplayer tv:// -tv driver=v4l:width=640:height=480:device=/dev/video0
Jeżeli nie chcemy ciągle dodawać zmiennej LD_PRELOAD, możemy dopisać linijkę np. na koniec pliku /etc/profile
export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so
Wykorzystanie kamery
Wykorzystanie kamery internetowej w Linuksie nie jest jeszcze tak powszechne jak wśród użytkowników Windowsa. Głównym problemem jest ciągle mała ilość aplikacji umożliwiających jej wykorzystanie, a w szczególności brak komunikatorów internetowych działających pod kontrolą tego systemu udostępniających taką możliwość. Najpopularniejszym jest Skype od wersji 2.0. Innym jest aMSN (http://amsn-project.net/) działający w sieci MSN.

Skype pozwala emitować obraz z kamery internetowej
Wpisy na blogu 
Komentarze
19:20
08:44
11:39