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

Presencealways

Directionsink

Object typeGstPad


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

Presencealways

Directionsrc

Object typeGstPad


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