Redirect real webcam to a virtual webcam via terminal

Is there a way to redirect a real webcam to a virtual webcam from the command line, for example using the v4l2loopback module with ffmpeg ?

Details

I have an old webcam which works with most software (vlc, cheese, etc.), but not with others (Skype).

A possible workaround to make it work with such software is to redirect it to a virtual webcam using the v4l2loopback module, as done by Webcamoid, but I need to do it from the command line, for example via ffmpeg.

I am sure this is possible via ffmpeg as well, but since real webcams are rarely redirected to virtual ones, I found no examples online (the only examples I have found, like this one, redirect screen captures or existing videos to the virtual webcam instead).


Solution 1:

Based on this answer (already mentioned in the question) I think I have found a solution by myself, and it works with Skype!

Suppose the real webcam is in /dev/video0. When you run

modprobe v4l2loopback

the module creates a second (virtual) webcam, for example in /dev/video1. At this point, it is sufficient to execute:

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

and the new virtual webcam is ready to be used and selected with Skype as well.