Portál AbcLinuxu, 14. května 2025 20:43
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:
# gst-launch -v v4l2src ! videoflip method=rotate-180 ! xvimagesinkotevre 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
Jeste doplnim, v ubuntu mam nainstalovane balicky: v4l2loopback-utils
a
gstreamer-tools
.
Kamera pouzivam jaderny modul uvcvideo
(ale to je asi jedno).
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.
export LIBV4LCONTROL_FLAGS=3Pre ostatne treba pridat este LD_PRELOAD.
v4l2-ctl -d /dev/video0 -lU mě to funguje s
v4l2-ctl -d /dev/video0 -c horizontal_flip=1 v4l2-ctl -d /dev/video0 -c vertical_flip=1
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:~$
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.