Recently was shared a post explaining how to use gstreamer1.0-rtsp-server package on i.MX6DL/Q SABRE-SD to stream video files and camera using RTSP protocol.
However that post shares an approach not direct.
One solution for this is use the Gateworks plugin gst-variable-rtsp-server, which offers a direct way for gstreamer1.0-rtsp-server, with the ability to dynamically change the bitrate of the video stream on the fly.
How to install
- Prepare your machine and distro, as the example below:
MACHINE=imx6qdlsabresd DISTRO=fslc-x11 source setup-environment build
- Add the following on your
CORE_IMAGE_EXTRA_INSTALL += "gst-variable-rtsp-server"
bitbake fsl-image-multimedia-fulland mount your
You can use another distro or image, but be sure to include all you need to support your GStreamer pipelines.
Check the section
preparing the boards in the RTSP video and camera stream post to be able to test the GStreamer pipelines below.
Video test source example
=> gst-variable-rtsp-server -p 9001 -u "videotestsrc ! imxvpuenc_h264 ! rtph264pay name=pay0 pt=96"
gst-launch-1.0 rtspsrc location=rtsp://$SERVERIP:9001/stream ! queue ! decodebin ! autovideosink
=> gst-variable-rtsp-server -p 9001 -u "imxv4l2videosrc device=/dev/video0 ! capsfilter caps='video/x-raw, width=1280, height=720, framerate=30/1' ! imxvpuenc_h264 ! rtph264pay name=pay0 pt=96"
gst-launch-1.0 rtspsrc location=rtsp://$SERVERIP:9001/stream latency=100 buffer-mode=slave ! decodebin ! autovideosink sync=false