Jump to content

Jetson Nano now has hardware ffmpeg support


zandr

Recommended Posts

zandr

I was just just browsing around and noticed that there is now a patch for ffmpeg with support for the NVENC/NVDEC blocks in the Jetson Nano GPU. Since the Nano is hardware roughly comparable to the Shield Pro at about half the price, running Linux, this seems like a desirable platform for a low-end transcoding Emby Server. Is running a custom ffmpeg feasible for testing?

I have a Nano here and could experiment.

https://github.com/jocover/jetson-ffmpeg

-Zandr

Link to comment
Share on other sites

syadnom

VERY interested in this.  Wonder how many streams it can handle.  If I recall, it doesnt have any limitations like a stock geforce does.

Link to comment
Share on other sites

  • 7 months later...
benjitokun

Was there any progress on the compatibility of Emby and Jetson Nano?

I compiled the patched ffmpeg version highlighted by @zandr, and use it as external ffmpeg in Emby.

It is not compatible with NVENC/NVDEC (it is creating a codec named NVMPI instead). Encoders and Decoders are not detected automatically by Emby (only available decoder is ARM V4L2 H.264)

Is it possible to integrate this new codec in next beta releases? I can also do the testing. (Please find attached in CC the logs of my initial test).

embyserver.txt hardware_detection-63750285126.txt

Edited by benjitokun
Link to comment
Share on other sites

4 hours ago, benjitokun said:

Was there any progress on the compatibility of Emby and Jetson Nano?

I compiled the patched ffmpeg version highlighted by @zandr, and use it as external ffmpeg in Emby.

It is not compatible with NVENC/NVDEC (it is creating a codec named NVMPI instead). Encoders and Decoders are not detected automatically by Emby (only available decoder is ARM V4L2 H.264)

Is it possible to integrate this new codec in next beta releases? I can also do the testing. (Please find attached in CC the logs of my initial test).

embyserver.txt 82.24 kB · 1 download hardware_detection-63750285126.txt 90.03 kB · 0 downloads

Hi, we haven't tested this hardware before but it's something we can look at in future updates. thanks.

Link to comment
Share on other sites

The whole Jetson line would be great pieces of hardware to bring into the umbrella, we can score these for cheaper than discrete nvidia cards currently.

687258048_ScreenShot2021-03-04at11_45_25PM.png.53de74ecc5c0a23f607f60f1d97c9c5b.png

 

$400 for a Volta that would kick some butt and take names when you finally support x265 transcoding: https://www.amazon.com/NVIDIA-Jetson-Xavier-Developer-812674024318/dp/B086874Q5R

or $585 currently for a Pascal P2000: https://www.amazon.com/Nvidia-Quadro-P2000-128-bit-Express/dp/B0764SFYV1

 

Edited by nayr
Link to comment
Share on other sites

  • 3 weeks later...
RanmaCanada

For $400 you're better off getting a Lenovo Tiny, Dell Micro, or HP Deskmini, or even a bargain basement laptop.  Also your numbers are incorrect for the Xavier, unless it is talking about encode time.

 

Video Encode 2x 4Kp30 | 6x 1080p 60 | 14x 1080p30 (H.265/H.264)
Video Decode 2x 4Kp60 | 4x 4Kp30 | 12x 1080p60 | 32x 1080p30 (H.265)
2x 4Kp30 | 6x 1080p60 |16x 1080p30 (H.264)
 

 

Link to comment
Share on other sites

Jetson TX2 is $200 and nearly equal in performance to a Quaddro P2000 

Edited by nayr
Link to comment
Share on other sites

syadnom

The TX2 as an Emby box is an incredible value.   But a Xavier for $400 is unmatched.  It's no less that 1/3 the price of a comparable PC that can do what it can do. 


@RanmaCanada, you are wrong.  No cheap PC can do what a Xavier can do by a mile.  Your numbers quoted are for the NX model, the *full* model does indeed handle 30 1080p encodes (h264 or h265).

A budget PC has to be VERY new to get quicksync to match the NX model for h.264, but is substantially slower for h.265 and when you move to 4k it's really no contest.  Forget about it with an nvidia card, minimum twice the price and likely with a card that is still inferior to the Xavier.

If you're goal is <10 1080p transcodes a cheap box with intel quicksync gen8+ is an encoding match for the NX model, maybe even 'better' as a platform because of storage bays etc included, but if you move into h265 ENCODING there's no contest and even ~14 transcodes is going to be pushing what a quicksync box can do (I run one, this is about the line)

Link to comment
Share on other sites

neik

That all sounds good but afaik audio transcoding/remuxing is always done using software (CPU).
So, I'm wondering: Even if the Jetson is capable to encode multiple 1080p streams, is the CPU also capable of keeping up with audio transcode/remux for so many concurrent transcodes?

 

Link to comment
Share on other sites

image.png.36e972cb1961bc3d19b64c3a5385acff.png

 

