Z aplikacją eksperymentuję z użyciem Pi do strumieniowania z kamery internetowej i wykrywania ruchu motion
. Próbując kilku różnych kamer internetowych i kombinacji z innym sprzętem, znalazłem jedną kombinację, która jest idealnie stabilna (patrz poniżej). Jednak pracuję tylko z rozdzielczością 352 x 288. Chciałbym wykorzystać więcej rozdzielczości niż kamera internetowa 720p. Próbowałem 640x480, 640x360 i 1280x720, ale nie działają ( motion
nie można zainicjować aparatu). Pi ma 256 MB pamięci, co powinno wystarczyć do obsługi wysokich rozdzielczości. Na przykład motion
wylicza użycie pamięci na poziomie 1,8 MB dla rozdzielczości 1280x720.
Wszelkie wskazówki, jak włączyć wyższą rozdzielczość?
Stabilny:
- Kamera internetowa Logitech C310h USB 2.0 HD, kamera UVC (046d: 081b)
- 352x288, paleta YUYV
- zasilany ładowarką do iPada
- kamera internetowa podłączona do dolnego portu USB
- nic nie jest podłączone do górnego portu USB
- połączenie z siecią przewodową
- Uruchamianie Motion 3.2.12.
- System operacyjny: 2012-09-18-wheezy-raspbian.img
- zmień tylko na motion.conf: Ustawienie rozdzielczości na 352 x 288
Edycja: Od tego czasu odkryłem, że konfiguracja, której obecnie używam z MJPG-streamerem, nie jest całkowicie stabilna, więc jest szansa, że opisana powyżej konfiguracja nie jest całkowicie stabilna, ale po prostu bardziej stabilna, ponieważ używa niższej rozdzielczości.
Edycja 2 (21.04.13): Od pewnego czasu wiadomo, że USB nie jest stabilny na Raspberry Pi, powodując problemy z wieloma kamerami internetowymi i kluczami Wi-Fi. Fundacja aktywnie nad tym pracuje, a ostatnio poczyniono znaczne postępy. Dostępna jest aktualizacja za pośrednictwem aktualizacji rpi, która rozwiązuje wiele problemów. Zobacz wątek USB Redux na forum Raspberry Pi .
źródło
Limit rozdzielczości zniknął, kiedy przestawiłem się z
motion
naMJPG-streamer
.MJPG-streamer
przesyła strumieniowo 1280x720 przy 5 FPS. Przy 3 komputerach podłączonych do strumienia zużycie procesora wynosi tylko około 10%. WadąMJPG-streamer
jest to, że nie ma detekcji ruchu.Jednak to rozwiązanie nie jest całkowicie stabilne. Muszę ponownie uruchamiać RPi co kilka dni.
źródło
Na początek użyłem aplikacji ruchu Logitech C270. Nie przesyłam strumieniowo kanału przez sieć, po prostu zrzucam obrazy na dysk (maksymalna rozdzielczość to 1280x960).
MJPEG nie działa dla mnie, więc utknąłem z YUVU.
Uważam, że znalezienie właściwej rozdzielczości, na której utknąłem z czasem 352 x 288, jest bardzo trudne, dopóki nie odkryłem, że mogę również użyć rozdzielczości 960 x 720. Przy takiej rozdzielczości mam około 2 kl./s. (utrzymuje niskie zapotrzebowanie na pamięć ;-)).
v4l2-ctl --list-formats-ext
: powinien dać ci wyobrażenie o formatach, których możesz używać.Plik ruchu wykorzystuje maksymalną rozdzielczość, maskę i wykonuje migawki co sekundę. Motiondect opiera się na wykrywaniu podczas robienia zdjęć.
Najpierw stworzyłem czarny pgm, aby całkowicie wyłączyć wykrywanie ruchu i robić zdjęcia tylko co sekundę.
https://dl.dropbox.com/u/19023009/motion.zip
Do uruchomienia ruchu używam
nohup sudo motion > logfile.txt &
źródło