Video Encoding Decoding Capability

Hi !

We just purchased the AGX Javier, I can see is that its encoder supports 2 ways 4kp60 plus 12bit, the bandwidth is much better than TX2.

But is there anybody knows the video encoding and decoding capability, such as profile level it supports ?

Thank you very much !

Hi zhoub,

Please find below document for details of software feature in Xavier BSP:
[url]https://developer.nvidia.com/embedded/dlc/l4t-feature-list-31-0-2[/url]

Thanks

Hi,

We documented the capabilities using GStreamer modules here:

Excellent ! Thanks !

Hi emmanuel.madrigal,

Do you have some numbers regarding combined decoding and encoding. I’m interested in maximum number of simultaneous GStreamer sessions that resemble the following:

! ! … ! !

The results you sent refer to decoding only (first table) and encoding only (second table). Or am I wrong?

The reason I’m asking is because I’m experiencing a limit of 8 simultaneous GStreamer sessions that do both decoding and encoding on my Xavier. After adding the 9th session, the CPU usage jumps (from 30% to ~85%) and Xavier reboots shortly after.

Hi 9cvele3,

Sorry, we don’t have numbers for simultaneous encoding/decoding. But it seems that the limit might be at 8 streams as you are reporting.

cvetkovicdusan, did you find out the reason for this? i am observing the same behavior, especially in 15W mode.

It is a very old post, but I try with ffmpeg and gst-launch-1. 0 both stop at 8 streams decode/encode, seems to be more harware resources, can this limit be removed or increased?

By default, ffmpeg wouldn’t leverage Jetson HW NVENC and may not even use HW NVDEC. Gstreamer would.
Would you share the gstreamer pipelines that you’ve tried ? Maybe these didn’t enable NV accelerated elements.

I use this line to decode/encode :
gst-launch-1.0 souphttpsrc location=“http://user:pass@127.0.0.1:9981/stream/channelnumber/2” ! progressreport ! decodebin name=demux demux. ! audioconvert ! voaacenc bitrate=128000 ! queue ! tee name=audio ! queue ! mux1. demux. ! deinterlace ! tee name=video ! queue ! nvvidconv ! “video/x-raw(memory:NVMM),width=1920,height=1080,format=I420” ! nvv4l2h265enc maxperf-enable=1 bitrate=3500000 ! h265parse ! mux1. mpegtsmux name=mux1 ! filesink location=

I use this documentation to install :
https://docs.nvidia.com/jetson/archives/r35.2.1/DeveloperGuide/text/SD/Multimedia/AcceleratedGstreamer.html

I have cecked CPU load with 8 streams , it’s about 30 % load,
I have load profile 0 , best performance
this is the jetson i have :

this is the firmware instaled :
JetPack Version 4.6.1 // NVIDIA L4T 32.7.1

Seems ok for NV HW enabled elements (though for decoder you may use gst-launch-1.0 -v flag to be sure what decodebin selects and outputs).
Try adding a queue in front of each demux output sub-pipeline.
Maybe deinterlace is the bottleneck for video ?
Also try to rule out http issue using a mp4 file as source (assuming a reasonably fast drive).
The issue may be with audio sync. What about running without audio ?

1 Like

I am new with gst, I use more ffmpeg, can u help me please with a pipeline to test , thank you.

Tested today witd SD channels , bypas 9 streams easly so is no limitation, but i don’t understant where is bootleneck.
I have try with “gst-launch-1.0 -v” same result on FHD stream when i open 9-th begin to fail one at the time and skip frames.
How can i ceck if deinterlace is the problem?
I will post some imagest with jtop results when i have 8 stream open.