I tried playing some H.264 and H.265 4K 60fps videos on Jetson Nano Developer Kit. When playing with nvoverlaysink, they can be played at 60fps, and videos look very good. But when playing with nveglglessink, they often played at only 40 or 50 fps, and the videos are clearly not very smooth.
With nvoverlaysink, it seems it can work without nvvidconv, but Iâd advise to keep it, in case it doesnât output into NVMM memory depending on format for later uri.
With nveglglessink, in my case nvvidconv is mandatory, nvegltransform can be omitted but this results in lower fps, I suppose because the transform is done on cpu.
Hi,
GPU on Jetson Nano is 128 core Maxwell, so it is possible performance cannot reach 4Kp60 videoplayback with nveglglessink. Since you have run âsudo jetson_clocksâ, the system has been running in max performance. We would suggest you use nvoverlaysink.
Jetson Nano should be able to decode â4K @ 60â. I suppose itâs still true because nvoverlaysink can achieve it, but it canât play more than 6 videos, and I need much more than that. My software will be more complicated if I have to use different sinks.
Thank you for pointing out the DeepStream approach. Itâs one of my options. My understanding is it uses nvstreammux to play multiple videos in one pipeline. My concern is, if I want to stop or change the source of some of the videos, do I have to restart the whole pipeline? It would be great if there is some way to stop or change one of the videos without interrupting others.
I tried adding âsync=falseâ to nveglglessink. Now it can play H.264 video at 58fps. For H.265 itâs only 48, but still better than ~30 without âsync=falseâ.
About DeepStream, I just heard about the reference app âruntime_source_add_deleteâ. I might give it a try.
thanks for the mentioning of sync=false, it makes my fps from 0.5 (refresh every 2-3 seconds, very lagging) to 20 fps (my input is 20 fps)
So, whatâs the secret of sync to nveglglessink?