I tested video streaming with a USB camera and it is working. Resolutions are selectable and I can view the stream in VLC and Qgroundcontrol. Missionplanner is refusing to show the gstreamer stream for now.
Here is the output without the USB cam connected:
gst-device-monitor-1.0
Probing devices…
Device found:
name : Raspberry Pi Camera Module
class : Video/Source
caps : video/x-h264, width=(int)[ 1, 1920 ], height=(int)[ 1, 1080 ], f ramerate=(fraction)[ 0/1, 1000/1 ], stream-format=(string)byte-stream, alignment =(string)au, profiles=(string){ high, main, baseline };
gst-launch-1.0 rpicamsrc ! ...
Device found:
name : mmal service 16.1
class : Video/Source
caps : video/x-raw, format=(string)YUY2, width=(int)[ 32, 2592, 2 ], he ight=(int)[ 32, 1944, 2 ], framerate=(fraction)[ 1/1, 90/1 ];
video/x-raw, format=(string)UYVY, width=(int)[ 32, 2592, 2 ], he ight=(int)[ 32, 1944, 2 ], framerate=(fraction)[ 1/1, 90/1 ];
video/x-raw, format=(string)I420, width=(int)[ 32, 2592, 2 ], he ight=(int)[ 32, 1944, 2 ], framerate=(fraction)[ 1/1, 90/1 ];
video/x-raw, format=(string)YV12, width=(int)[ 32, 2592, 2 ], he ight=(int)[ 32, 1944, 2 ], framerate=(fraction)[ 1/1, 90/1 ];
image/jpeg, width=(int)[ 32, 2592, 2 ], height=(int)[ 32, 1944, 2 ], framerate=(fraction)[ 1/1, 90/1 ];
image/jpeg, width=(int)[ 32, 2592, 2 ], height=(int)[ 32, 1944, 2 ], framerate=(fraction)[ 1/1, 90/1 ];
video/x-raw, format=(string)BGRx, width=(int)[ 32, 2592, 2 ], he ight=(int)[ 32, 1944, 2 ], framerate=(fraction)[ 1/1, 90/1 ];
video/x-raw, format=(string)BGR, width=(int)[ 32, 2592, 2 ], hei ght=(int)[ 32, 1944, 2 ], framerate=(fraction)[ 1/1, 90/1 ];
video/x-raw, format=(string)RGB, width=(int)[ 32, 2592, 2 ], hei ght=(int)[ 32, 1944, 2 ], framerate=(fraction)[ 1/1, 90/1 ];
video/x-raw, format=(string)NV21, width=(int)[ 32, 2592, 2 ], he ight=(int)[ 32, 1944, 2 ], framerate=(fraction)[ 1/1, 90/1 ];
video/x-raw, format=(string)NV12, width=(int)[ 32, 2592, 2 ], he ight=(int)[ 32, 1944, 2 ], framerate=(fraction)[ 1/1, 90/1 ];
video/x-raw, format=(string)YVYU, width=(int)[ 32, 2592, 2 ], he ight=(int)[ 32, 1944, 2 ], framerate=(fraction)[ 1/1, 90/1 ];
video/x-h264, stream-format=(string)byte-stream, alignment=(stri ng)au, width=(int)[ 32, 2592, 2 ], height=(int)[ 32, 1944, 2 ], framerate=(fract ion)[ 1/1, 90/1 ];
properties:
udev-probed = true
device.bus_path = /sys/devices/virtual/video4linux/video2
sysfs.path = /sys/devices/virtual/video4linux/video2
device.subsystem = video4linux
device.product.name = "mmal\ service\ 16.1"
device.capabilities = :capture:video_overlay:
device.api = v4l2
device.path = /dev/video2
v4l2.device.driver = "bm2835\ mmal"
v4l2.device.card = "mmal\ service\ 16.1"
v4l2.device.bus_info = platform:bcm2835-v4l2
v4l2.device.version = 267083 (0x0004134b)
v4l2.device.capabilities = 2233466885 (0x85200005)
v4l2.device.device_caps = 85983237 (0x05200005)
gst-launch-1.0 v4l2src device=/dev/video2 ! ...