GstSEIMetadata - Performance
GstSEIMetadata |
---|
GstSEIMetadata Basics |
Getting Started |
User Guide |
Examples |
Performance |
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