Feasability of encoding and recording two 4K feeds with Jetson Nano

Hi, we are a team of computer engineering students and we are desingning a 4D photogrammetry capture rig built with Jetson Nano’s and 4K@30fps CSI cameras. (we are using the Nano version with 4GB of RAM and 2 CSI slots). Our current concern is regarding the capacity of the Nano to simultaneously record two 4K feeds. The camera model we chose is the e-CAM80_CUNX - Sony 4K Camera:

This camera outputs a feed in a raw NV12 format. Considering our system has no real-time requirement, what would be the most adequate way of storing/recording theses two 4k feed to a file? Note that the recording of each camera will be approximately 30 seconds (the complete system will have around 16 cameras, connected to 8 Jetson). Also, it is worth mentionning that we must use a lossless encoding (for pixel matching later on in the 3D reconstruction).

This being said, we are having difficulty to estimate the size of a frame (after it has been encoded), and thus we are having difficulty to evaluate the feasability of:

  • Recording to an SD card (if the write speed allows it, what would be the required size for the card?)
  • Recording to an external media over ethernet (we know the Jetson supports Gigabit ethernet, but we are concerned with the receiving-end media, which might get flooded with data if all 8 jetson’s shoot 1GB/s)

Are there other ways to store the frames that we have not thought of? Bear in mind that we have a limited budget. For instance, we thought of using NVRs, but these seem a bit over our budget.

Lastly, we know that respecting all these requirements will not be easy with a tight budget, and thus we have already thought of downgrading the resolution to 1440p or 1080p (which might be mandatory anyway considering the Nano cannot encode two 4K@30fps feeds at the same time, as we saw in the datasheet).

Many thanks in advance,

All of the team

Hi,
Running two 4K encoding on Jetson Nano may not achieve 30fps for the two encoding threads. We suggest downgrade the resolution. For plug-and-play cameras, you may consider to use Raspberry Pi camera V2, which is imx219.

We support hardware acceleration in gstreamer and jetson_multimedia_api. If you would like to quickly construct your use-case, may try gstreamer. Please check gstreamer user guide

If there is concern in burs bitrate, you may try to run in CBR mode and set virtual buffer size. This would balance frame size of P frames and does not see much size gap between I and P frames. Please take a look at:
Random blockiness in the picture RTSP server-client -Jetson TX2 - #5 by DaneLLL

Hi @DaneLLL ,

Sorry for my late response, but do you think the Nano jpeg encoder would be powerful enough to encode two 4k feeds @30fps ? We saw in the datasheet that it is able to process 600 MP/s.

Note that we don’t currently have the Jetsons (they are on the way), but we still wanted to validate with someone prior to testing it.

Hi,
Jpeg encoder cannot achieve two 4Kp30 encoding on Jetson Nano.

For this usecase, may consider TX2 NX.