Izdana nova funkcija kamere
Ob izdaji Raspberry Pi kamere ste mnogi opazili, da ta podpira različne načine hitrosti okvirjev (ang. frame), vendar programska oprema zmore prenašati “le” 30 okvirjev na sekundo v njenem polno-ločljivostem načinu. Za Raspberry Pi pri tem ni nobene strojne omejitve. Zmore prenesti še hitrejše načine okvirjev, vendar potrebuje nekaj časa, da vse skupaj predela v programski opremi kamere. Ob izvorni izdaji kamere sta bila na voljo dva načina: zajem fotografije v polni ločljivosti tipala (2592 x 1944) ali pretok 1080p posnetka (1920 x 1080p). Prav ti ljudje, ki ste opazili možnost različnih načinov hitrosti okvrijev, ste verjetno opazili tudi različna razmerja. Zajem fotografije ima razmerja 4:3 (kot stari televizijski sprejemniki), pretok 1080p pa 16:9 (širokozaslonsko). Ravno tu je bil problem, ker predogled uporablja način prikaza posnetkov, ki lahko tečejo pri 30 okvirjih na sekundo (ang. frames per second ali fps) – ne le, da je bilo razmerje drugačno, drugačen je bil tudi predogled zajema.
Pri fundaciji Raspberry Pi so tako imeli kar nekaj dela z razvojem novih funkcij za prikaz različnih načinov hitrosti okvirjev, prav tako pa so odpravili problem predogleda pri zajemu fotografije. Odslej so na voljo sledeči načini zajema fotografij ali posnetkov:
- 2592×1944 1 – 15 fps, pretok posnetka ali zajem fotografije
- 1920×1080 1 – 30 fps, pretok posnetka, 1080p pri 30 fps
- 1296×972 1 – 42 fps, pretok posnetka, 4:3
- 1296×730 1 – 49 fps, pretok posnetka, 16:9 , uporaba za 720p
- 640×480 42.1 – 60 fps, pretok posnetka, do VGAp 60 fps
- 640×480 60.1 – 90 fps, pretok posnetka, do VGAp 90 fps
In kako priti do novih načinov? Predogledna programa raspistill in raspivid bosta že delovala z novimi načini. Določite jima lahko resolucijo in hitrost okvirjev, na podlagi tega pa bo izbran pravilen način. Za uporabo tega boste potrebovali najnovejšo vdelano programsko opremo za GPU, ki jo dobite z ukazom:
1 |
sudo rpi-update |
V kolikor bi radi takoj preizkusili nove načine, pa to lahko storite s spodnjim ukazom. Ta bo posnel video v VGA ločljivosti pri 90 fps.
1 |
raspivid -w 640 -h 480 -fps 90 -t 10000 -o test90fps.h264 |
Tudi V4L2 gonilnik podpira nove načine. Z uporabo navadnih ukazov lahko posnamete video vse do 90 fps. Podoben ukaz zgornjemu za V4L2 je:
1 |
v4l2-ctl -p 90 v4l2-ctl -v width=640,height=480,pixelformat=H264 v4l2-ctl --stream-mmap=3 --stream-count=900 --stream-to=test90fps.h264 |
Pri vsem tem pa obstaja nekaj omejitev, še posebej za V4L gonilnik.
- Ukazi bodo konkretno povečali obremenitev ARM, saj je pri vsem tem več povratnih klicev. To lahko povzroči nepredvidljive efekte na V4L aplikacijah, ki mogoče ne bodo več delovale.
- MJPEG kodek ni kos posnetkom večjim od 720p in 40 fps – po nekaj časa od snemanja hitrost okvirjev prične upadati in več kot 45 fps ni mogoče posneti.
- H264 brez težav deluje vse do 720p in 49 fps ali VGA pri 90 fps
Vendar bodo kljub zadnjim omejitvam večini uporabnikom nove funkcije delovale brez težav. Zahvala gre Daveu Stevensonu in Naushu Patucku pri Broadcomu, ki sta našla čas za vgradnjo teh funkcij. Poleg njiju gre zahvala tudi Omnivisionu za njihovo neprekinjeno podporo.