Reindirizzare la webcam reale a una webcam virtuale tramite terminale


15

C'è un modo per reindirizzare una webcam reale a una webcam virtuale dalla riga di comando, ad esempio utilizzando il v4l2loopbackmodulo con ffmpeg?

Dettagli

Ho una vecchia webcam che funziona con la maggior parte dei software (vlc, cheese, ecc.), Ma non con altri (Skype).

Una possibile soluzione per farlo funzionare con tale software è di reindirizzarlo a una webcam virtuale utilizzando il v4l2loopbackmodulo, come fatto da Webcamoid , ma devo farlo dalla riga di comando, ad esempio tramite ffmpeg.

Sono sicuro che ciò sia possibile anche tramite ffmpeg, ma poiché le webcam reali vengono raramente reindirizzate a quelle virtuali, non ho trovato esempi online (gli unici esempi che ho trovato, come questo , invece catturano schermate o video esistenti sulla webcam virtuale) .



1
@LordNeckbeard Le risposte hanno qualcosa in comune, ma le domande sono molto diverse. Quel PO chiede di inviare un video preregistrato ( input.mp4) a un dispositivo fisico esistente e il risponditore suggerisce invece di utilizzare v4l2loopback. Qui stiamo parlando di inviare una webcam reale dal vivo a una webcam virtuale, poiché ciò potrebbe rendere la webcam indirettamente più compatibile con alcune app (ad esempio Skype), che altrimenti non la riconoscerebbe. In effetti, la risposta a questa domanda suggerisce di usare qualcosa di simile ffmpeg -i input.mp4che non è quello che stavo cercando qui.
Kubuntuer82

1
@LordNeckbeard e quella risposta mostrano anche come afferrare il desktop, che non solo non era quello che cercavo qui, ma è anche molto simile a questo post che ho già menzionato nella mia domanda. Stavo cercando qualcosa di diverso, ovvero il reindirizzamento di un'altra webcam invece del desktop o di un file (come dico anche nella domanda). Apprezzo il fatto che le soluzioni si basino sullo stesso software, ma poiché le domande sono molto diverse, penso che sia comunque buono condividere questo per le persone che lottano con questo particolare problema.
Kubuntuer82

Risposte:


19

Sulla base di questa risposta (già menzionata nella domanda) penso di aver trovato una soluzione da solo e funziona con Skype!

Supponiamo che sia presente la vera webcam /dev/video0. Quando corri

modprobe v4l2loopback

il modulo crea una seconda webcam (virtuale), ad esempio in /dev/video1. A questo punto, è sufficiente eseguire:

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

e la nuova webcam virtuale è pronta per essere utilizzata e selezionata anche con Skype.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.