I’m running some tests on the TX2 NX to measure time to encode raw video files, as well as power consumption and resource utilisation.
For example, I would run the following pipeline:
gst-launch-1.0 filesrc location=original_cut.raw ! 'video/x-raw, width=(int)1440, height=(int)1080, framerate=(fraction)60/1' ! rawvideoparse width=1440 height=1080 format=gray8 framerate=60 ! nvvidconv ! nvv4l2h265enc MeasureEncoderLatency=true control-rate=1 qp-range=0,22:0,22:0,22 quant-i-frames=0 quant-p-frames=0 ! h265parse ! qtmux ! filesink location=/dev/null
The total time indicated by Gstreamer would be:
“Execution ended after 0:00:03.267317578”
However, the log file created by the “MeasureEncoderLatency” option gives encoding times per frame that average out to 17.5ms
The video file was 7 seconds and 420 frames. 420 frames x 17.5ms is 7.35 seconds. This is much longer than the 3.26 seconds indicated by Gstreamer at the end of execution.
What is happening here? Which encoding time is correct?