Portál AbcLinuxu, 14. května 2025 20:43

Dotaz: Otoceni obrazu USB webkamery

9.9.2014 01:04 tuxmartin | skóre: 39 | blog: tuxmartin | Jicin
Otoceni obrazu USB webkamery
Přečteno: 1063×
Odpovědět | Admin

Ahoj,

Mam k pocitaci pripojeneou USB webkameru. Z duvodu umisteni ji musim mit umistenou otocenou o 180°. Na pocitaci pak vydim obraz "vzhuru nohama" a potreboval bych ho softwarove vratit zpatky.

Nejde o Asus notebook, ve kterych byly casto kamery obracene. Jde mi o otoceni obrazu u libovolne USB webkamery.

Nechci jenom efekt otoceni, ten si naklikam ve VLC. Potrebuju mit "fyzicke zarizeni" s uz otocenym obrazem, aby vsechny programy pracujici s webkamerou uz mely otoceny obraz. Presne tak, jak to resila utilita/ovladac od Asusu.

OS na pocitaci je Windows XP, pokud by to nekdo umel v Linuxu, neni problem ho tam nainstalovat.

Aby to vice souviselo s Linuxem - jak v idealne [L,X]ubuntu vytvorit virtualni webkameru otocenou o 180°?

Diky za pomoc!


Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.9.2014 01:19 tuxmartin | skóre: 39 | blog: tuxmartin | Jicin
Rozbalit Rozbalit vše Re: Otoceni obrazu USB webkamery
Odpovědět | | Sbalit | Link | Blokovat | Admin
Prvni uspech:
# gst-launch -v v4l2src ! videoflip method=rotate-180 ! xvimagesink
otevre okno prehravace s 180° otocenym videem.

Pokud chci udelat nove zarizeni, spadne to:
# gst-launch -v v4l2src ! videoflip method=rotate-180 ! decodebin ! v4l2sink device=/dev/video0
Nastavuje se rouru na POZASTAVENA…
CHYBA: Roura se nechce pozastavit.
CHYBA: od prvku /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0: Zařízení "/dev/video0" není výstupním zařízením.
Dodatečné ladicí informace:
v4l2_calls.c(528): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0:
Capabilities: 0x85000001
Nastavuje se roura na PRÁZDNÁ…
Uvolňuje se roura…

# gst-launch -v v4l2src ! videoflip method=rotate-180 ! decodebin ! v4l2sink device=/dev/video1
Nastavuje se rouru na POZASTAVENA…
CHYBA: Roura se nechce pozastavit.
CHYBA: od prvku /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0: Nelze rozpoznat zařízení "/dev/video1".
Dodatečné ladicí informace:
v4l2_calls.c(497): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0:
system error: Adresář nebo soubor neexistuje
Nastavuje se roura na PRÁZDNÁ…
Uvolňuje se roura…
# 
Mate nekdo tuseni, kde je chyba?

Ubuntu 13.10. Webkamera je /dev/video0
9.9.2014 01:22 tuxmartin | skóre: 39 | blog: tuxmartin | Jicin
Rozbalit Rozbalit vše Re: Otoceni obrazu USB webkamery

Jeste doplnim, v ubuntu mam nainstalovane balicky: v4l2loopback-utils a gstreamer-tools.

Kamera pouzivam jaderny modul uvcvideo (ale to je asi jedno).

9.9.2014 01:33 tuxmartin | skóre: 39 | blog: tuxmartin | Jicin
Rozbalit Rozbalit vše Re: Otoceni obrazu USB webkamery

Zkousel jsem podle nejakeho navodu:

