Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Telegram : caméra uvcvideo éteinte puis à l'envers (résolu)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
pti-rem
Guru
Guru


Joined: 14 Oct 2011
Posts: 472

PostPosted: Sat May 28, 2022 9:11 am    Post subject: Telegram : caméra uvcvideo éteinte puis à l'envers (résolu) Reply with quote

Bonjour,

Mon transportable dispose d'une caméra intégrée de 2 mégapixels.
Il y a un voyant qui indique quand elle fonctionne.

Code:
rem@n73sm ~ $ lsusb | grep Cam
Bus 001 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd 2.0M UVC WebCam
rem@n73sm ~ $

J'utilise le mode Web de Telegram avec www-client/google-chrome ou www-client/brave-bin (versions stables)
Je parviens à passer des appels vocaux.

Ma caméra est reconnue dans les navigateurs.
Les sites peuvent me demander d'autoriser la webcam.

Je n'ai pas cette demande sur le site https://web.telegram.org/k/ quand je passe un appel vidéo.
C'est Telegram Web 1.4.3 K (177) Chrome 102, Linux

Code:
rem@n73sm ~ $ v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
   Type: Video Capture

   [0]: 'YUYV' (YUYV 4:2:2)
      Size: Discrete 640x480
         Interval: Discrete 0.033s (30.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
      Size: Discrete 320x240
         Interval: Discrete 0.033s (30.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
      Size: Discrete 160x120
         Interval: Discrete 0.033s (30.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
      Size: Discrete 352x288
         Interval: Discrete 0.033s (30.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
      Size: Discrete 176x144
         Interval: Discrete 0.033s (30.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
      Size: Discrete 800x600
         Interval: Discrete 0.050s (20.000 fps)
      Size: Discrete 1280x960
         Interval: Discrete 0.125s (8.000 fps)
      Size: Discrete 1600x1200
         Interval: Discrete 0.200s (5.000 fps)
rem@n73sm ~ $
rem@n73sm ~ $ v4l2-ctl --set-parm=30 --set-fmt-video=width=800,height=600,pixelformat=YUYV --device /dev/video0
Frame rate set to 20.000 fps
rem@n73sm ~ $

https://fr.webcamtests.com/ m'a bien proposé d'en faire la demande et puis je l'ai acceptée. L'image est à l'envers mais c'est un autre problème.
La résolution fixée n'est pas conservée.

fr.webcamtests.com wrote:
Les tests ont été effectués avec succès. Les résultats sont affichés dans le tableau "Information sur la webcam". N'oubliez pas de laisser un commentaire sur votre webcam.

Information sur la webcam
Nom de la webcam: USB2.0 2.0M UVC WebCam
Rang de qualité: 261
Microphone intégré: None
Haut-parleur intégré: None
Taux de trame: 5 FPS
Type de flux: video
Mode image: rgb
Webcam Mégapixels: 1.23 MP
Résolution de la webcam: 1280×960
Norme vidéo: SXGA−
Ratio d'aspect: 1.33
Taille du fichier PNG: 2 MB
Taille du fichier JPEG: 1.41 MB
Débit binaire: 7.1 MB/s
Nombre de couleurs: 53000
Couleur RVB moyenne:

Légèreté: 24.51%
Luminosité: 25.19%
Brillance: 24.58%
Teinte: 84°
Saturation: 4.00%


Le V4L2 viewer qvidcap fonctionne bien tout comme vlc.
cheese me fait un gros pâté :
Code:
rem@n73sm ~ $ cheese
Abandon (core dumped)
rem@n73sm ~ $


J'ai effacé les cookies pour telegram.org et web.telegram.org
J'autorise manuellement la caméra pour web.telegram.org mais cela ne change rien ; elle reste éteinte lors d'un appel vidéo.

Je ne comprends pas où peut se situer le problème.
C'est trop frustrant vu le temps que j'y passe !

Merci pour toute aide apportée :)


Last edited by pti-rem on Mon Jun 13, 2022 7:04 pm; edited 7 times in total
Back to top
View user's profile Send private message
pti-rem
Guru
Guru


Joined: 14 Oct 2011
Posts: 472

PostPosted: Sat May 28, 2022 10:28 am    Post subject: Reply with quote

J'ai installé www-client/google-chrome-unstable pour essayer.

J'ai une indication supplémentaire dans https://web.telegram.org/k/ (je n'avais pas maintenu shift)

Quote:
Something went wrong
Service Worker is disabled. Streaming media may not be supported. Try reloading the page without holding <Shift> key
OK

Comment activer Service Worker ?

Et je vois des GLX is not present et des EGL_NOT_INITIALIZED
Que faire ?

Code:
rem@n73sm ~ $ google-chrome-unstable
[9396:9396:0528/121431.513112:ERROR:angle_platform_impl.cc(43)] Display.cpp:1006 (initialize): ANGLE Display::initialize error 12289: GLX is not present.
[9396:9396:0528/121431.513323:ERROR:gl_surface_egl.cc(822)] EGL Driver message (Critical) eglInitialize: GLX is not present.
[9396:9396:0528/121431.513403:ERROR:gl_surface_egl.cc(1352)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[9396:9396:0528/121431.513554:ERROR:angle_platform_impl.cc(43)] Display.cpp:1006 (initialize): ANGLE Display::initialize error 12289: GLX is not present.
[9396:9396:0528/121431.513613:ERROR:gl_surface_egl.cc(822)] EGL Driver message (Critical) eglInitialize: GLX is not present.
[9396:9396:0528/121431.513655:ERROR:gl_surface_egl.cc(1352)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[9396:9396:0528/121431.513694:ERROR:gl_ozone_egl.cc(21)] GLSurfaceEGL::InitializeOneOff failed.
[9396:9396:0528/121431.515906:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[9429:9429:0528/121431.865986:ERROR:angle_platform_impl.cc(43)] Display.cpp:1006 (initialize): ANGLE Display::initialize error 12289: GLX is not present.
[9429:9429:0528/121431.866831:ERROR:gl_surface_egl.cc(822)] EGL Driver message (Critical) eglInitialize: GLX is not present.
[9429:9429:0528/121431.870520:ERROR:gl_surface_egl.cc(1352)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[9429:9429:0528/121431.870721:ERROR:angle_platform_impl.cc(43)] Display.cpp:1006 (initialize): ANGLE Display::initialize error 12289: GLX is not present.
[9429:9429:0528/121431.870783:ERROR:gl_surface_egl.cc(822)] EGL Driver message (Critical) eglInitialize: GLX is not present.
[9429:9429:0528/121431.870827:ERROR:gl_surface_egl.cc(1352)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[9429:9429:0528/121431.870868:ERROR:gl_ozone_egl.cc(21)] GLSurfaceEGL::InitializeOneOff failed.
[9429:9429:0528/121431.873314:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[9354:9381:0528/121613.183290:ERROR:mcs_client.cc(707)]   Error code: 500  Error message: Cannot parse data.
[9354:9381:0528/121613.183334:ERROR:mcs_client.cc(709)] Failed to log in to GCM, resetting connection.
[9354:9381:0528/121613.631943:ERROR:mcs_client.cc(707)]   Error code: 500  Error message: Cannot parse data.
[9354:9381:0528/121613.631989:ERROR:mcs_client.cc(709)] Failed to log in to GCM, resetting connection.
Back to top
View user's profile Send private message
pti-rem
Guru
Guru


Joined: 14 Oct 2011
Posts: 472

PostPosted: Sat May 28, 2022 11:04 am    Post subject: Reply with quote

J'ai un système GPU Optimus
Code:
rem@n73sm ~ $ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 620M/630M/635M/640M LE] (rev a1)
rem@n73sm ~ $

Dont je désactive volontairement la partie nVidia
Code:
rem@n73sm ~ $ cat /proc/acpi/bbswitch
0000:01:00.0 OFF
rem@n73sm ~ $

Et un amorçage que je ne comprends plus vraiment
Code:
rem@n73sm ~ $ dmesg | grep i915
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.19.237-gentoo root=UUID=b56ef48b-982a-499d-b02d-4442ac784b8a ro acpi_osi=Linux nogpumanager i915.enable_hd_vgaarb=1 enable_hd_vgaarb=1 mds=full,nosmt init=/lib/systemd/systemd quiet
[    0.390122] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.19.237-gentoo root=UUID=b56ef48b-982a-499d-b02d-4442ac784b8a ro acpi_osi=Linux nogpumanager i915.enable_hd_vgaarb=1 enable_hd_vgaarb=1 mds=full,nosmt init=/lib/systemd/systemd quiet
[    1.643274] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[    1.667685] [drm] Initialized i915 1.6.0 20180719 for 0000:00:02.0 on minor 0
[    1.951921] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
rem@n73sm ~ $
Back to top
View user's profile Send private message
pti-rem
Guru
Guru


Joined: 14 Oct 2011
Posts: 472

PostPosted: Sun May 29, 2022 6:46 am    Post subject: /var/log/Xorg.0.log Reply with quote

pti-rem wrote:
J'ai abandonné SliM au profit d'un login Xfce automatique sans gestionnaire d'affichage.
https://wiki.gentoo.org/wiki/Automatic_login_to_virtual_console#systemd
https://wiki.gentoo.org/wiki/X_without_Display_Manager#systemd

Mon /var/log/Xorg.0.log ... du 17 mai ! donc pas forcément utile.
Je n'ai plus de log de Xorg à jour ; trop bizarre ; J'ai l'impression que la sortie se marque dans le tty1 choisi.
Code:
rem@n73sm ~ $ ls -al /var/log/Xorg.0.log
-rw-r--r-- 1 root root 34238 17 mai   12:40 /var/log/Xorg.0.log
rem@n73sm ~ $ uptime
 09:30:29 up 21:45,  1 user,  load average: 0,46, 0,58, 0,53
rem@n73sm ~ $

Code:
rem@n73sm ~ $ glxinfo
name of display: :0.0
Error: couldn't find RGB GLX visual or fbconfig

rem@n73sm ~ $

Je ne sais pas ce qui concerne réellement la caméra.

https://fr.webcamtests.com/ sait me demander l'accès et me présenter la vidéo.
Alors que https://web.telegram.org/k/ ne le fait pas et je suis sans vidéo de ma caméra.
J'ai bien la vidéo de mon correspondant par contre.

C'est juste que ma caméra ne s'allume pas lors d'un appel vidéo.
Je n'ai pas avancé d'un pouce.

Je pourrais essayer un noyau plus récent. Je ne suis pas sûr que cela soit pertinent.
Je ne sais plus quoi faire des options d'amorçage « acpi_osi=Linux nogpumanager i915.enable_hd_vgaarb=1 enable_hd_vgaarb=1 mds=full,nosmt »
« mds=full,nosmt » étant il me semble une mitigation de vulnérabilité CPU.
Back to top
View user's profile Send private message
pti-rem
Guru
Guru


Joined: 14 Oct 2011
Posts: 472

PostPosted: Mon May 30, 2022 8:30 am    Post subject: https://desktop.telegram.org/ Reply with quote

Bonjour,

J'avais deux périphériques vidéo ; j'ai supprimé /dev/video1 et cela n'a rien changé ; et heureusement que udev me le recrée.
L'utilisateur rem est membre du groupe video.

Code:
rem@n73sm ~ $ ls /dev/video* -al
crw-rw----+ 1 root video 81, 0 28 mai   11:44 /dev/video0
crw-rw----+ 1 root video 81, 1 28 mai   11:44 /dev/video1
rem@n73sm ~ $ sudo rm -v /dev/video1
'/dev/video1' supprimé
rem@n73sm ~ $ ls /dev/video* -al
crw-rw----+ 1 root video 81, 0 28 mai   11:44 /dev/video0
rem@n73sm ~ $

Je me rends compte finalement que les modes web de Telegram ne me permettent pas d'utiliser ma caméra.
Je n'ai que peu cherché et pas expérimenté une astuce logicielle de périphérique de caméra virtuelle comme https://github.com/CatxFish/obs-virtual-cam par exemple.

Je passe donc en mode application depuis l'adresse https://desktop.telegram.org/ (j'ai mis du temps à trouver ce mode, ce n'est pas un mode web de type Desktop entry mais bien une application)

Il s'agit aujourd'hui d'un tsetup.3.7.3.tar.xz contenant :
rem@n73sm ~/Téléchargements $ ls -alh Telegram/
total 120M
drwxr-xr-x  2 rem rem 4,0K 30 mai   09:29 .
drwxr-xr-x 62 rem rem 128K 30 mai   09:29 ..
-rwxr-xr-x  1 rem rem 115M 26 avril 12:39 Telegram
-rwxr-xr-x  1 rem rem 5,1M 26 avril 12:36 Updater
rem@n73sm ~/Téléchargements $

J'ai exploré les réglages et j'ai bien vu l'image de ma caméra mais à laquelle il faut que j'applique une rotation à 180° (l'image est à l'envers)
L'application peut s'iconifier et se lancer au démarrage.

Code:
rem@n73sm ~ $ lsmod | grep video
uvcvideo              110592  0
videobuf2_vmalloc      16384  1 uvcvideo
videobuf2_memops       16384  1 videobuf2_vmalloc
videobuf2_v4l2         24576  1 uvcvideo
videobuf2_common       45056  2 videobuf2_v4l2,uvcvideo
rem@n73sm ~ $

Je serais enchanté de connaître une méthode simple pour faire le vflip vidéo :)

Je vois https://wiki.archlinux.org/title/webcam_setup#Invert_the_video_stream mais cela ne me convient pas vraiment...
Je vois aussi https://www.berlios.de/software/linux-uvc/ ...

https://narkive.com/c4iENRYu.1 (un fil de discussions remontant à treize ans pour vflip et hflip en compilant un module uvcvideo patché, en anglais)
Code:
[ 1578.004152] usbcore: deregistering interface driver uvcvideo
[ 1581.908163] uvcvideo: unknown parameter 'vflip' ignored
[ 1582.054614] uvcvideo: Found UVC 1.00 device USB2.0 2.0M UVC WebCam (04f2:b1bb)

Selon https://github.com/dfu/linux-uvc_flip pour un autre modèle Asus, la caméra serait montée à l'envers !
http://www.ideasonboard.org/uvc/#footnote-3
Quote:
3 This camera module is known to be mounted upside-down in some notebooks. Applications that use the libv4l library should display the video correctly, as libv4l detects upside-down cameras and rotates the image automatically.
See Hans de Goede's post on the linux-uvc-devel mailing list for more information. For applications that don't use libv4l, try holding your computer upside-down.

3 Ce module caméra est connu pour être monté à l'envers dans certains ordinateurs portables. Les applications qui utilisent la bibliothèque libv4l devraient afficher la vidéo correctement, car libv4l détecte les caméras montées à l'envers et fait pivoter l'image automatiquement. Voir le post de Hans de Goede sur la liste de diffusion linux-uvc-devel pour plus d'informations. Pour les applications qui n'utilisent pas libv4l, essayez de tenir votre ordinateur à l'envers.


Last edited by pti-rem on Wed Jun 08, 2022 6:17 am; edited 2 times in total
Back to top
View user's profile Send private message
pti-rem
Guru
Guru


Joined: 14 Oct 2011
Posts: 472

PostPosted: Mon May 30, 2022 11:03 am    Post subject: Reply with quote

Uvcvideo webcam flipped [solved]
https://forums.gentoo.org/viewtopic-t-787593.html me donne une solution !
Mais je ne vends pas la peau de l'ours....

Code:
rem@n73sm ~ $ export LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so
rem@n73sm ~ $ ls /usr/lib32/libv4l/v4l1compat.so
ERROR: ld.so: object '/usr/lib32/libv4l/v4l1compat.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ls: impossible d'accéder à '/usr/lib32/libv4l/v4l1compat.so': Aucun fichier ou dossier de ce type
rem@n73sm ~ $ su -
Dernière connexion : lundi 30 mai 2022 à 11:26:18 CEST sur pts/0
n73sm ~ # ls /usr/lib32/libv4l/v4l1compat.so
ls: impossible d'accéder à '/usr/lib32/libv4l/v4l1compat.so': Aucun fichier ou dossier de ce type
n73sm ~ # locate v4l1compat.so
/usr/lib/v4l1compat.so
/usr/lib/libv4l/v4l1compat.so
/usr/lib64/v4l1compat.so
/usr/lib64/libv4l/v4l1compat.so
n73sm ~ # exit
déconnexion
rem@n73sm ~ $ export LD_PRELOAD=/usr/lib64/libv4l/v4l1compat.so
rem@n73sm ~ $ Téléchargements/Telegram/Telegram
[ALSOFT] (EE) Failed to set real-time priority for thread: Opération non permise (1)
error: : cannot open
error: : cannot open
error: : cannot open
qt.gui.imageio.jpeg: Corrupt JPEG data: premature end of data segment
[ALSOFT] (EE) Failed to set real-time priority for thread: Opération non permise (1)
QObject::~QObject: Timers cannot be stopped from another thread
QObject::~QObject: Timers cannot be stopped from another thread
rem@n73sm ~ $

J'ai quitté Telegram avec le menu de l'icone.
J'avais l'image de la caméra dans le bon sens dans les paramètres des appels :)

Je modifie le démarrage automatique en conséquence ; j'ai choisi de mettre un démarrage on login :
Code:
/bin/sh -c 'export LD_PRELOAD=/usr/lib64/libv4l/v4l1compat.so ; /home/rem/Téléchargements/Telegram/Telegram -workdir /home/rem/.local/share/TelegramDesktop/ -autostart'

Il ne faudrait pas que la rétrocompatibilité v4l1 s'applique partout... Je ne sais pas vraiment comment va impacter mon système cet export LD_PRELOAD utilisé ainsi.


Last edited by pti-rem on Wed Jun 08, 2022 6:09 am; edited 1 time in total
Back to top
View user's profile Send private message
pti-rem
Guru
Guru


Joined: 14 Oct 2011
Posts: 472

PostPosted: Tue Jun 07, 2022 10:38 am    Post subject: Reply with quote

Avec la version 3.7.3 Desktop, je ne peux pas initier un appel vidéo mais seulement un appel audio et ensuite basculer en vidéo quand mon correspondant décroche.
Je n'ai que très peu de correspondants et nous nous appelons rarement.

Avec la configuration v4l1compat, j'ai rejeté par erreur un appel vidéo entrant et cela a chassé mon périphérique camera de la configuration des appels.
Je décide donc de vérifier d'abord sans v4l1compat.

à un correspondant, pti-rem wrote:
Essaie de m'appeler en vidéo quand tu pourras.
Si ma vidéo fonctionne, je serai probablement la tête en bas.
Si ce premier test est concluant pour la vidéo, j'essaierai de faire la rotation.
C'est la caméra de mon portable qui est montée d'usine à l'envers et ce n'est pas sûr que telegram en vidéo fonctionne de mon côté avec l'astuce que j'ai trouvée pour mettre la vidéo à l'endroit.
Ça demande quelques tests...


appel 1 : ça fonctionne tête en bas alors je passe en mode v4l1compat.

appel 2 : un correspondant "app. de bureau win10" m'appelle, je décroche, il passe en vidéo, je le vois, je passe en vidéo et il me voit également et dans le bon sens !
appel 2 bis : je rappelle ce correspondant, il décroche, je passe en vidéo puis lui aussi après et nous nous voyons correctement.

Suite à l'appel 2 bis, mon périphérique camera est chassé de la configuration des appels.
Je dois relancer Telegram pour le retrouver et je dois surtout comprendre ce phénomène.
J'ai l'impression que c'est suivant la façon de terminer l'appel.

Je vais établir un protocole pour saisir le maillon faible.
- L'appelant met sa vidéo d'abord et ensuite c'est au tour de l'appelé
-

13 juin, appel 3 : un correspondant "app. Android 11" m'appelle, je décroche, nous sommes directement en vidéo dans le bon sens. Je raccroche en premier.
C'était avec la version 3.7.5 bêta. Mon périphérique camera est resté dans la configuration des appels.

Depuis l'appel 3 compris, j'ai changé la manière de lancer Telegram qui est désormais en dernière version bêta :
- Je laisse dans Telegram les options de démarrage automatique minimisé
- Je décoche l'entrée Telegram Desktop de Paramètres / Session et démarrage / Démarrage automatique d'application
- J'y crée une nouvelle entrée nommée T qui exécute /home/rem/bin/t avec le déclencheur on login

Code:
rem@n73sm ~ $ which t
/home/rem/bin/t
rem@n73sm ~ $ cat /home/rem/bin/t
/bin/kill $( /usr/bin/pidof Telegram ) &> /dev/null
/bin/sh -c 'export LD_PRELOAD=/usr/lib64/libv4l/v4l1compat.so && /home/rem/Téléchargements/Telegram/Telegram -workdir /home/rem/.local/share/TelegramDesktop/ -autostart &> /home/rem/Telegram.log' &
rem@n73sm ~ $

La simple commande t me permet de relancer rapidement Telegram si mon périphérique camera est chassé de la configuration des appels.


Last edited by pti-rem on Mon Jun 13, 2022 7:07 pm; edited 5 times in total
Back to top
View user's profile Send private message
MrRoy3
n00b
n00b


Joined: 10 Feb 2022
Posts: 53
Location: Canada

PostPosted: Tue Jun 07, 2022 3:07 pm    Post subject: Reply with quote

As tu essayé l'application Telegram qui est dans ::gentoo? Il existe net-im/telegram-desktop et net-im/telegram-desktop-bin. Ca peut faire une différence selon la façon dont le binaire de Telegram est fait (je suppose que c'est un AppImage).
Back to top
View user's profile Send private message
pti-rem
Guru
Guru


Joined: 14 Oct 2011
Posts: 472

PostPosted: Wed Jun 08, 2022 10:32 am    Post subject: Reply with quote

Bonjour MrRoy3

Je n'ai pas essayé depuis le dépôt gentoo ; je n'y avais même pas pensé avant.
Les versions de ce dépôt ne suivent pas de près les releases du code source à https://github.com/telegramdesktop/tdesktop (changelog.txt)
J'ai une option activée de mise à jour automatique et une autre désactivée pour ne pas installer les versions bêta.
edit du 12 juin : j'ai activé l'installation automatique des versions bêta.

Quote:
Ca peut faire une différence selon la façon dont le binaire de Telegram est fait

Oui, peut-être, mais ma caméra reste la même ainsi que le code source pour une version donnée.
C'est le matériel qui est monté à l'envers et la v4l1compat le détecte et retourne le flux vidéo logiciellement.
C'est une manière simple de comprendre.

La meilleure solution serait peut-être de patcher le module uvcvideo mais je n'ai encore rien trouvé de récent à ce sujet.
C'est en fait probablement une mauvaise idée, voir https://linux-uvc-devel.narkive.com/c4iENRYu/vflip-hflip-options-for-uvcvideo#post11 (en français ci-dessous)

Il faut d'abord que je termine mes essais avec quelques appels vidéo avec la v4l1compat.

Merci

Code:
rem@n73sm ~ $ eix telegram
* net-im/telegram-desktop
     Available versions:  3.5.2-r1 3.6.1-r1 {+X +dbus enchant +hunspell +jemalloc screencast +spell wayland}
     Homepage:            https://desktop.telegram.org
     Description:         Official desktop client for Telegram

* net-im/telegram-desktop-bin
     Available versions:  ~3.7.3
     Homepage:            https://desktop.telegram.org
     Description:         Official desktop client for Telegram (binary package)

Found 2 matches
rem@n73sm ~ $


extrait du lien traduit, Laurent Pinchart (13 years ago) wrote:
Un peu de contexte d'abord.
La plupart des caméras UVC sont composées d'un capteur vidéo et d'un pont USB.
Les capteurs peuvent généralement être lus dans n'importe quelle direction, offrant ainsi des options de retournement horizontal et vertical.
Malheureusement, les développeurs de micrologiciels oublient souvent d'exposer ces fonctions via l'interface UVC, ce qui rend impossible le retournement horizontal et vertical du matériel.
Lorsqu'une caméra montée à l'envers n'offre aucun contrôle matériel de retournement, l'image doit être tournée par logiciel.
Le traitement de l'image n'est pas autorisé dans le noyau Linux (ou du moins très déconseillé), aussi je ne suis pas très chaud pour implémenter la rotation de l'image par logiciel dans le pilote UVC.
Je pourrais être convaincu du contraire si l'implémentation proposée n'avait pas d'impact sur les performances.
En théorie, c'est possible, car le pilote UVC copie les données des tampons USB vers les tampons V4L.
La copie "en arrière" pourrait être implémentée sans nuire à la lisibilité du code source et aux performances (veuillez noter que ce n'est pas possible pour les formats compressés).
Cependant, une alternative existe maintenant à travers libv4l. Cette bibliothèque prend en charge la rotation logicielle des images dans l'espace utilisateur.
Si votre application est liée à libv4l, les contrôles HFLIP et VFLIP devraient être disponibles (je ne l'ai pas essayé moi-même donc cela pourrait nécessiter quelques ajustements).
Il pourrait être possible d'obtenir le même résultat pour des applications qui ne sont pas conçues pour libv4l en préchargeant la bibliothèque.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum