g3dlidarparse#

Parses raw LiDAR frames (BIN/PCD) into point-cloud metadata. The element reads binary LiDAR buffers, applies stride and frame-rate thinning, and attaches LidarMeta (points, frame_id, timestamps, stream_id) for downstream fusion, analytics, or visualization.

Overview#

The g3dlidarparse element ingests raw LiDAR frame data and produces buffers enriched with LiDAR metadata. It is typically used as a source-side pre-processor in 3D pipelines before visualization or sensor-fusion stages.

Key operations:

  • Input parsing: Reads raw LiDAR frames (BIN/PCD) from application/octet-stream buffers

  • Frame thinning: Applies stride and frame-rate controls to reduce processing load

  • Metadata attachment: Emits LidarMeta containing point cloud data and frame identifiers

Properties#

Property

Type

Description

Default

stride

Integer (>=1)

Process every Nth frame (1 = every frame).

1

frame-rate

Float (>=0)

Target output frame rate (0 = no limit).

0

Pipeline Examples#

Basic parsing pipeline#

gst-launch-1.0 multifilesrc location="velodyne/%06d.bin" start-index=250 caps=application/octet-stream ! \
  g3dlidarparse stride=1 frame-rate=5 ! fakesink

Input/Output#

  • Input Capability: application/octet-stream (raw LiDAR frame data)

  • Output Capability: application/x-lidar (buffer with attached LiDAR metadata)

Metadata Structure#

The element attaches LidarMeta to each output buffer, containing:

  • Point cloud coordinates

  • Frame identifier

  • Timestamps and stream identifiers

Processing Pipeline#

  1. Buffer validation: Ensures input buffer is present and readable

  2. Frame selection: Applies stride and frame-rate logic

  3. Parsing: Decodes BIN/PCD data into point cloud representation

  4. Metadata attachment: Attaches LidarMeta to the buffer

Element Details (gst-inspect-1.0)#

Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      application/octet-stream

  SRC template: 'src'
    Availability: Always
    Capabilities:
      application/x-lidar

Element has no clocking capabilities.
Element has no URI handling capabilities.

Pads:
  SINK: 'sink'
    Pad Template: 'sink'
  SRC: 'src'
    Pad Template: 'src'

Element Properties:

  frame-rate          : Desired output frame rate in frames per second. A value of 0 means no frame rate control.
                        flags: readable, writable
                        Float. Range:               0 -    3.402823e+38 Default:               0

  name                : The name of the object
                        flags: readable, writable
                        String. Default: "g3dlidarparse0"

  parent              : The parent of the object
                        flags: readable, writable
                        Object of type "GstObject"

  qos                 : Handle Quality-of-Service events
                        flags: readable, writable
                        Boolean. Default: false

  stride              : Specifies the interval of frames to process, controls processing granularity. 1 means every frame is processed, 2 means every second frame is processed.
                        flags: readable, writable
                        Integer. Range: 1 - 2147483647 Default: 1