NVIDIA NX Dev Kit won't decode 4K resolution video at 60fps

I have created 2 x 4K resolution video streams compressed with h.265 at 30Mbps & 60 fps. I can stream them to my Alienware PC with an NVIDIA 3070 GPU and they play back properly. When I connect the same streams to the NVIDIA NX Development kit (all via direct linked ethernet), the NX only plays back at 20fps. The NX is advertised to support h.265 decode of 2 x 4K, 60fps videos. I can’t get that to happen. I have turned on Jetson_clocks and set nvpmodel -m 0. Nothing makes a difference. Am I missing a setting, or is the spec sheet wrong?

Hi,
Please provide your release version:

$ head -1 /etc/nv_tegra_release

And do you use gstreamer or jetson_multimedia_api? We have enable hardware acceleration in the two software frameworks. Not sure if you use either one.

You can execute sudo tegrastats to check if hardware decoder is used. If it is used, you will see NVDEC is shown.

DaneLLL,

Thanks for answering.

R32, Revision 5.1, GCID 26202423 board t186ref, EABI aarch64, DATE Fri Feb 19 16:50:29 UTC 2021

I am using Gstreamer on both the PC and NX.

I have installed and run JTOP on the NX; it indicates that NVDEC is in use when decoding the stream.

Rod Sheffield
760 443 0103
rsheffield@zygodigital.com

image001.png

Hi,
Please share the gstreamer pipeline for reference. Thanks.

gst-launch-1.0 rtspsrc location=rtsp://169.254.157.27:8888/stream1 latency=0 ! rtph265depay ! h265parse ! nvv4l2decoder ! queue max-size-buffers=1 leaky=downstream ! nvvidconv ! fpsdisplaysink video-sink=xvimagesink sync=false

Hi,
In using xvimagesink, there is extra memory copy. Please try

$ gst-launch-1.0 rtspsrc location=rtsp://169.254.157.27:8888/stream1 latency=0 ! rtph265depay ! h265parse ! nvv4l2decoder enable-max-performance=1 ! fpsdisplaysink text-overlay=0 video-sink=nvoverlaysink sync=0 -v

May also try nveglglessink. Please check gstreamer user guide for more examples.

That is worse than the original pipeline.
It barely responds, then turns to a red screen and I have to reboot to get back to the start.

I lowered the frame rate to 30 & the NX now just hits 15 fps.
There is clearly something wrong with the codec.
The PC is decoding at 30 fps as it should (using almost the same pipeline as you have to call a different codec on the PC).

Hi,
The red screen is because the content is 4K but the TV does not support 4K. Please downscale to 1080p:

$ gst-launch-1.0 rtspsrc location=rtsp://169.254.157.27:8888/stream1 latency=0 ! rtph265depay ! h265parse ! nvv4l2decoder enable-max-performance=1 ! nvvidconv ! 'video/x-raw(memory:NVMM),width=1920,height=1080,format=NV12' ! fpsdisplaysink text-overlay=0 video-sink=nvoverlaysink sync=0 -v

The monitor supports 4K UHD just fine.
It plays back full screen, no problem with the PC receiving the stream.
It handles 2 x 4K streams at 60fps; that’s my point.
It also plays back videos I record at 4K resolution and play back with Gstreamer.

I don’t care about 1080p, nor anything lower than 60fps.
If the NX can’t support that, then I’ll move on to another solution.

Hi,
The nvoverlaysink plugin does not support multi windows. Please try nv3dsink plugin. It achieves 2x 4Kp60 in running the commands:

$ sudo nvpmodel -m 2
$ sudo jetson_clocks
$ export DISPLAY=:0
$ gst-launch-1.0 filesrc location= jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv ! matroskademux ! h265parse ! nvv4l2decoder enable-max-performance=1 ! nvvidconv ! 'video/x-raw(memory:NVMM),format=NV12' ! fpsdisplaysink text-overlay=0 video-sink=nv3dsink sync=0 -v & gst-launch-1.0 filesrc location= jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv ! matroskademux ! h265parse ! nvv4l2decoder enable-max-performance=1 ! nvvidconv ! 'video/x-raw(memory:NVMM),format=NV12' ! fpsdisplaysink text-overlay=0 video-sink=nv3dsink sync=0 -v &

Test video file is from https://jell.yfish.us/

Please try and check if you can achieve target fps with file sources, and then try RTSP sources.

DaneLLL,

Sorry for the late reply. I had a few other things to do. I followed your instructions, downloaded the jellyfish example and one of my own I recorded at 60 fps. Neither played any faster than 30fps from the Desktop.

