Posty

Canon EOS 70D jako kamerka pod Linuksem

Tags: ["tech"]

Chciałem użyć lustrzanki (w moim przypadku Canon EOS 70D) jako kamerki internetowej. Jednak po podłączeniu do laptopa miałem dostęp tylko do zawartości karty pamięci. Nie było możliwości robienia zdjęć czy nagrywania filmów.

Na szczęście, przy użyciu kilku narzędzi, można dotrzeć do właściwych możliwości lustrzanki.

Poniżej instrukcje dla pochodnych Debiana.

Instalujemy potrzebne narzędzia: apt-get install gphoto2 v4l2loopback-utils. Dodajemy odpowiedni moduł kernela: modprobe v4l2loopback.

Teraz, gdy chcemy wysokiej jakości kamerkę, wystarczy podpiąć urządzenie pod port USB i użyć poniższego onelinera (w razie potrzeby zmień /dev/video0 na właściwą lokalizację urządzenia):

gphoto2 --stdout --capture-movie | gst-launch-1.0 fdsrc ! decodebin name=dec ! queue ! videoconvert ! v4l2sink device=/dev/video0

W tym momencie, programy do obsługi kamer (np. Cheese czy OBS Studio) zaczęły dostrzegać urządzenie.

W moim przypadku konieczne było zmniejszenie rozdzielczości poszczególnych klatek, aby uzyskać zadowolającą liczbę FPS-ów. Dlatego poniżej zamieszczam kilka przydatnych funkcji:

Po szczegóły odsyłam do man gphoto2.

Udanego streamowania!