Jetson TX1 for encoding/transcoding

Hello.

My company is interested in using Jetson TX1 as a base for future videoprocessing device. I read a bunch of docs about Nvidia video codec SDK and Jetson TX1, but some aspects are still unclear.

I appriciate any help in finding the answers for these questions:

  1. If I understand correctly TX1 is based on Maxwell 2nd gen architecture. So it has NVDEC, Cuda cores and NVENC as separate modules. Am I right?
  2. Does Gstreamer simply use Nvidia codec SDK for implementation?
  3. Am I able to use NVidia video codec SDK directly?
  4. There is a license limitation in SDK to use more than 2 encoding session on GeForce. Is it applicable to TX1?
  5. Is it possible to use more than 2 sessions for encoding/decoding on TX1?
  6. Is multichannel transcoding/encoding usecase with additional processing of the frames possible on TX1?

Thank you.

Hi, glad to hear that you are considering TX1. It is a great platform! Let me provide my comments to some of your questions, others might need input from nvidia:

Correct. It has a decoder/encoder unit for several codecs. You can see some of them on this image: https://developer.ridgerun.com/wiki/index.php?title=Tegra_X1#Tegra_X1
but to get a better description please check the technical reference manual that you can download form: https://developer.nvidia.com/embedded/downloads

Gstreamer is a wraper for the openMax layer that has access to the codecs. Nvidia create their own set of elements (omx*) and doesn’t give the source code for them but they work pretty good and allow you to create several combinations to meet your needs. RidgeRun has experience with the uses cases since 95% of our customer are developing an A/V product. You can see some of the pipelines here:

We can help creating your gstreamer application.

Not sure about the codec SDK. This is more for nvidia.

You don’t need to encode in the GPU. You can just use two instances of the omxh264enc elenent as you can see here:

Short answer: Yes, but it depends on the resolutions and framerates that you need.

I guess it is possible, we would need to run the test but I don’t see why it wouldn’t be possible, I have encoded and decoded in the board at the same time. If you need more help please contact us.

Thank you for your detailed answer, David. I’ll continue investigating this platform further.