I have configured two virtual cameras, video4
and video5
, to allow two different applications to simultaneously access the same webcam. To stream the video from the physical camera (/dev/video0
) to these virtual devices (/dev/video4
and /dev/video5
), I am using GStreamer with the following pipeline:
gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw, width=640, height=480, framerate=30/1" ! videoconvert ! tee name=t ! queue ! v4l2sink device=/dev/video4 t. ! queue ! v4l2sink device=/dev/video5
However, when viewing or recording video from video4
or video5
, the playback often appears to skip frames or even occasionally speeds up the video for a short duration. To record the video from video5
, I use the following pipeline:
gst-launch-1.0 -e v4l2src device=/dev/video5 ! video/x-raw,framerate=30/1 ! videoconvert ! queue ! x264enc ! qtmux ! filesink location=output2.mp4
Device : Jetson Xaiver NX developer kit
Webcam : Logitech C270 and C505e