# modprobe -r
# modprobe -v uvcvideo vflip=0
insmod /lib/modules/3.11.0-12-generic/kernel/drivers/media/v4l2-core/videodev.ko 
insmod /lib/modules/3.11.0-12-generic/kernel/drivers/media/v4l2-core/videobuf2-core.ko 
insmod /lib/modules/3.11.0-12-generic/kernel/drivers/media/v4l2-core/videobuf2-memops.ko 
insmod /lib/modules/3.11.0-12-generic/kernel/drivers/media/v4l2-core/videobuf2-vmalloc.ko 
insmod /lib/modules/3.11.0-12-generic/kernel/drivers/media/usb/uvc/uvcvideo.ko vflip=0
# 
ale nic se nezmenilo :-(

navic to je pouze pro uvcvideo. Kamery pouzivajici jiny ovladace by to neresilo.

Josef Kufner avatar 9.9.2014 01:19 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Otoceni obrazu USB webkamery
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zavrtej se do firmwaru kamery a ten filtr přidej tam.
Hello world ! Segmentation fault (core dumped)
Jendа avatar 9.9.2014 06:46 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Otoceni obrazu USB webkamery
Já teda u své USB kamery nějak neumím hrabat do FW. Má ho to vůbec zapisovatelný? Je od toho specifikace?

Když už, tak bych zkusil otáčet bitmapu někde v kernelu.
Řešení 1× (tuxmartin (tazatel))
9.9.2014 08:45 R
Rozbalit Rozbalit vše Re: Otoceni obrazu USB webkamery
Odpovědět | | Sbalit | Link | Blokovat | Admin
Toto by malo fungovat vo setkych programoch, co pouzivaju libv4l:
export LIBV4LCONTROL_FLAGS=3
Pre ostatne treba pridat este LD_PRELOAD.
10.9.2014 23:22 tuxmartin | skóre: 39 | blog: tuxmartin | Jicin
Rozbalit Rozbalit vše Re: Otoceni obrazu USB webkamery
VLC, guvcview, cheese a firefox funguji podle ocekavani. Otoci se jim obraz.

Jenom Google Chrome ne. Prikaz uplne ignoruje a obraz bere primo tak, jak leze z kamery. Tedy neotoceny.
11.9.2014 12:15 R
Rozbalit Rozbalit vše Re: Otoceni obrazu USB webkamery
export LD_PRELOAD=/usr/blabla/libv4lconvert.so
11.9.2014 16:27 2X4B-523P | skóre: 38 | blog: Zelezo_vs_Debian
Rozbalit Rozbalit vše Re: Otoceni obrazu USB webkamery
to blabla je matoucí, jedná se o foo a nebo je to bar?
11.9.2014 19:03 R
Rozbalit Rozbalit vše Re: Otoceni obrazu USB webkamery
Lepsie? :D
export LD_PRELOAD=/usr/foo/bar/baz/libv4lconvert.so
12.9.2014 06:53 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Otoceni obrazu USB webkamery
Odpovědět | | Sbalit | Link | Blokovat | Admin
Popřípadě za běhu by to mohlo mít volbu někde v tomhle výpisu:
v4l2-ctl -d /dev/video0 -l
U mě to funguje s
v4l2-ctl -d /dev/video0 -c horizontal_flip=1
v4l2-ctl -d /dev/video0 -c vertical_flip=1
Intel meltdown a = arr[x[0]&1]; karma | 帮帮我,我被锁在中国房
12.9.2014 16:37 R
Rozbalit Rozbalit vše Re: Otoceni obrazu USB webkamery
Ak nema kamera tieto veci implementovane v HW, tak to funguje iba v aplikaciach pouzivajucich libv4l.
14.9.2014 22:33 tuxmartin | skóre: 39 | blog: tuxmartin | Jicin
Rozbalit Rozbalit vše Re: Otoceni obrazu USB webkamery
Na moji webkameru to nefunguje :-(
martin@martin:~$ v4l2-ctl -d /dev/video0 -l
                     brightness (int)    : min=-127 max=127 step=1 default=0 value=0
                       contrast (int)    : min=0 max=64 step=1 default=32 value=32
                     saturation (int)    : min=0 max=100 step=1 default=64 value=64
                            hue (int)    : min=-180 max=180 step=1 default=0 value=0
 white_balance_temperature_auto (bool)   : default=1 value=1
                          gamma (int)    : min=92 max=500 step=1 default=220 value=220
                           gain (int)    : min=0 max=100 step=1 default=64 value=64
           power_line_frequency (menu)   : min=0 max=2 default=2 value=1
      white_balance_temperature (int)    : min=2800 max=6500 step=10 default=4650 value=4650 flags=inactive
                      sharpness (int)    : min=0 max=4 step=1 default=2 value=2
         backlight_compensation (int)    : min=0 max=2 step=1 default=1 value=1
                  exposure_auto (menu)   : min=0 max=3 default=3 value=3
martin@martin:~$ 
martin@martin:~$ v4l2-ctl -d /dev/video0 -c horizontal_flip=1
unknown control 'horizontal_flip'
martin@martin:~$ v4l2-ctl -d /dev/video0 -c vertical_flip=1
unknown control 'vertical_flip'
martin@martin:~$ 
15.9.2014 09:50 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Otoceni obrazu USB webkamery
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ať koukám, jak koukám, nikde jsem za celou diskusi nenašel, jakou vlastně máš konkrétní kameru. Docela podstatná informace, pro začátek :)

http://permalink.gmane.org/gmane.linux.drivers.uvc.devel/3771 či celé vlákno http://comments.gmane.org/gmane.linux.drivers.uvc.devel/3737

Ta adresa na berliosu již neexistuje, asi by šlo dohledat někde kopii, třeba na archive.org. Tam by se vidělo, co ten patch obnášel a zřejmě šlo driver upravit.
15.9.2014 16:41 tuxmartin | skóre: 39 | blog: tuxmartin | Jicin
Rozbalit Rozbalit vše Re: Otoceni obrazu USB webkamery
Nenasel, protoze mam vic typu USB kamer a hledam univerzalni reseni.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.