OpenMAX H.265 Video Encoder Latency Issue

Hi,

Setup
Jetson Nano with Jetson Nano Developer Kit SD Card Image

Issue
I observed varying OMX H265 Encoder Latency when i ran below GStreamer Pipelines on Jetson Nano. Can someone explain on what factors does Encoder Latency depend on ? and why has it increased from 15ms to 28ms in below pipelines.

Pipeline1 → Camera Capture + OMX H265 Encode + Fakesink

Observed omxh265enc Latency as ~15ms with below pipeline

gst-launch-1.0 nvarguscamerasrc ! ‘video/x-raw(memory:NVMM), width=1920, height=1080, framerate=30/1, format=NV12’ ! omxh265enc MeasureEncoderLatency=true ! video/x-h265,stream-format=byte-stream ! fpsdisplaysink name=fpssink text-overlay=false video-sink=“fakesink sync=false” sync=false -v

Pipeline2 → File Source + OMX H265 Decode + OMX H265 Encode + Fakesink

Observed omxh265enc Latency as ~28ms with below pipeline

gst-launch-1.0 filesrc location=1080p30_nv12.hevc ! h265parse ! omxh265dec ! omxh265enc MeasureEncoderLatency=true ! queue max-size-bytes=0 ! fpsdisplaysink name=fpssink text-overlay=false video-sink=“fakesink sync=false” sync=false -v

I am supecting the .hevc file in my pipeline. Can anyone share refer/share me sample .hevc files that i can use ?

Hi,
We are deprecating omx plugins. Please look at release note:
https://developer.nvidia.com/jetson-linux-driver-package-release-notes-r3244
5.12 GStreamer Plugin gst-omx Deprecated

Suggest you use v4l2 plugin and enable the property:

  maxperf-enable      : Enable or Disable Max Performance mode
                        flags: readable, writable, changeable only in NULL or READY state
                        Boolean. Default: false
1 Like