Rod Sheffield

Hi,
It is a bit strange. I can see two playback windows run smoothly and reports 60fps in log print on r32.5.1/Xavier NX.

Could you try with fakesink and see if two decoding threads achieving 60+fps?:

$ gst-launch-1.0 filesrc location= jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv ! matroskademux ! h265parse ! nvv4l2decoder enable-max-performance=1 ! nvvidconv ! 'video/x-raw(memory:NVMM),format=NV12' ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 -v & gst-launch-1.0 filesrc location= jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv ! matroskademux ! h265parse ! nvv4l2decoder enable-max-performance=1 ! nvvidconv ! 'video/x-raw(memory:NVMM),format=NV12' ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 -v &

DaneLLL,

Yes, fakesink plays the videos at an average of ~80fps.

/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 817, dropped: 0, current: 100.72, average: 80.24
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 820, dropped: 0, current: 101.78, average: 80.37
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 867, dropped: 0, current: 98.64, average: 81.11
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 869, dropped: 0, current: 96.85, average: 81.15

Videos I recorded play at an even higher frame rate.

So … how do I actually “see” the results?

Rod

Hi,
Do you have other TV for a try? We are able to see two windows rendering at 60fps with nv3dsink. If you have other TV, would like you to give it a try.

DaneLLL,

I tried another 4KUHD monitor; same results.
I also tried a DisplayPort to HDMI adapter that works on my PC with the same monitors.
That wouldn’t register with the display at all.
Seems like something is not right with the display outputs on my NX.

Rod Sheffield

Hi,
We try it on Xavier NX + Sony KD-55X9000E. Attach the log for reference:

nvidia@nvidia-desktop:~$ sudo nvpmodel -m 2
[sudo] password for nvidia:
NVPM WARN: patching tpc_pg_mask: (0x1:0x4)
NVPM WARN: patched tpc_pg_mask: 0x4
nvidia@nvidia-desktop:~$ sudo jetson_clocks
nvidia@nvidia-desktop:~$ export DISPLAY=:0
nvidia@nvidia-desktop:~$ xrandr
Screen 0: minimum 8 x 8, current 3840 x 2160, maximum 32767 x 32767
HDMI-0 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 1220mm x 680mm
   1920x1080     60.00 +  59.95    50.00    30.00    29.97    24.00    23.98
   4096x2160     60.02    59.98    50.01    24.00    23.98
   3840x2160     60.02*   59.98    50.01    30.00    29.97    25.00    24.00    23.98
   1680x1050     59.96
   1600x900      60.00
   1280x1024     60.00
   1280x720      60.00    59.94    50.00    30.00    29.97    24.00    23.98
   1152x864      75.00
   1024x768      60.01
   800x600       60.32
   720x576       50.00
   720x480       59.94
   640x480       59.94
