Jump to content

GStreamer In-Band Metadata for MPEG Transport Stream - Performance

From RidgeRun Developer Wiki


Previous: Examples/RTSP_stream_with_metadata Index Next: FAQ





TL;DR

This section is organized as follows:


NXP i.MX95 Platform

Benchmark environment

The following setup was used for all the benchmarks:

Instruments:

Replicate the Results

The following pipelines were used to measure the performance.

H264 Metadata

gst-launch-1.0 metasrc metadata=%T period=1000 ! meta/x-klv,parsed=true,stream_type=21 ! perf print-cpu-load=true ! queue ! mpegtsmux name=mux ! filesink location=meta.ts  v4l2src device=/dev/video6 ! video/x-raw,format=YUY2,width=1920,height=1080,framerate=30/1 ! queue ! v4l2h264enc ! h264parse ! mux.

H265 Metadata

gst-launch-1.0 metasrc metadata=%T period=1000 ! meta/x-klv,parsed=true,stream_type=21 ! perf print-cpu-load=true ! queue ! mpegtsmux name=mux ! filesink location=meta.ts  v4l2src device=/dev/video6 ! video/x-raw,format=YUY2,width=1920,height=1080,framerate=30/1 ! queue ! v4l2h265enc ! h265parse ! mux.

Simple Metadata

gst-launch-1.0 metasrc metadata=The_current_time_is:%T period=1000 ! 'meta/x-klv' ! perf print-cpu-load=true ! filesink sync=false async=true location=meta.txt

Results

The following images show the average values of usage, respectively.

CPU Usage

RAM Usage

Framerate

The following graph shows exactly when the metadata was injected, in this case at one second.


Summary

The following table summarize the results.

Pipeline CPU (%) RAM (MB) RAM (%)
Simple 0.167 8.176 0.110
H264 16.853 13.511 0.177
H265 17.141 14.425 0.188




Previous: Examples/RTSP_stream_with_metadata Index Next: FAQ



Cookies help us deliver our services. By using our services, you agree to our use of cookies.