We are currently evaluating a new project and its feasibility on Jetson NX.
What we want to achieve is encoding 2 video streams Monochrome 2k (2464 x 2056 pixels) @ 60 FPS using the Xavier NX, using XImea cameras (PCI-express). We would prefer to have either VP or HEVC h265 encoding.
We want to achieve lossless compression on those streams.
Is it possible to achieve such performances using this platform?
As Ximea cameras can use PCIExpress DMA to forward captures frames, is it possible for nvenc to read frames without any copy for encoding? AFAIK, the memory switch fabric seems to be able to handle this use case.
If frames provided by the camera need debayering or monochrome conversion, is this can be handled by NVENC?
“Or may consider to encode YUV420”: not sure to well understand the relationship with lossless encoding here. YUV420p would be fine for us, especially because we have a monochrome camera, isn’t it?
To me lossless conversion is achievable by using CRF=0.
Do you have other NVidia platforms to recommend for this use case?
Does non-standard resolutions are impacting the performances?
Do you have a comprehensive list of all preset/codec/resolution that are supported by the NVEnc layer for Jetson?
In your example, is the frame re-uploaded for each frame or only once? I’m just considering that back-&-forth copies on the memory bus might the limitation in your command line example.
Hi,
On Jetpack 4.6(r32.6.1), we support YUV444 lossless encoding in h265. And is able to achieve two-instance 2464x2056p60 encoding on Xavier. You may consider to use Xavier if 2464x2056p60 is a hard requirement.
On Xavier NX, two-instance 2464x2056p30 encoding looks fine.