DP-0 disconnected (normal left inverted right x axis y axis)
nvidia@nvidia-desktop:~$ gst-launch-1.0 filesrc location= jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv ! matroskademux ! h265parse ! nvv4l2decoder enable-max-performance=1 ! nvvidconv ! 'video/x-raw(memory:NVMM),format=NV12' ! fpsdisplaysink text-overlay=0 video-sink=nv3dsink sync=0 -v & gst-launch-1.0 filesrc location= jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv ! matroskademux ! h265parse ! nvv4l2decoder enable-max-performance=1 ! nvvidconv ! 'video/x-raw(memory:NVMM),format=NV12' ! fpsdisplaysink text-overlay=0 video-sink=nv3dsink sync=0 -v &
[1] 9015
[2] 9016
nvidia@nvidia-desktop:~$ Setting pipeline to PAUSED ...
Setting pipeline to PAUSED ...
Opening in BLOCKING MODE
Opening in BLOCKING MODE
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstNv3dSink:nv3dsink0: sync = false
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstNv3dSink:nv3dsink0: sync = false
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:sink: caps = video/x-h265, level=(string)5.1, tier=(string)high, profile=(string)main-10, codec_data=(buffer)01222000000090000000000099f000fffdfafa00000f03a00001001840010c01ffff222000000300900000030000030099999809a10001002a420101222000000300900000030000030099a001e020021c4d96666924caf01010000006400000bb5080a2000100074401c172b46240, stream-format=(string)hvc1, alignment=(string)au, width=(int)3840, height=(int)2160, framerate=(fraction)30000/1001
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:sink: caps = video/x-h265, level=(string)5.1, tier=(string)high, profile=(string)main-10, codec_data=(buffer)01222000000090000000000099f000fffdfafa00000f03a00001001840010c01ffff222000000300900000030000030099999809a10001002a420101222000000300900000030000030099a001e020021c4d96666924caf01010000006400000bb5080a2000100074401c172b46240, stream-format=(string)hvc1, alignment=(string)au, width=(int)3840, height=(int)2160, framerate=(fraction)30000/1001
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:src: caps = video/x-h265, level=(string)5.1, tier=(string)high, profile=(string)main-10, stream-format=(string)byte-stream, alignment=(string)au, width=(int)3840, height=(int)2160, framerate=(fraction)30000/1001, chroma-format=(string)4:2:0, bit-depth-luma=(uint)10, bit-depth-chroma=(uint)10, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
NvMMLiteOpen : Block : BlockType = 279
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:src: caps = video/x-h265, level=(string)5.1, tier=(string)high, profile=(string)main-10, stream-format=(string)byte-stream, alignment=(string)au, width=(int)3840, height=(int)2160, framerate=(fraction)30000/1001, chroma-format=(string)4:2:0, bit-depth-luma=(uint)10, bit-depth-chroma=(uint)10, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
NvMMLiteOpen : Block : BlockType = 279
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 279
NvMMLiteBlockCreate : Block : BlockType = 279
/GstPipeline:pipeline0/nvv4l2decoder:nvv4l2decoder0.GstPad:sink: caps = video/x-h265, level=(string)5.1, tier=(string)high, profile=(string)main-10, stream-format=(string)byte-stream, alignment=(string)au, width=(int)3840, height=(int)2160, framerate=(fraction)30000/1001, chroma-format=(string)4:2:0, bit-depth-luma=(uint)10, bit-depth-chroma=(uint)10, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/nvv4l2decoder:nvv4l2decoder0.GstPad:sink: caps = video/x-h265, level=(string)5.1, tier=(string)high, profile=(string)main-10, stream-format=(string)byte-stream, alignment=(string)au, width=(int)3840, height=(int)2160, framerate=(fraction)30000/1001, chroma-format=(string)4:2:0, bit-depth-luma=(uint)10, bit-depth-chroma=(uint)10, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/nvv4l2decoder:nvv4l2decoder0.GstPad:src: caps = video/x-raw(memory:NVMM), format=(string)P010_10LE, width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt2020, framerate=(fraction)30000/1001
/GstPipeline:pipeline0/nvv4l2decoder:nvv4l2decoder0.GstPad:src: caps = video/x-raw(memory:NVMM), format=(string)P010_10LE, width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt2020, framerate=(fraction)30000/1001
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30000/1001, format=(string)NV12
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30000/1001, format=(string)NV12
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30000/1001, format=(string)NV12
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30000/1001, format=(string)NV12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30000/1001, format=(string)NV12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30000/1001, format=(string)NV12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstNv3dSink:nv3dsink0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30000/1001, format=(string)NV12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink: caps = video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30000/1001, format=(string)NV12
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30000/1001, format=(string)NV12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstNv3dSink:nv3dsink0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30000/1001, format=(string)NV12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink: caps = video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30000/1001, format=(string)NV12
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30000/1001, format=(string)NV12
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:sink: caps = video/x-raw(memory:NVMM), format=(string)P010_10LE, width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt2020, framerate=(fraction)30000/1001
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:sink: caps = video/x-raw(memory:NVMM), format=(string)P010_10LE, width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt2020, framerate=(fraction)30000/1001
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstNv3dSink:nv3dsink0: sync = false
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstNv3dSink:nv3dsink0: sync = false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 18, dropped: 0, current: 35.14, average: 35.14
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 20, dropped: 0, current: 38.13, average: 38.13
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 49, dropped: 0, current: 61.03, average: 48.03
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 51, dropped: 0, current: 61.11, average: 49.43
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 79, dropped: 0, current: 58.26, average: 51.46
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 81, dropped: 0, current: 59.91, average: 52.85
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 110, dropped: 0, current: 61.37, average: 53.91
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 111, dropped: 0, current: 59.37, average: 54.47
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 141, dropped: 0, current: 59.42, average: 55.03
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 142, dropped: 0, current: 61.02, average: 55.78
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 172, dropped: 0, current: 61.56, average: 56.11
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 172, dropped: 0, current: 59.68, average: 56.42
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 202, dropped: 0, current: 59.97, average: 56.65
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 202, dropped: 0, current: 59.96, average: 56.92
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 232, dropped: 0, current: 59.96, average: 57.06
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 232, dropped: 0, current: 59.99, average: 57.30
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 262, dropped: 0, current: 59.94, average: 57.37
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 262, dropped: 0, current: 59.93, average: 57.59
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 292, dropped: 0, current: 58.75, average: 57.51
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 293, dropped: 0, current: 60.54, average: 57.89
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 322, dropped: 0, current: 59.84, average: 57.72
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 324, dropped: 0, current: 59.10, average: 58.00
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 352, dropped: 0, current: 59.95, average: 57.90
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 355, dropped: 0, current: 60.88, average: 58.24
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 383, dropped: 0, current: 61.14, average: 58.15
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 385, dropped: 0, current: 59.64, average: 58.35
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 413, dropped: 0, current: 59.54, average: 58.25
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 415, dropped: 0, current: 58.83, average: 58.38
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 444, dropped: 0, current: 59.95, average: 58.37
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 446, dropped: 0, current: 60.64, average: 58.53
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 474, dropped: 0, current: 59.38, average: 58.43
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 476, dropped: 0, current: 59.97, average: 58.62
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 505, dropped: 0, current: 61.15, average: 58.59
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 506, dropped: 0, current: 59.32, average: 58.66
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 535, dropped: 0, current: 59.85, average: 58.66
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 537, dropped: 0, current: 61.67, average: 58.83
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 566, dropped: 0, current: 59.64, average: 58.71
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 567, dropped: 0, current: 59.56, average: 58.87
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 596, dropped: 0, current: 59.40, average: 58.75
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 598, dropped: 0, current: 59.54, average: 58.90
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 627, dropped: 0, current: 61.52, average: 58.88
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 628, dropped: 0, current: 59.96, average: 58.95
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 657, dropped: 0, current: 59.57, average: 58.91
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 659, dropped: 0, current: 60.92, average: 59.04
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 687, dropped: 0, current: 59.92, average: 58.95
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 689, dropped: 0, current: 59.58, average: 59.07
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 718, dropped: 0, current: 59.62, average: 58.98
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 719, dropped: 0, current: 59.88, average: 59.10
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 748, dropped: 0, current: 59.39, average: 59.00
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 750, dropped: 0, current: 59.03, average: 59.10
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 779, dropped: 0, current: 61.53, average: 59.09
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 780, dropped: 0, current: 60.00, average: 59.13
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 809, dropped: 0, current: 59.04, average: 59.09
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 811, dropped: 0, current: 60.57, average: 59.18
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 840, dropped: 0, current: 60.95, average: 59.16
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 841, dropped: 0, current: 59.44, average: 59.19
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 871, dropped: 0, current: 59.13, average: 59.16
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 871, dropped: 0, current: 59.99, average: 59.22
Got EOS from element "pipeline0".
Got EOS from element "pipeline0".
Execution ended after 0:00:15.243332672
Setting pipeline to PAUSED ...
Execution ended after 0:00:15.222500000
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Setting pipeline to NULL ...
Freeing pipeline ...
Freeing pipeline ...

