[LINUX] Comment utiliser Fujifilm X-T3 comme webcam sur Ubuntu 20.04

Summary

installer

Installez d'abord les packages requis

sudo apt-get install gphoto2 v4l2loopback-utils v4l2loopback-dkms ffmpeg

Vérifiez le / dev / video * actuel une fois l'installation terminée

ll /dev/video*

L'environnement de la main est un ordinateur portable avec une caméra intégrée et l'écran suivant

crw-rw----+ 1 root video 81,0 août 25 15:00 /dev/video0
crw-rw----+ 1 root video 81,1 août 25 15:00 /dev/video1

Ensuite, ajoutez un périphérique vidéo factice

sudo modprobe v4l2loopback exclusive_caps=1 max_buffers=2

Vérifiez le numéro de l'appareil ajouté

ll /dev/video*

L'affichage suivant dans l'environnement de la main

crw-rw----+ 1 root video 81,0 août 25 15:00 /dev/video0
crw-rw----+ 1 root video 81,1 août 25 15:00 /dev/video1
crw-rw----+ 1 root video 81,2 26 août 09:45 /dev/video2

Appareil factice avec / dev / video2 ajouté. Utilisez ceci plus tard

Vérifiez les informations de l'appareil ajouté

v4l2-ctl --device=/dev/video2 --info

Un tel affichage à portée de main

Driver Info:
        Driver name      : v4l2 loopback
        Card type        : Dummy video device (0x0000)
        Bus info         : platform:v4l2loopback-000
        Driver version   : 5.4.44
        Capabilities     : 0x85208000
                Video Memory-to-Memory
                Read/Write
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x85208000
                Video Memory-to-Memory
                Read/Write
                Streaming
                Extended Pix Format
                Device Capabilities

Connectez le X-T3 et le PC via USB, et lorsque vous exécutez ce qui suit, gphoto2 diffusera la vidéo sur la sortie standard, Écrivez la vidéo brute avec ffmpeg dans / dev / video2 au format yuv420p.

gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -f v4l2 /dev/video2

Maintenant, si vous lancez le zoom et sélectionnez un appareil factice comme appareil vidéo, Conversion terminée du X-T3 en webcam

terminer

Il est difficile de taper la commande suivante à chaque fois, alors terminez-la pour qu'elle soit exécutée automatiquement

sudo modprobe v4l2loopback exclusive_caps=1 max_buffers=2

Créez un module appelé dslr-webcam et placez-le dans la liste que vous souhaitez charger

cat << 'EOS' >> /etc/modprobe.d/dslr-webcam.conf
# Module options for Video4Linux, needed for our DSLR Webcam
alias dslr-webcam v4l2loopback
options v4l2loopback exclusive_caps=1 max_buffers=2
EOS

echo "dslr-webcam" >> /etc/modules

Postscript

Après le redémarrage, / dev / video0 était un périphérique factice.

Vérifiez avec la commande suivante

v4l2-ctl --device=/dev/video0 --info

Je ne me souviens pas de la commande à chaque fois que je commence la capture, j'ai donc créé une commande fuji.

cat << 'EOS' > ~/bin/fuji
gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -f v4l2 /dev/video0
EOS
chmod +x ~/bin/fuji

Même après avoir redémarré, / dev / video0 était un périphérique factice, il semble donc que dslr-webcam soit chargé avant la caméra du PC portable dans mon environnement.

Il peut être utilisé comme webcam en zoom, mais il est noir dans Skype. Lors de l'utilisation avec Skype, changez l'échelle en vous référant à l'URL ci-dessous -vf scale = 1024: 567 et c'est OK.

gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -vf scale=1024:567 -pix_fmt yuv420p -f v4l2 /dev/video0

https://answers.microsoft.com/en-us/skype/forum/all/video-feed-from-capture-device-elgato-cam-link-4k/e596fff6-c7df-49b8-8d25-e19b5235aea4

Matériel de référence

https://medium.com/nerdery/dslr-webcam-setup-for-linux-9b6d1b79ae22

Recommended Posts

Comment utiliser Fujifilm X-T3 comme webcam sur Ubuntu 20.04
[Astuces] Comment utiliser l'iPhone comme caméra Web sous Linux
Un mémorandum sur l'utilisation de keras.preprocessing.image de Keras
Comment utiliser GitHub sur un serveur multi-personnes sans mot de passe
Comment créer un nouvel environnement virtuel Python sur Ubuntu
Comment utiliser Dataiku sous Windows
Remarques sur l'utilisation de pywinauto
Remarques sur l'utilisation des featuretools
Comment utiliser l'homebrew dans Debian
Comment utiliser cuML SVC comme classificateur CV Gridsearch
Comment enregistrer un package dans PyPI (à partir de septembre 2017)
Comment utiliser un fichier autre que .fabricrc comme fichier de configuration
Comment créer un environnement Python à l'aide de Virtualenv sur Ubuntu 18.04 LTS
Comment déployer une application Web sur Alibaba Cloud en tant que pigiste
Comment utiliser mecab, neologd-ipadic sur colab
Comment utiliser OpenVPN avec Ubuntu 18.04.3 LTS
Comment utiliser l'Assistant Google sur Windows 10
[Ubuntu] Comment exécuter un script shell
Mémorandum sur l'utilisation du python gremlin
Comment installer php7.4 sur Linux (Ubuntu)
Comment tester sur une page authentifiée par Django
Comment déguiser un fichier ZIP en fichier PNG
[Latest] Comment créer un environnement Java sur Ubuntu
Comment utiliser Python Kivy ④ ~ Exécution sur Android ~
Comment exécuter MeCab sur Ubuntu 18.04 LTS Python
Comment mettre à jour la sécurité sur Ubuntu 19.10 Eoan Ermine
Comment vivre une vie décente avec Windows 2017
[Linux] Comment lire .bashrc de l'utilisateur général avec WSL2 Ubuntu20.04 même en tant qu'utilisateur root
Comment utiliser xml.etree.ElementTree
Comment utiliser Python-shell
Remarques sur l'utilisation de tf.data
Comment utiliser virtualenv
Comment utiliser Seaboan
Comment utiliser la correspondance d'image
Comment utiliser le shogun
Comment utiliser Pandas 2
Comment utiliser Virtualenv
Comment utiliser numpy.vectorize
Comment utiliser pytest_report_header
Comment utiliser partiel
Comment utiliser Bio.Phylo
Comment utiliser SymPy
Comment utiliser x-means
Comment utiliser WikiExtractor.py
Comment utiliser IPython
Comment utiliser virtualenv
Comment utiliser Matplotlib
Comment utiliser iptables
Comment utiliser numpy
Comment utiliser TokyoTechFes2015
Comment utiliser venv
Comment utiliser le dictionnaire {}
Comment utiliser Pyenv
Comment utiliser la liste []
Comment utiliser python-kabusapi
Comment utiliser OptParse
Comment utiliser le retour