gopbuffer
gopbuffer is an element that can be used to store a minimum duration of data delimited by discrete GOPs (Group of Picture). It does this in by differentiation on the DELTA_UNIT flag on each input buffer.
One example of the usefulness of gopbuffer is its ability to store a backlog of data starting on a key frame boundary if say the previous 10s seconds of a stream would like to be recorded to disk.
Example pipeline
gst-launch videotestsrc ! vp8enc ! gopbuffer minimum-duration=10000000000 ! fakesink
Hierarchy
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstElement ╰──gopbuffer
Factory details
Authors: – Matthew Waters
Classification: – Video
Rank – primary
Plugin – gopbuffer
Package – gst-plugin-gopbuffer
Pad Templates
video_sink
video/x-h264:
stream-format: { (string)avc, (string)avc3 }
alignment: au
video/x-h265:
stream-format: { (string)hvc1, (string)hev1 }
alignment: au
video/x-vp8:
video/x-vp9:
video/x-av1:
stream-format: obu-stream
alignment: tu
video_src
video/x-h264:
stream-format: { (string)avc, (string)avc3 }
alignment: au
video/x-h265:
stream-format: { (string)hvc1, (string)hev1 }
alignment: au
video/x-vp8:
video/x-vp9:
video/x-av1:
stream-format: obu-stream
alignment: tu
Properties
max-size-time
“max-size-time” guint64
The maximum duration to store (0=disable)
Flags : Read / Write
Default value : 0
minimum-duration
“minimum-duration” guint64
The minimum duration to store
Flags : Read / Write
Default value : 1000000000
The results of the search are