Redirigez la webcam réelle vers une webcam virtuelle via un terminal

15

Existe-t-il un moyen de rediriger une webcam réelle vers une webcam virtuelle à partir de la ligne de commande, par exemple en utilisant le v4l2loopbackmodule avec ffmpeg?

Détails

J'ai une vieille webcam qui fonctionne avec la plupart des logiciels (vlc, cheese, etc.), mais pas avec d'autres (Skype).

Une solution de contournement possible pour le faire fonctionner avec un tel logiciel est de le rediriger vers une webcam virtuelle en utilisant le v4l2loopbackmodule, comme fait par Webcamoid , mais je dois le faire à partir de la ligne de commande, par exemple via ffmpeg.

Je suis sûr que cela est également possible via ffmpeg, mais comme les vraies webcams sont rarement redirigées vers des webcams virtuelles, je n'ai trouvé aucun exemple en ligne (les seuls exemples que j'ai trouvés, comme celui-ci , redirigent des captures d'écran ou des vidéos existantes vers la webcam virtuelle à la place) .

Kubuntuer82
la source
1
@LordNeckbeard Les réponses ont quelque chose en commun, mais les questions sont très différentes. Cet OP demande d'envoyer une vidéo préenregistrée ( input.mp4) à un périphérique physique existant , et le répondeur suggère d'utiliser à la place v4l2loopback. Ici, nous parlons d'envoyer une vraie webcam en direct à une webcam virtuelle, car cela pourrait rendre la webcam indirectement plus compatible avec certaines applications (par exemple Skype), qui ne la reconnaîtraient pas autrement. En fait, la réponse à cette question suggère d'utiliser quelque chose comme ffmpeg -i input.mp4ce qui n'est pas ce que je cherchais ici.
Kubuntuer82
1
@LordNeckbeard et cette réponse montrent également comment récupérer le bureau, ce qui non seulement n'était pas ce que je cherchais ici, mais il est également très similaire à cet article que j'ai déjà mentionné dans ma question. Je cherchais quelque chose de différent, c'est-à-dire rediriger une autre webcam au lieu du bureau ou d'un fichier (comme je le dis aussi dans la question). J'apprécie que les solutions soient basées sur le même logiciel, mais comme les questions sont très différentes, je pense qu'il est toujours bon de partager cela pour les personnes qui ont du mal avec ce problème particulier .
Kubuntuer82

Réponses:

19

Sur la base de cette réponse (déjà mentionnée dans la question) je pense avoir trouvé une solution par moi-même, et cela fonctionne avec Skype!

Supposons que la vraie webcam soit installée /dev/video0. Quand tu cours

modprobe v4l2loopback

le module crée une seconde webcam (virtuelle), par exemple en /dev/video1. À ce stade, il suffit d'exécuter:

ffmpeg -i /dev/video0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video1

et la nouvelle webcam virtuelle est également prête à être utilisée et sélectionnée avec Skype.

Kubuntuer82
la source