source: https://www.phoronix.com/scan.php?page=article&item=nvidia-xavier-carmel&num=5

Remixing any sources in advance that do not have a basic stereo stream option does not take very much resources if this is a bottleneck you need to avoid.

If/When Emby finally supports HEVC realtime transcoding output to clients I intend to force every remote device capable of it to use it as I'm not getting more upload speeds any time soon.. and with TV Shows being the most media consumed by far on my server, none come in any crazy new formats that are not already widely supported, thus I'll be perfectly fine as with a half dozen or more HEVC transcodes, as I dont expect more there ever to be more than 1 that needs audio remixing at a time..

Guess if everyone tries to watch a new movie at the same time and it defaults to an atmos stream I might have some issues, but I can tag that movie to make the non-atmos DD5.1 alternative stream as the default and the problem is solved.

Edited by nayr
Link to comment
Share on other sites

syadnom

What this comes down to for me is that it's pretty easy to get everything to have 2 good audio options to prevent the need to transcode that.  On the flip side, it's not so efficient to have a 4k, 1080p, and 720p file in h.264 AND h.265.

 

Further, LAME isn't the best indicator of performance because it's not well threaded.  A quad core Jetson Nano can more than keep up transcoding it's audio.

I should add that some of us are double dutying our media rigs.  I will rip or pull in a remux and pre-transcode that so raw transcoding performance is important to me in that regard.

Link to comment
Share on other sites

Glad to see a little interest here. I still have a Nano that I can play with, and a Xavier would be tempting if we got any traction. Developer I'm not, but happy to help where I can.

Link to comment
Share on other sites

  • 7 months later...

I also have a jetson nano set up as an Emby server and it's handling the duty pretty well so far, as long as no heavy transcoding is going on. Hardware acceleration support would make this little sbc an amazing Emby machine. I'm also happy to help if I can, to get this implemented in Emby.

Link to comment
Share on other sites

24 minutes ago, Lapsis said:

I also have a jetson nano set up as an Emby server and it's handling the duty pretty well so far, as long as no heavy transcoding is going on. Hardware acceleration support would make this little sbc an amazing Emby machine. I'm also happy to help if I can, to get this implemented in Emby.

Are you on the latest beta?

It has ffmpeg 4.5 incorporated now and maybe it helps with hw transcoding.

Just a wild guess though...

Link to comment
Share on other sites

On 24/11/2021 at 11:34, neik said:

Are you on the latest beta?

It has ffmpeg 4.5 incorporated now and maybe it helps with hw transcoding.

Just a wild guess though...

Not yet, I'm on 4.6.6 atm. I can try upgrading to the beta and see if hw transcoding works. 

Link to comment
Share on other sites

  • 1 month later...
DirkdeVries

I have installed the newest beta (4.7.0.19) on my TX2. Currently the ARM V4L2 H.264 encoder is still the only available hardware option.

Nvidia now supports hardware decoding on the Jetson platform: nvidia docs.

Are there still any plans to include this? Thanks

  • Agree 1
Link to comment
Share on other sites

1 hour ago, DirkdeVries said:

I have installed the newest beta (4.7.0.19) on my TX2. Currently the ARM V4L2 H.264 encoder is still the only available hardware option.

Nvidia now supports hardware decoding on the Jetson platform: nvidia docs.

Are there still any plans to include this? Thanks

Hi, yes it's something we can look into. Thanks.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

On 1/7/2022 at 10:26 PM, Luke said:

Hi, yes it's something we can look into. Thanks.

I have looked into this this but I'm afraid, I don't have good news at this time. I think it's better to let you know about it right away instead of letting hopes spin up first, only to cause disappointment, thinking it would be us not getting started.

Those devices have pretty interesting specs for video encoding and decoding. But in case of Emby we are doing transcoding, which (most of the time) involves a 3rd part besides en- and de-coding, and that is processing, which means: scaling, deinterlacing, color conversion, tone mapping, subtitle-burn-in etc.

Those devices are strong with their tensor and cuda cores, but weak in CPU performance. So, as long as there is no hardware acceleration for video processing available (or rather "accessible"), you can totally scratch all those specs like "Encode: 4x 1080p30 (H.264)", because it will be all about the CPU's capabilities - only (or primarily at least).
I'm not saying that the hardware couldn't do it - most likely it could.  But it's a long way to get this integrated into ffmpeg with CUDA video processing support.

The situation might (hopefully) change at some point in the future. Then we'll be able to integrate, but from the present perspective, the achievable results would just be disappointing for everybody.

Edited by softworkz
  • Sad 1
  • Agree 1
Link to comment
Share on other sites

One more Note - When you see specs like this:

image.png.862e17e2c62c400db9b32c90e0da4347.png

 

...don't think that this is outputting that kind of HEVC which takes just half the bitrate of H.264.
It's HEVC - but at a similar bitrate as the H.264 output (or lower quality otherwise).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...