GstSEIMetadata - Performance

From RidgeRun Developer Connection
Jump to: navigation, search


Previous: Examples/C Example Index Next: Contact Us





All the following pipelines were tested on a Xavier NX, using a imx219 camera. The CPU load in all cases was around 20%-23% and the frame rate was 30 fps. Elements from the GstSEI plugin didn't have a noticeable effect on the CPU usage.

First, a reference pipeline without any elements form the GstSEI plugin, it just captures from the camera, encodes the video in H264 and uses the perf element to meassure frame rate and CPU usage.

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, framerate=(fraction)30/1, format=(string)NV12" ! nvvidconv ! nvv4l2h264enc bitrate=4000000 control-rate=constant_bitrate iframeinterval=30 ! perf ! fakesink

Now lets add the seimetatester element to the previous pipeline.

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, framerate=(fraction)30/1, format=(string)NV12" ! nvvidconv ! nvv4l2h264enc bitrate=4000000 control-rate=constant_bitrate iframeinterval=30 ! seimetatester ! perf ! fakesink

Now lets add the seimetatester and the seiinject elements.

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, framerate=(fraction)30/1, format=(string)NV12" ! nvvidconv ! nvv4l2h264enc bitrate=4000000 control-rate=constant_bitrate iframeinterval=30 ! seimetatester ! seiinject metadata="Hello World" ! perf ! fakesink

Now lets add the seimetatester and the seiextract elements to the reference pipeline.

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, framerate=(fraction)30/1, format=(string)NV12" ! nvvidconv ! nvv4l2h264enc bitrate=4000000 control-rate=constant_bitrate iframeinterval=30 ! seimetatester ! seiextract ! perf ! fakesink

Now all three elements together.

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, framerate=(fraction)30/1, format=(string)NV12" ! nvvidconv ! nvv4l2h264enc bitrate=4000000 control-rate=constant_bitrate iframeinterval=30 ! seimetatester ! seiinject metadata="Hello World" ! seiextract ! perf ! fakesink

Now the same pipeline as before but with a long string as metadata.

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, framerate=(fraction)30/1, format=(string)NV12" ! nvvidconv ! nvv4l2h264enc bitrate=4000000 control-rate=constant_bitrate iframeinterval=30 ! seimetatester ! seiinject metadata="Hello Worldaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ! seiextract ! perf ! fakesink



Previous: Examples/C Example Index Next: Contact Us