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
    Commented 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
    Commented Aug 10, 2019 at 13:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .