Skip to content

Instantly share code, notes, and snippets.

@unode
Created August 30, 2015 19:11
Show Gist options
  • Save unode/6320d73712ed2199b66f to your computer and use it in GitHub Desktop.
Save unode/6320d73712ed2199b66f to your computer and use it in GitHub Desktop.
Troubleshooting.md

Troubleshooting

Video

Rotating/flipping webcam data stream (and other issues)

Currently qTox doesn't support adjusting the video stream obtained from webcams. This may change in the future.

In some laptops, the camera has been assembled upside-down. To have the image correctly displayed it is required to flip the stream vertically.

One way to workaround this is by using a kernel module that creates a virtual video (webcam) device v4l2loopback and ffmpeg to transform the original video with one or more filters.

First, compile and install v4l2loopback. After modprobe v4l2loopback and if everything worked correctly you should now see a /dev/videoX device that didn't exist before. If you have only one video device on your machine, the new one will likely be video1.

Next you can use ffmpeg to process the original stream and redirect it to /dev/video1. To do this, open a new terminal window and run: ffmpeg -f v4l2 -i /dev/video0 -f v4l2 /dev/video1. If you have an activity led on your webcam, it should now be on.

You can now start qTox, go to Settings > Audio/Video and on Video device select Dummy video device .... If all is good you should see video as if you had selected the webcam device.

For the original issue of the image being upside-down, you need to enable the vflip filter by adding -vf "vflip". Go ahead and try running: ffmpeg -f v4l2 -i /dev/video0 -vf "vflip" -f v4l2 /dev/video1 You should now see the preview video image on qTox shown correctly (or upside-down if it wasn't broken before). If you also wanted to flip the image horizontally you would use: ffmpeg -f v4l2 -i /dev/video0 -vf "vflip,hflip" -f v4l2 /dev/video1

For any further manipulation check all the available filters with: ffmpeg -filters. Note that the list also includes audio related filters. In this case only the ones concerning video matter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment