Skip to content

Instantly share code, notes, and snippets.

@tcanabrava
Created December 3, 2019 20:52
Show Gist options
  • Save tcanabrava/0297d3b7b43d083b3495a9abb0c14690 to your computer and use it in GitHub Desktop.
Save tcanabrava/0297d3b7b43d083b3495a9abb0c14690 to your computer and use it in GitHub Desktop.
The main idea is to have a "Base" pipeline that will handle receiving video,
and a "Fixed" pipeline that handles recording / displaying video.
Finished pipeline is Base + Fixed.
UDP Pipeline:
"udpsrc port=5600 ! application/x-rtp, clock-rate=90000,payload=96"
RTSP Pipeline:
"rtspsrc location=%1 latency=5"
Fixed Pipeline:
! rtph264depay ! video/x-h264 ! tee name=t
t. ! queue ! h264parse ! decodebin ! glupload ! glcolorconvert ! qmlglsink name=sink
t. ! queue ! queue ! filesink name=fille_handler location=...
Then we get the file_handler and the sink via gst_element_get(), and
plug the callbacks for play / pause and record / stop recording.
@jaxxzer
Copy link

jaxxzer commented Dec 4, 2019

This is great for the receiving end of the pipelines. Please also make up some commands for the transmitting end of the pipelines like v4l2src with udp and rtsp.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment