Skip to content

gvapython causing excessive delay in pipeline #457

@paakhim10

Description

@paakhim10

Hello,
I have built a GStreamer pipeline for my use-case and recently added a callback for post-processing which is slowing down the inference.
My previous pipeline looked something like this:

gst-launch-1.0 filesrc location=${VIDEO_EXAMPLE} ! decodebin3 ! \
  videoconvert ! capsfilter caps="video/x-raw,format=BGRx" ! \
  gvadetect model=${MODEL} model_proc=${MODEL_PROC} device=CPU ! \
  gvafpscounter interval=1 ! \
  gvametaconvert ! \
  gvametapublish file-format=json-lines file-path=$METADATA_FILE ! \
  videoconvert ! x264enc ! mp4mux ! \
  filesink location=outputs/output.mp4

At this point, the fpscounter indicated an average fps of 58.7 fps. However, once I added my gvapython callback script, the average fps falls to 14.44 fps.

gst-launch-1.0 filesrc location=${VIDEO_EXAMPLE} ! decodebin3 ! \
  videoconvert ! capsfilter caps="video/x-raw,format=BGRx" ! \
  gvadetect model=${MODEL} model_proc=${MODEL_PROC} device=CPU ! \
  gvafpscounter interval=1 ! \
  gvapython module=assets/scripts/zone_detection.py ! \
  gvametaconvert ! \
  gvametapublish file-format=json-lines file-path=$METADATA_FILE ! \
  videoconvert ! x264enc ! mp4mux ! \
  filesink location=outputs/output.mp4

For additional information, I am also linking a metadata monitoring script to the pipeline through the shell script, which monitors the metadata.json file in real-time.

How can I bring the fps back up?
Thank you so much.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions