Mengaktifkan pengambilan resolusi tinggi dari kamera web

15

Saya bereksperimen dengan menggunakan Pi untuk streaming web cam dan deteksi gerakan, dengan motionaplikasi. Mencoba beberapa kamera web dan kombinasi yang berbeda dengan perangkat keras lain, saya telah menemukan satu kombinasi yang sangat stabil (lihat di bawah). Namun, saya hanya membuatnya bekerja dengan resolusi 352x288. Saya ingin menggunakan lebih banyak resolusi yang dimiliki oleh web cam 720p. Saya sudah mencoba 640x480, 640x360 dan 1280x720, tetapi tidak berfungsi ( motiontidak dapat menginisialisasi kamera). Pi memiliki memori 256MB, yang seharusnya cukup untuk mendukung resolusi tinggi. Misalnya, motiondaftar penggunaan memori pada 1.8MB untuk resolusi 1280x720.

Adakah tips tentang cara mengaktifkan resolusi yang lebih tinggi?

Stabil:

  • Logitech C310h USB 2.0 HD Webcam, Kamera UVC (046d: 081b)
  • 352x288, palet YUYV
  • didukung oleh pengisi daya iPad
  • web cam terhubung ke port USB yang lebih rendah
  • tidak ada yang terhubung ke port USB bagian atas
  • jaringan kabel tersambung
  • menjalankan Motion 3.2.12.
  • OS: 2012-09-18-wheezy-raspbian.img
  • hanya ubah ke motion.conf: Mengatur resolusi ke 352x288

Sunting: Saya sejak itu menemukan bahwa pengaturan yang saya gunakan dengan MJPG-streamer tidak sepenuhnya stabil, jadi ada kemungkinan bahwa pengaturan yang dijelaskan di atas tidak sepenuhnya stabil tetapi hanya lebih stabil karena menggunakan resolusi yang lebih rendah.

Sunting 2 (4/21/13): Sudah lama diketahui bahwa USB tidak stabil pada Raspberry Pi, menyebabkan masalah dengan banyak kamera web dan dongle wifi. Yayasan ini secara aktif mengerjakan hal ini, dan kemajuan yang baik telah dicapai belakangan ini. Ada pembaruan yang tersedia melalui rpi-pembaruan yang memperbaiki banyak masalah. Lihat utas Redux USB di forum Raspberry Pi .

Roger Dahl
sumber

Jawaban:

4

Sudahkah Anda mencoba menghubungkan webcam ke hub USB yang aktif? Beberapa perangkat membutuhkan lebih banyak arus daripada Raspberry Pi dapat menyediakan, dan dapat berperilaku tidak menentu ketika terhubung ke port USB built-in.

tonymac
sumber
Terima kasih balasannya. Saya tidak memiliki hub bertenaga untuk menguji, tetapi tampaknya tidak mungkin bagi saya bahwa masalah listrik akan membuatnya benar-benar stabil pada resolusi rendah dan tidak bekerja sama sekali pada resolusi tinggi.
Roger Dahl
4

Batas resolusi hilang ketika saya beralih dari motionke MJPG-streamer. MJPG-streamerstream 1280x720 pada 5FPS. Dengan 3 komputer yang terhubung ke stream, penggunaan CPU hanya sekitar 10%. Kerugiannya MJPG-streameradalah tidak memiliki deteksi gerakan.

Namun, solusi ini tidak sepenuhnya stabil. Saya harus me-reboot RPi setiap beberapa hari.

Roger Dahl
sumber
3

Untuk mulai dengan, saya menggunakan c270 logitech, aplikasi gerak. Saya tidak mengalirkan umpan melalui jaringan, saya hanya membuang gambar ke disk (resolusi maksimal 1280x960).

MJPEG tidak bekerja untuk saya, jadi saya terjebak dengan YUVU.

Saya percaya sangat sulit untuk menemukan resolusi yang tepat. Saya terjebak dengan 352x288 selama beberapa waktu sampai saya menemukan bahwa saya juga dapat menggunakan resolusi 960 x 720. Dengan resolusi semacam ini saya dapatkan sekitar 2 fps. (menjaga agar penyimpanan tetap rendah ;-)).

v4l2-ctl --list-formats-ext : seharusnya memberi Anda gagasan tentang format yang dapat Anda gunakan.

File gerak menggunakan resolusi maksimal, topeng, dan mengambil foto setiap detik, yang hanya mengandalkan deteksi untuk mengambil gambar.

Saya membuat pgm hitam untuk yang pertama untuk menonaktifkan deteksi gerakan sepenuhnya dan hanya mengambil gambar setiap detik.

https://dl.dropbox.com/u/19023009/motion.zip

Untuk menjalankan gerakan saya gunakan nohup sudo motion > logfile.txt &

miketerminator
sumber