Please check if you can follow the steps and achieve target fps.

DaneLLL,

Thanks for the detailed reply.

I think I see the problem.
When I do the xrandr command, I get the following:
Screen 0: minimum 8 x 8, current 3840 x 2160, maximum 32767 x 32767
HDMI-0 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 950mm x 540mm
3840x2160 30.00*+ 60.02 59.98 29.97 24.00 23.98

If I read this correctly, it means that normal mode only will do 30 fps.
How can I set the display to left or inverted to check?

Rod

DaneLLL,

I tried a simple change of the display to 4096 by 2160 as the xrandr command gave the following: vrtul@vrtul-desktop:~$ xrandr
Screen 0: minimum 8 x 8, current 3840 x 2160, maximum 32767 x 32767
HDMI-0 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 950mm x 540mm
3840x2160 30.00*+ 60.02 59.98 29.97 24.00 23.98
4096x2160 60.02 59.98 30.00 29.97 24.00 23.98
But … that too only supported 30fps on playback of jellyfish from the desktop.
Suggestions?
Rod

Hi,
Generally we switch display mode through Ubuntu system setting. Please check if the 4096x2160 60fps mode is listed and switch to it.

DaneLLL, I did just as you said. Used Settings in Ubuntu to change to 4096 by 2160, but still only get 30 fps on average with jellyfish video. This is very strange as the PC plays even the streaming video at 60 fps.
Rod