I'd like to take the video stream from /dev/video0, apply some effects or changes and make the result available on /dev/video1.

/dev/video0 ---> Apply Effects ---> /dev/video1

For example, mplayer tv:// -vo caca will display the output of /dev/video in ascii art. I would like to make that available on /dev/video1 so that I could send that through skype instead of my default webcam feed....

Any suggestions?

2 Answers 2


For sure. Here are two suggestions:

  1. Behind the scenes CLI. Use V4L2VD to create a virtual video device such as /dev/videoVirt1 and pipe through mplayer for the effects. Even some similar examples in the notes.
  2. Use a fat desktop program such as webcamstudio to create the pipes and do your skype/broadcast wonders - still with mplayer for the ascii effect

Good Luck!


Here's another v4l2 loopback driver that I was able to get working with Skype. v4l2loopback driver Then you can use Gstreamer to setup to pipeline.

apt-get install gstreamer-tools 

gst-launch -v v4l2src ! gstreamfiltershere ! v4l2sink device=/dev/video1
  • 1
    Running your command, I get Device '/dev/video0' is not a output device. How can I avoid this? Please help.
    – user123456
    Oct 17, 2016 at 17:14
  • does /dev/video0 exist at all on your system ? Your camera might be mapped to another device. check which video devices exist, with eg "ls -l /dev/video*" install the "cheese" application and see which device supplies the video ... It might be /dev/video10 for example
    – MikeW
    Aug 10, 2019 at 13:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.