# Orin NX hardware encoder gstreamer elements?

**URL:** <https://forums.developer.nvidia.com/t/orin-nx-hardware-encoder-gstreamer-elements/288644>\
**Category:** Jetson Orin NX\
**Tags:** gstreamer\
**Created:** [April 5, 2024, 5:09pm UTC](https://forums.developer.nvidia.com/t/orin-nx-hardware-encoder-gstreamer-elements/288644 "2024-04-05T17:09:10Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Hoss](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/hoss/32/61773_2.png) [@Hoss](https://forums.developer.nvidia.com/u/Hoss)\
**Post date:** [April 5, 2024, 5:09pm UTC](https://forums.developer.nvidia.com/t/orin-nx-hardware-encoder-gstreamer-elements/288644/1 "2024-04-05T17:09:10Z")

</div>

I understand that the Orin Nano doesn’t have hardware encoders, so the nvvideo4linux2 plugin doesn’t have nvv4l2h265enc. But it looks like the same nvidia-l4t-gstreamer package is installed when I flash an Orin NX 16GB, so I can’t use the hardware encoder in my pipelines even though the SoC has it.

Is there a different package that has the accelerated gstreamer elements for Orin NX?

---

<div class="post-metadata">

**Author:** ![DaneLLL](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/danelll/32/14043_2.png) [@DaneLLL](https://forums.developer.nvidia.com/u/DaneLLL)\
**Post date:** [April 8, 2024, 2:37am UTC](https://forums.developer.nvidia.com/t/orin-nx-hardware-encoder-gstreamer-elements/288644/3 "2024-04-08T02:37:10Z")

</div>

Hi,  
Do you use Jetpack 5.1.3? If you flash the system and install SDK Components through SDKManager, the hardware encoders should be present.

---

<div class="post-metadata">

**Author:** ![Hoss](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/hoss/32/61773_2.png) [@Hoss](https://forums.developer.nvidia.com/u/Hoss)\
**Post date:** [April 8, 2024, 10:53am UTC](https://forums.developer.nvidia.com/t/orin-nx-hardware-encoder-gstreamer-elements/288644/4 "2024-04-08T10:53:24Z")

</div>

I need to flash using L4T for custom kernel, device trees, and pinmuxing because I’m using a custom carrier. Is it possible to get the stuff installed without flashing?

---

<div class="post-metadata">

**Author:** ![DaneLLL](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/danelll/32/14043_2.png) [@DaneLLL](https://forums.developer.nvidia.com/u/DaneLLL)\
**Post date:** [April 8, 2024, 11:21am UTC](https://forums.developer.nvidia.com/t/orin-nx-hardware-encoder-gstreamer-elements/288644/5 "2024-04-08T11:21:24Z")

</div>

Hi,  
Do you customize the kernel based on Jetpack 5.1.3? For using custom board, you can flash the board through _initrd_ command, and the plugins shall be present after booting.

---

<div class="post-metadata">

**Author:** ![Hoss](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/hoss/32/61773_2.png) [@Hoss](https://forums.developer.nvidia.com/u/Hoss)\
**Post date:** [April 8, 2024, 11:29am UTC](https://forums.developer.nvidia.com/t/orin-nx-hardware-encoder-gstreamer-elements/288644/6 "2024-04-08T11:29:59Z")

</div>

I used L4T 35.5.0, and I followed the instructions from this page: [Quick Start — Jetson Linux Developer Guide documentation](https://docs.nvidia.com/jetson/archives/r35.3.1/DeveloperGuide/text/IN/QuickStart.html#to-flash-the-jetson-developer-kit-operating-software)

First I unpacked the BSP and sample sample rootfs and updated the sample rootfs with Nvidia binaries.

```auto
tar xf ${L4T_RELEASE_PACKAGE}
sudo tar xpf ${SAMPLE_FS_PACKAGE} -C Linux_for_Tegra/rootfs/
cd Linux_for_Tegra/
sudo ./apply_binaries.sh
sudo ./tools/l4t_flash_prerequisites.sh

```

Then I unpacked the kernel, made my changes, compiled, and installed the products into the `kernel` and `bootloader` BSP directories.

Finally, I flashed the board:

```auto
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" --showlogs --network usb0 jetson-orin-nano-devkit internal

```

The nvvideo4linux2 plugin is installed and I can use nvarguscamerasrc and nvvidconv, but nvv4l2h264enc is not there, nor any of the other hardware video encoders.

---

<div class="post-metadata">

**Author:** ![Hoss](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/hoss/32/61773_2.png) [@Hoss](https://forums.developer.nvidia.com/u/Hoss)\
**Post date:** [April 8, 2024, 12:49pm UTC](https://forums.developer.nvidia.com/t/orin-nx-hardware-encoder-gstreamer-elements/288644/7 "2024-04-08T12:49:23Z")

</div>

Here is the list of Nvidia packages installed:

```plaintext
$ dpkg -l 'nv*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-================================-====================================-============-=====================================================
un nvidia-common <none> <none> (no description available)
ii nvidia-l4t-3d-core 35.5.0-20240219203809 arm64 NVIDIA GL EGL Package
ii nvidia-l4t-apt-source 35.5.0-20240219203809 arm64 NVIDIA L4T apt source list debian package
ii nvidia-l4t-bootloader 35.5.0-20240219203809 arm64 NVIDIA Bootloader Package
ii nvidia-l4t-camera 35.5.0-20240219203809 arm64 NVIDIA Camera Package
un nvidia-l4t-ccp-t186ref <none> <none> (no description available)
ii nvidia-l4t-configs 35.5.0-20240219203809 arm64 NVIDIA configs debian package
ii nvidia-l4t-core 35.5.0-20240219203809 arm64 NVIDIA Core Package
ii nvidia-l4t-cuda 35.5.0-20240219203809 arm64 NVIDIA CUDA Package
ii nvidia-l4t-display-kernel 5.10.192-tegra-35.5.0-20240219203809 arm64 NVIDIA Display Kernel Modules Package
ii nvidia-l4t-firmware 35.5.0-20240219203809 arm64 NVIDIA Firmware Package
ii nvidia-l4t-gbm 35.5.0-20240219203809 arm64 NVIDIA GBM Package
ii nvidia-l4t-graphics-demos 35.5.0-20240219203809 arm64 NVIDIA graphics demo applications
ii nvidia-l4t-gstreamer 35.5.0-20240219203809 arm64 NVIDIA GST Application files
ii nvidia-l4t-init 35.5.0-20240219203809 arm64 NVIDIA Init debian package
ii nvidia-l4t-initrd 35.5.0-20240219203809 arm64 NVIDIA initrd debian package
ii nvidia-l4t-jetson-io 35.5.0-20240219203809 arm64 NVIDIA Jetson.IO debian package
ii nvidia-l4t-jetsonpower-gui-tools 35.5.0-20240219203809 arm64 NVIDIA Jetson Power GUI Tools debian package
ii nvidia-l4t-kernel 5.10.192-tegra-35.5.0-20240219203809 arm64 NVIDIA Kernel Package
ii nvidia-l4t-kernel-dtbs 5.10.192-tegra-35.5.0-20240219203809 arm64 NVIDIA Kernel DTB Package
ii nvidia-l4t-kernel-headers 5.10.192-tegra-35.5.0-20240219203809 arm64 NVIDIA Linux Tegra Kernel Headers Package
ii nvidia-l4t-libvulkan 35.5.0-20240219203809 arm64 NVIDIA Vulkan Loader Package
ii nvidia-l4t-multimedia 35.5.0-20240219203809 arm64 NVIDIA Multimedia Package
ii nvidia-l4t-multimedia-utils 35.5.0-20240219203809 arm64 NVIDIA Multimedia Package
ii nvidia-l4t-nvfancontrol 35.5.0-20240219203809 arm64 NVIDIA Nvfancontrol debian package
ii nvidia-l4t-nvpmodel 35.5.0-20240219203809 arm64 NVIDIA Nvpmodel debian package
ii nvidia-l4t-nvpmodel-gui-tools 35.5.0-20240219203809 arm64 NVIDIA Nvpmodel GUI Tools debian package
ii nvidia-l4t-nvsci 35.5.0-20240219203809 arm64 NVIDIA NvSci Package
ii nvidia-l4t-oem-config 35.5.0-20240219203809 arm64 NVIDIA OEM-Config Package
ii nvidia-l4t-openwfd 35.5.0-20240219203809 arm64 NVIDIA OpenWFD Package
ii nvidia-l4t-optee 35.5.0-20240219203809 arm64 OP-TEE userspace daemons, test programs and libraries
ii nvidia-l4t-pva 35.5.0-20240219203809 arm64 NVIDIA PVA Package
ii nvidia-l4t-tools 35.5.0-20240219203809 arm64 NVIDIA Public Test Tools Package
ii nvidia-l4t-vulkan-sc 35.5.0-20240219203809 arm64 NVIDIA Vulkan SC run-time package
ii nvidia-l4t-vulkan-sc-dev 35.5.0-20240219203809 arm64 NVIDIA Vulkan SC Dev package
ii nvidia-l4t-vulkan-sc-samples 35.5.0-20240219203809 arm64 NVIDIA Vulkan SC samples package
ii nvidia-l4t-vulkan-sc-sdk 35.5.0-20240219203809 arm64 NVIDIA Vulkan SC SDK package
ii nvidia-l4t-wayland 35.5.0-20240219203809 arm64 NVIDIA Wayland Package
ii nvidia-l4t-weston 35.5.0-20240219203809 arm64 NVIDIA Weston Package
ii nvidia-l4t-x11 35.5.0-20240219203809 arm64 NVIDIA X11 Package
ii nvidia-l4t-xusb-firmware 35.5.0-20240219203809 arm64 NVIDIA USB Firmware Package
un nvidia-libopencl1-dev <none> <none> (no description available)
un nvidia-prime <none> <none> (no description available)

```

And the available Nvidia GStreamer elements:

```plaintext
$ gst-inspect-1.0 | grep '^nv'
nvjpeg: nvjpegdec: JPEG image decoder
nvjpeg: nvjpegenc: JPEG image encoder
nvtee: nvtee: NvTee
nvegltransform: nvegltransform: NvEGLTransform
nvarguscamerasrc: nvarguscamerasrc: NvArgusCameraSrc
nvvidconv: nvvidconv: NvVidConv Plugin
nvdrmvideosink: nvdrmvideosink: Nvidia Drm Video Sink
nvvideosink: nvvideosink: nVidia Video Sink
nvivafilter: nvivafilter: NvIVAFilter Plugin
nvvideosinks: nv3dsink: Nvidia 3D sink
nvcompositor: nvcompositor: NvCompositor
nveglstreamsrc: nveglstreamsrc: nVidia EGL Stream
nvvideo4linux2: nvv4l2decoder: NVIDIA v4l2 video decoder
nvv4l2camerasrc: nvv4l2camerasrc: NvV4l2CameraSrc
nveglglessink: nveglglessink: EGL/GLES vout Sink

```

Also, here’s the list of installed gstreamer packages:

```plaintext
$ dpkg -l '*gst*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-======================================-=====================-============-=========================================================================
ii gir1.2-clutter-gst-3.0:arm64 3.0.27-1 arm64 Gobject introspection data for Clutter GStreamer elements
un gir1.2-cluttergst-3.0 <none> <none> (no description available)
ii gir1.2-gst-plugins-bad-1.0:arm64 1.16.3-0ubuntu1.1 arm64 GObject introspection data for the GStreamer libraries from the "bad" set
ii gir1.2-gst-plugins-base-1.0:arm64 1.16.3-0ubuntu1.2 arm64 GObject introspection data for the GStreamer Plugins Base library
ii gir1.2-gst-rtsp-server-1.0:arm64 1.16.2-3 arm64 GObject introspection data for the GStreamer RTSP Server
ii gir1.2-gstreamer-1.0:arm64 1.16.3-0ubuntu1.1 arm64 GObject introspection data for the GStreamer library
un gstreamer0.10-packagekit <none> <none> (no description available)
un gstreamer0.10-plugins-base <none> <none> (no description available)
ii gstreamer1.0-alsa:arm64 1.16.3-0ubuntu1.2 arm64 GStreamer plugin for ALSA
un gstreamer1.0-audiosink <none> <none> (no description available)
un gstreamer1.0-audiosource <none> <none> (no description available)
ii gstreamer1.0-clutter-3.0:arm64 3.0.27-1 arm64 Clutter PLugin for GStreamer 1.0
ii gstreamer1.0-doc 1.16.3-0ubuntu1.1 all GStreamer core documentation and manuals
ii gstreamer1.0-gl:arm64 1.16.3-0ubuntu1.2 arm64 GStreamer plugins for GL
ii gstreamer1.0-gtk3:arm64 1.16.3-0ubuntu1.2 arm64 GStreamer plugin for GTK+3
ii gstreamer1.0-libav:arm64 1.16.2-2 arm64 ffmpeg plugin for GStreamer
ii gstreamer1.0-packagekit 1.1.13-2ubuntu1.1 arm64 GStreamer plugin to install codecs using PackageKit
ii gstreamer1.0-plugins-bad:arm64 1.16.3-0ubuntu1.1 arm64 GStreamer plugins from the "bad" set
un gstreamer1.0-plugins-bad-faad <none> <none> (no description available)
un gstreamer1.0-plugins-bad-videoparsers <none> <none> (no description available)
ii gstreamer1.0-plugins-base:arm64 1.16.3-0ubuntu1.2 arm64 GStreamer plugins from the "base" set
ii gstreamer1.0-plugins-base-apps 1.16.3-0ubuntu1.2 arm64 GStreamer helper programs from the "base" set
ii gstreamer1.0-plugins-base-doc 1.16.3-0ubuntu1.2 all GStreamer documentation for plugins from the "base" set
ii gstreamer1.0-plugins-good:arm64 1.16.3-0ubuntu1.2 arm64 GStreamer plugins from the "good" set
ii gstreamer1.0-plugins-ugly:arm64 1.16.2-2build1 arm64 GStreamer plugins from the "ugly" set
un gstreamer1.0-plugins-ugly-amr <none> <none> (no description available)
ii gstreamer1.0-pulseaudio:arm64 1.16.3-0ubuntu1.2 arm64 GStreamer plugin for PulseAudio
ii gstreamer1.0-tools 1.16.3-0ubuntu1.1 arm64 Tools for use with GStreamer
un gstreamer1.0-videosink <none> <none> (no description available)
un gstreamer1.0-videosource <none> <none> (no description available)
un gstreamer1.0-visualization <none> <none> (no description available)
ii gstreamer1.0-x:arm64 1.16.3-0ubuntu1.2 arm64 GStreamer plugins for X11 and Pango
ii libclutter-gst-3.0-0:arm64 3.0.27-1 arm64 Open GL based interactive canvas library GStreamer elements
ii libgstreamer-gl1.0-0:arm64 1.16.3-0ubuntu1.2 arm64 GStreamer GL libraries
ii libgstreamer-opencv1.0-0:arm64 1.16.3-0ubuntu1.1 arm64 GStreamer OpenCV libraries
ii libgstreamer-plugins-bad1.0-0:arm64 1.16.3-0ubuntu1.1 arm64 GStreamer libraries from the "bad" set
ii libgstreamer-plugins-bad1.0-dev:arm64 1.16.3-0ubuntu1.1 arm64 GStreamer development files for libraries from the "bad" set
ii libgstreamer-plugins-base1.0-0:arm64 1.16.3-0ubuntu1.2 arm64 GStreamer libraries from the "base" set
ii libgstreamer-plugins-base1.0-dev:arm64 1.16.3-0ubuntu1.2 arm64 GStreamer development files for libraries from the "base" set
ii libgstreamer-plugins-good1.0-0:arm64 1.16.3-0ubuntu1.2 arm64 GStreamer development files for libraries from the "good" set
ii libgstreamer-plugins-good1.0-dev 1.16.3-0ubuntu1.2 arm64 GStreamer development files for libraries from the "good" set
ii libgstreamer1.0-0:arm64 1.16.3-0ubuntu1.1 arm64 Core GStreamer libraries and elements
ii libgstreamer1.0-0-dbg:arm64 1.16.3-0ubuntu1.1 arm64 Core GStreamer libraries and elements
ii libgstreamer1.0-dev:arm64 1.16.3-0ubuntu1.1 arm64 GStreamer core development files
ii libgstrtspserver-1.0-0 1.16.2-3 arm64 GStreamer RTSP Server (shared library)
ii libgstrtspserver-1.0-0-dbg 1.16.2-3 arm64 GStreamer RTSP Server (debug symbols)
ii libgstrtspserver-1.0-dev:arm64 1.16.2-3 arm64 GStreamer RTSP Server (development files)
ii libgstrtspserver-1.0-doc 1.16.2-3 all GStreamer RTSP Server (documentation)
un libreoffice-avmedia-backend-gstreamer <none> <none> (no description available)
ii nvidia-l4t-gstreamer 35.5.0-20240219203809 arm64 NVIDIA GST Application files
un python3-gst-1.0 <none> <none> (no description available)
un totem-gstreamer <none> <none> (no description available)

```

---

<div class="post-metadata">

**Author:** ![DaneLLL](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/danelll/32/14043_2.png) [@DaneLLL](https://forums.developer.nvidia.com/u/DaneLLL)\
**Post date:** [April 9, 2024, 6:10am UTC](https://forums.developer.nvidia.com/t/orin-nx-hardware-encoder-gstreamer-elements/288644/8 "2024-04-09T06:10:12Z")

</div>

Hi,  
Please clean gstreamer cache and check again:

```auto
$ rm .cache/gstreamer-1.0/registry.aarch64.bin

```

If the plugins are still not present, please run the commands and share the prints for reference:

```auto
$ sudo i2cdump -y 0 0x50

```

```auto
$ sudo i2cdump -y 0 0x57

```

---

<div class="post-metadata">

**Author:** ![Hoss](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/hoss/32/61773_2.png) [@Hoss](https://forums.developer.nvidia.com/u/Hoss)\
**Post date:** [April 9, 2024, 9:29am UTC](https://forums.developer.nvidia.com/t/orin-nx-hardware-encoder-gstreamer-elements/288644/9 "2024-04-09T09:29:27Z")

</div>

Clearing the gstreamer cache fixed it and the elements now appear. Thanks!

```plaintext
$ gst-inspect-1.0 | grep "^nv"

(gst-plugin-scanner:3742): GStreamer-WARNING **: 05:21:45.509: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstchromaprint.so': /lib/aarch64-linux-gnu/libgomp.so.1: cannot allocate memory in static TLS block

(gst-plugin-scanner:3742): GStreamer-WARNING **: 05:21:45.606: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstlibav.so': /lib/aarch64-linux-gnu/libgomp.so.1: cannot allocate memory in static TLS block
nveglglessink: nveglglessink: EGL/GLES vout Sink
nvivafilter: nvivafilter: NvIVAFilter Plugin
nvvideosinks: nv3dsink: Nvidia 3D sink
nvtee: nvtee: NvTee
nvdrmvideosink: nvdrmvideosink: Nvidia Drm Video Sink
nvvidconv: nvvidconv: NvVidConv Plugin
nvv4l2camerasrc: nvv4l2camerasrc: NvV4l2CameraSrc
nvvideo4linux2: nvv4l2av1enc: V4L2 AV1 Encoder
nvvideo4linux2: nvv4l2vp9enc: V4L2 VP9 Encoder
nvvideo4linux2: nvv4l2h265enc: V4L2 H.265 Encoder
nvvideo4linux2: nvv4l2h264enc: V4L2 H.264 Encoder
nvvideo4linux2: nvv4l2decoder: NVIDIA v4l2 video decoder
nvegltransform: nvegltransform: NvEGLTransform
nvvideosink: nvvideosink: nVidia Video Sink
nveglstreamsrc: nveglstreamsrc: nVidia EGL Stream
nvjpeg: nvjpegdec: JPEG image decoder
nvjpeg: nvjpegenc: JPEG image encoder
nvarguscamerasrc: nvarguscamerasrc: NvArgusCameraSrc
nvcompositor: nvcompositor: NvCompositor

```

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/system/32/68080_2.png) [@system](https://forums.developer.nvidia.com/u/system)\
**Post date:** [April 25, 2024, 10:20am UTC](https://forums.developer.nvidia.com/t/orin-nx-hardware-encoder-gstreamer-elements/288644/11 "2024-04-25T10:20:57Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
