Nvjpegenc not working on Orin Deepstream container

Please provide complete information as applicable to your setup.

**• Hardware Platform is Jetson Orin Devkit
**• DeepStream Version is 6.1 and 6.1.1
**• JetPack Version is 5.0.1 and 5.0.2
**• Issue is nvjpegenc doesn’t work.

Run the docker container for Jetpack 5.0.2:
sudo nvidia-docker run -it --rm nvcr.io/nvidia/deepstream-l4t:6.1.1-triton

or for jetpack 5.0.1
sudo nvidia-docker run -it --rm nvcr.io/nvidia/deepstream-l4t:6.1-triton

Run a pipeline with nvjpegenc
gst-launch-1.0 videotestsrc num-buffers=2 ! videoconvert ! nvjpegenc ! multifilesink location=here%d.jpg

It should produce here0.jpg and here1.jpg

Instead I get

Pipeline is PREROLLING ...
InitNVJPG_safe 451: Host1x channel open failed
free(): double free detected in tcache 2
Aborted (core dumped)

Note:
This works with the deepstream host installation on the Jetson Orin Jetpack 5.0.1 and 5.0.2.
This works with the same jetpacks and containers for the Xavier AGX.

The issue is it doesn’t work with the Jetson Orin inside the containers.

nvjpegenc is not a DeepStream plugin. We can reproduce the same error with L4T container too. NVIDIA L4T Base | NVIDIA NGC. We will check this problem internally.

1 Like

Hi,
Please try with nvvideoconvert plugin and check if it works:

$ gst-launch-1.0 videotestsrc num-buffers=2 ! nvvideoconvert ! 'video/x-raw(memory:NVMM)' ! nvjpegenc ! multifilesink location=here%d.jpg

Thank y’all for the responses. I look forward to hearing back from the team.

Same issue with the original pipeline in this post. The pipeline works outside the container but it doesn’t work inside the container. These pipelines are working on the AGX and Orin deepstream installations and they work on the AGX xavier container but they do not work inside the Orin container.

InitNVJPG_safe 451: Host1x channel open failed
free(): double free detected in tcache 2
Aborted (core dumped)

Hi,
Looks like certain libs are missing in docker container. Which docker do you use?
http://nvcr.io/nvidia/deepstream-l4t:6.1.1-triton ?
or
http://nvcr.io/nvidia/l4t-jetpack:r35.1.0 ?

1 Like

nvcr.io/nvidia/deepstream-l4t:6.1.1-triton

As posted in the reproducing the issue section. There has been a mention that nvjpegenc is not part of deep stream and the issue is reproduced in the non-deep stream container.

I confirmed this is not a deepstream issue and has been reproduced using the L4T container.

Please update us with information in this new post:

@abdo.babukr1

The problem can be fixed if you do the following steps before you run the docker.

Edit the “/etc/nvidia-container-runtime/host-files-for-container.d/l4t.csv” file in your Orin board.
Adding the line “dev, /dev/nvhost-nvjpg1” in “/etc/nvidia-container-runtime/host-files-for-container.d/l4t.csv” file.

Then you can run the docker and use the nvjpegenc pipeline inside the docker container.

2 Likes

Thank you @Fiona.Chen @DaneLLL