Would the Nano be a solution to a Mobile Live Streaming setup?

Hey NVIDIA forum,

I have been keeping my eye on a Nano for some time now, but never REALLY needed one. I am now in a small pickle, and I think a Nano will fix it, but I don’t know for sure. Any information or help would be super useful!

I am currently working on a mobile live streaming setup. A camera is fed to a USB capture card. Using FFMPEG, I am reading the capture card as a UBS camera that I encoding using H.264, and streaming that encoded video to an RTMP server @~3000kbps. I am currently using a RaspberryPi for all this and the cpu is hitting 99%. The PI is really not meant for this. It doesn’t look great, but it works.

I have a couple questions.

1.) Is the NVENC chip the same chip that goes into the GPUs?
I use NVENC to stream to Twitch on a GTX 1080, so I GENRALLY know what NVENC is capable of, but is the NVENC chip in Nano the same chip in my GTX 1080?

2.) Would the dedicated NVENC chip on the Nano give me large visual improvement over the PI?
Kind of a follow up question to the one above, but just guessing… would I see any visual improvements? I believe I would considering the PI is encoding using the CPU (not a fast cpu either) and the Nano is using a dedicated encoding chip.

3.) Can you stream to an RTMP server using GStreamer while using the NVENC encoder or would I have to use a custom FFMPEG build?
I have seen custom FFMPEG builds specifically for the Nano so that you can utilize the NVENC chip and I have streamed to RTMP using FFMPEG before, but all I see for GStreamer is streaming to RTSP. Can I stream to an RTMP server using GStreamer?

4.) Based on what you have read so far, do you think its dumb to be looking into the Nano?
Dedicated hardware encoders cost upwards of $500, and I think the Nano would be a good solution if I can utilize NVENC to stream to an RTMP server. Am I delusional? Is this a bad idea?

Thank you for reading, and your time.

hello,
short answer is yes, but you have to consider some things.

  1. for jetson nano there is a hardware accelerator encoder names openMax (omx) by default but you can use NVENC if you want using multimedia API for jetson but i didn’t see any way to stream this(haven’t tried custom FFmpeg).
  2. openMax performance is better than PI cpu encoding.
  3. haven’t tested yet.
    4.using jetson nano is a good idea. performance is much better.
1 Like

Unlike with desktop GPU where NVENC/NVDEC as provided by nvcuvid library can use the GPU for this, in Jetson you have dedicated HW also NVENC and NVDEC for this.

As encoding or decoding is done in dedicated HW, it will free all this load from CPU or GPU, so probably you should see some improvement if your Pi is full CPU loaded, and would keep ability to do more with free CPU and GPU.

The simplest way to use NVDEC and NVENC on jetson for this case is using gstreamer. Details on your use case would be required for better advice. Searching this forum you may find many examples.
It is also possible to build an ffmpeg version with some NVENC support but it wouldn’t be so easy.

It also depends on your case, especially resolution * fps and how you’re getting frames and processing if any. Try to evaluate your requirements and you should find the Jetson you would want to try.

2 Likes

Beforehand you can also lookup the encoder specs in the respective Module Datasheet to confirm that it supports the codecs/framerates/streams that you require.

1 Like