nvjpegenc influenc omxh264enc performance ???

flow is my pipeline:

gst-launch-1.0 nvcamerasrc num-buffers=1800 ! 'video/x-raw(memory:NVMM), format=(string)I420, width=(int)4096, height=(int)3076, framerate=(fraction)30/1' ! nvvidconv ! 'video/x-raw, format=(string)I420, width=(int)4096, height=(int)3076, framerate=(fraction)30/1' ! tee name=t ! queue ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420, width=(int)4096, height=(int)2048, framerate=(fraction)30/1' ! omxh264enc ! splitmuxsink async-handling=true location=test%d.mp4 max-size-time=60000000000 t. ! queue ! videorate ! 'video/x-raw, framerate=(fraction)2/1' ! nvjpegenc quality=100 ! multifilesink location=imag%d.jpg

but time is 1 min 04s

ubuntu@tegra-ubuntu:~/Videos$ gst-launch-1.0 nvcamerasrc num-buffers=1800 ! 'video/x-raw(memory:NVMM), format=(string)I420, width=(int)4096, height=(int)3076, framerate=(fraction)30/1' ! nvvidconv ! 'video/x-raw, format=(string)I420, width=(int)4096, height=(int)3076, framerate=(fraction)30/1' ! tee name=t ! queue ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420, width=(int)4096, height=(int)2048, framerate=(fraction)30/1' ! omxh264enc ! splitmuxsink async-handling=true location=test%d.mp4 max-size-time=60000000000 t. ! queue ! videorate ! 'video/x-raw, framerate=(fraction)2/1' ! nvjpegenc quality=100 ! multifilesink location=imag%d.jpg
Setting pipeline to PAUSED ...
Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingInside NvxLiteH265DecoderLowLatencyInitNvxLiteH265DecoderLowLatencyInit set DPB and Mjstreaming
Available Sensor modes : 
2592 x 1944 FR=30.000000 CF=0x1009208a10 SensorModeType=4 CSIPixelBitDepth=10 DynPixelBitDepth=10
2592 x 1458 FR=30.000000 CF=0x1009208a10 SensorModeType=4 CSIPixelBitDepth=10 DynPixelBitDepth=10
1280 x 720 FR=120.000000 CF=0x1009208a10 SensorModeType=4 CSIPixelBitDepth=10 DynPixelBitDepth=10
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

NvCameraSrc: Trying To Set Default Camera Resolution. Selected 4096x3076 FrameRate = 30.000000 ...

Framerate set to : 30 at NvxVideoEncoderSetParameterNvMMLiteOpen : Block : BlockType = 4 
===== MSENC =====
NvMMLiteBlockCreate : Block : BlockType = 4 
===== MSENC blits (mode: 1) into tiled surfaces =====
Got EOS from element "pipeline0".
Execution ended after 0:01:04.954634270
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

Hi gunagjie, for 1800 frames in 30 fps, 1min04sec looks reasonable. Is there nything wrong?

for 1800 frames in 30 fps, 1min04sec is 64S, 1800/64 = 28.125fps not 30fps

but when just compress video through omxh264enc not use nvjpegenc , it can reach 30fps, like this:

gst-launch-1.0 nvcamerasrc num-buffers=1800 ! 'video/x-raw(memory:NVMM), format=(string)I420, width=(int)4096, height=(int)3076, framerate=(fraction)30/1' ! nvvidconv ! 'video/x-raw, format=(string)I420, width=(int)4096, height=(int)3076, framerate=(fraction)30/1' ! queue ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420, width=(int)4096, height=(int)2048, framerate=(fraction)30/1' ! omxh264enc ! splitmuxsink async-handling=true location=test%d.mp4 max-size-time=60000000000
(gst-plugin-scanner:1982): GLib-GObject-WARNING **: cannot register existing type 'GstBaseTextOverlay'

(gst-plugin-scanner:1982): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(gst-plugin-scanner:1982): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed

(gst-plugin-scanner:1982): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(gst-plugin-scanner:1982): GStreamer-CRITICAL **: gst_element_register: assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed
Setting pipeline to PAUSED ...
Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingInside NvxLiteH265DecoderLowLatencyInitNvxLiteH265DecoderLowLatencyInit set DPB and Mjstreaming
Available Sensor modes : 
2592 x 1944 FR=30.000000 CF=0x1009208a10 SensorModeType=4 CSIPixelBitDepth=10 DynPixelBitDepth=10
2592 x 1458 FR=30.000000 CF=0x1009208a10 SensorModeType=4 CSIPixelBitDepth=10 DynPixelBitDepth=10
1280 x 720 FR=120.000000 CF=0x1009208a10 SensorModeType=4 CSIPixelBitDepth=10 DynPixelBitDepth=10
Pipeline is live and does not need PREROLL ...

NvCameraSrc: Trying To Set Default Camera Resolution. Selected 4096x3076 FrameRate = 30.000000 ...

Setting pipeline to PLAYING ...
New clock: GstSystemClock
Framerate set to : 30 at NvxVideoEncoderSetParameterNvMMLiteOpen : Block : BlockType = 4 
===== MSENC =====
NvMMLiteBlockCreate : Block : BlockType = 4 
===== MSENC blits (mode: 1) into tiled surfaces =====
Got EOS from element "pipeline0".
Execution ended after 0:01:00.201738883
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

Hi gunagjie,
nvjpegenc is mainly for single JPEG encoding case and not designed for motion jpeg encoding case.

Can you try if ‘sudo ~/jetson_clocks.sh’ helps the case?