Ubuntu-Mate 14.04 64x, nVidia GT620.
I made a 3D scene (in BGE) with two VideoTextures: one shows the webcam image, the other one: a v4l2loopback device capturing second-display screen, using gst-launch-1.0. No matter what command I use (*), when BlenderPlayer starts, it only shows the first frame of the v4l2loopback device. Webcam works well.
What I tested:
- Using VLC, webcam and any v4l2loopback works OK. I get smooth playback.
- Using Blender, webcam and another capture device (EasyCap), also I get smooth playback of both devices.
- Using two gst-launch-1.0 instances, both devices are displayed well in different windows, at the same time (I use "ximagesink" instead of "v4l2sink...")
(*) My command:
gst-launch-1.0 ximagesrc startx=1920 starty=0 endx=2943 endy=768 show-pointer=0 use-damage=0 \ ! video/x-raw,framerate=30/1 \ ! videoscale method=0 add-borders=false \ ! video/x-raw,width=640,height=360 \ ! videoflip method=horizontal-flip \ ! v4l2sink device=/dev/video1
Also, I tried with the simplest one:
gst-launch videotestsrc ! v4l2sink device=/dev/video1
To reproduce the "issue"
- Install v4l2loopback module (https://github.com/umlaeute/v4l2loopback)
- Connect a webcam.
- Run the simple gst-launch command mentioned above.
- Open VLC and test both devices.
- Close VLC.
- Open the blend file in Blender.
- Start Game Engine.
What it should do
- One object should show the webcam device and, the other, a video-test-pattern with motion.
I also reported in v4l2loopback GitHub issues page: https://github.com/umlaeute/v4l2loopback/issues/115