GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.
https://gstreamer.freedesktop.org/
v4l2src: Reads frames from a linux video device.
videotestsrc: Creates a test video stream.
videoconvert: Converts video format.
videoscale: Resizes video.
autovideosink: Automatically detects video sink.
gst-launch-1.0 -vvv videotestsrc ! 'video/x-raw,width=1280,height=720,format=RGB,framerate=60/1' ! autovideosink gst-launch-1.0 -vvv videotestsrc ! 'video/x-raw,width=1280,height=720,format=YV12,framerate=30/1' ! autovideosink
v4l2src: Reads frames from a linux video device. videotestsrc: Creates a test video stream. videoconvert: Converts video format. videoscale: Resizes video. autovideosink: Automatically detects video sink.
v4l2-ctl --list-formats-ext --device /dev/video2