USB Web Kamerasını Kullanmak

Sıradan USB web kameralarını (web cam) uzaktan izleme ve kayıt amaçlı kullanabilirsiniz. Farklı markalar tarafında üretilmiş çok sayıda USB web kamerası vardır. Raspberry Pi bu kameraların büyük çoğunluğu ile kullanılabilir. Eğer yeni bir web kamerası satın alacaksanız elinux.org[1] sayfasından Raspberry Pi’ın sorunsuz bir şekilde çalışabileceği kamera marka/modellerini kontrol edebilirsiniz. Eğer hâlihazırda elinizde bir USB webcam varsa Raspberry Pi tarafından desteklenip desteklenmediğini kolayca öğrenebilirsiniz. Webcam’i Raspberry Pi’ın USB girişlerinden birisine bağlayın ve terminal ortamında lsusb komutunu çalıştırın:

Yukarıdaki komut çıktısında, Raspberry Pi’a Z-Star Microelectronics Corp. Marka bir USB aygıtın bağlı ve olduğu tespit edilmiş. Kameranın Raspberry Pi tarafından bir görüntü yakalama aygıtı olarak tanınıp tanınmadığını sınamak için ilgili aygıt dosyasının yaratılıp yaratılmadığını aşağıdaki gibi kontrol edebilirsiniz:

Kamerayı sınamak için bir grafik masaüstü uygulaması olan luvcview programını aşağıdaki gibi yükleyip çalıştırabilirsiniz.

luvcview programını çalıştırmadan önce varsayılan görüntü çıkış aygıtı olarak HDMI’a bağlı monitör seçilmiştir. Eğer terminal ortamını grafik masaüstü üzerinden çalıştırdıysanız DISPLAY=:0 komutunu vermenize gerek yoktur. Luvcview programı varsayılan olarak /dev/vide0 görüntü yakalama cihazına bağlanacak ve grafik masaüstünde bir ön izleme penceresi açacaktır. Ön izlemeyi sonlandırmak için Ctrl+C tuş bileşimine basınız. Eğer,  görüntü alabiliyorsanız webcam’iniz Raspberry Pi tarafından sorunsuzca kullanılabilir demektir.

USB Web Kameralarının Güç Tüketimine Dikkat Edin

USB web kamerası çalışması için ihtiyaç duyduğu gücü diğer USB aygıtları gibi (fare, klavye, flash bellek vb.) USB port’larından çekecektir. Eğer yüksek güç ihtiyacı olan bir kamera kullanacaksanız veya çok sayıda kamerayı Raspberry Pi’a bağlayacaksanız, harici güç beslemesi olan bir USB hub’ı kullanmanızı tavsiye ederim. Aksi takdirde kamera ihtiyacı olan akımı USB port’undan sağlayamayacağından düzgün çalışmayacaktır.

USB web kamerasının teknik özelliklerini öğrenmek

uvcdynctrl adlı araç USB webcam’lerin destekledikleri çözünürlük ve saniyedeki kare sayısını (fps) öğrenmek için kullanılabilir. Aracı aşağıdaki gibi yükledikten sonra çalıştırabilirsiniz:

Yukarıdaki ekran çıktısında /dev/video0 olarak bağlanmış webcam’in görüntü kodlama biçimi (YUYV), çeşitli çözünürlüklerde desteklediği fps (frame per second) değerleri ve her resim karesi (frame) arasındaki bekleme süreleri listelenmiştir. YUYV sıkıştırmayı desteklemeyen bir görüntü biçimidir.

USB web kamerası ile resim kaydetmek

USB web kamerası ile komut satırını kullanarak resim karesi kaydetmek için (png ve jpg) fswebcam adlı aracı kullanabilirsiniz. fswebcam Linux ve Unix türevleri için ufak ve basit bir web kamera uygulamasıdır. Birçok görüntü kaynağından görüntü yakalayıp üzerinde basit değişiklikler yapabilir. Aracı yüklemek için aşağıdaki komutları kullanın:

fswebcam varsayılan olarak /dev/video0 kaynağından yakaladığı görüntüyü jpg biçiminde bulunduğu dizine kaydeder. –d seçeneği ile görüntü kaynağı değiştirilebilir.

eğer fswebcam aracını uzak bir terminalden çalıştırıyorsanız varsayılan grafik görüntü çıkış aygıtını HDMI olarak ayarlamak için aşağıdaki komutu çalıştırın:

fswebcam çektiği resimlerin alt tarafına varsayılan olarak tarih bilgisinin yer aldığı bir başlık ekler. Bu başlığın eklenmemesini istiyorsanız –no-banner seçeneğini kullanabilirsiniz. Dilerseniz de bu başlığın görsel özelliklerini yeniden tanımlayabilirsiniz. Bunlar dışında fswebcam resmin belli bir yerini kırpabilir (–crop), kayıt çözünürlüğünü değiştirebilir veya resmi çevirebilir. fswebcam’in sessiz olarak çalışmasını isterseniz –q (quiet), arka planda çalışması için de –b (backgrount) seçeneklerinden yararlanabilirsiniz.

USB web kamerası ile timelapse görüntüler kaydetmek

Önceki başlıkta değinilen fswebcam uygulaması ile web kamerasını kullanarak time-lapse görüntüler kaydedebilirsiniz. Bunun için cron servisi biçilmiş kaftandır. Bunun için nano editörünü kullanarak aşağıdaki gib bir kabuk script’i oluşturun:

nano editörü ile script’i ev dizinine webcamlapse.sh ismiyle kaydettikten sonra çalıştırma izni verin ve webcam adında bir dizin oluşturun:

Daha sonra oluşturduğunuz betiğin 1 dakika aralıklarla çalıştırılması için cron tablosuna aşağıdaki girdiyi ekleyin:

Bu girdi ile /dev/video0 aygıtından her dakika başında bir resim karesi yakalanacak ve webcam dizinine o anki tarih ve saat bilgisinden oluşan dosya adıyla kaydedilecektir. Bu dosya adlarını hızlandırılmış video’ya çevirmeden önce sıraya sokmak gerekir bunun için aşağıdaki komutu çalıştırıp dosya adlarını sıralı olarak yeniden adlandırabilirsiniz:

Dosya adlarını sıraladıktan sonra avconv aracı ile aşağıdaki gibi time lapse video’yu oluşturabilirsiniz:

Birden fazla USB webcam’i kullanmak

luvcview ile grafik masaüstünü kolayca bir izleme merkezine dönüştürebilirsiniz. Aşağıdaki gibi birden fazla webcam’in bağlı olduğu durumlarda luvcview’e fazladan seçenekler geçmeniz gerekir. Bu seçeneklerden ilki hangi görüntü yakalama donanımının (webcam’in) kullanılacağını belirten -d (device) seçeneğidir. Bu seçeneğe /dev/video2 şeklinde aygıt dosyasının tam yolu belirtilir. Kamera çözünürlüğünü ayarlamak için ise -s (resolution) seçeneğinden faydalanabilirsiniz.


[1] Desteklenen kameraların güncel listesi – https://elinux.org/RPi_USB_Webcams

Yazar: Özgür Koca

Yazar - Tankado.com

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.