Jetson

From 太極
Jump to navigation Jump to search

General information

More

4GB vs 2GB

Comparison between Jetson Nano 2GB and Jetson Nano 4GB

ARMv8, ARMv9

  • https://en.wikipedia.org/wiki/ARM_architecture_family
  • ARMv8 is an ARM instruction set architecture announced in 2011. It brought a large number of fundamental changes to the instruction set, including the introduction of 64-bit operating capabilities. ARMv8 architecture uses two execution states, AArch32 and AArch64. As the names imply, one is for running 32-bit code and one for 64-bit.
  • After ARMv8, which was introduced in 2011, ARM introduced ARMv9 architecture.
  • According to ARM, some of the major new features of the ARMv9-A architecture include Realm Management Extension (RME) and Embedded Trace Extension (ETE) and Trace Buffer Extension (TRBE).
  • Apple M1 chip or M2 chip is based on ARMv8.5-A instruction set architecture.

Images

Vs Raspberry Pi 4

The two motherboard are similar:new Raspberry Pi has the same arch and almost the same processor (nvidia one is older). VLC doesn’t work on Nvidia Jetson Nano

Get started

Hello AI World

Ubuntu 20.04

Install Ubuntu 20.04 on Jetson Nano

Camera

Getting Your Camera Working on the Nvidia Nano

Tips

Boot from USB

Low memory problem in Jetson nano

GPU benchmark

  • Glmark2. Glmark2 is an OpenGL 2.0 and ES 2.0 benchmark. glmark2 is a cross-platform tool that can be used to test the performance of the GPU on both platforms with and without CUDA cores.
    • sudo apt-get install glmark2
  • LuxMark

System monitor

jtop

jtop: The Ultimate Tool for Monitoring NVIDIA Jetson Devices

sudo pip3 install -U jetson-stats
jtop

Tegrastats Utility

nvidia-smi

Hardware acceleration

GStreamer, gst-launch-1.0

  • Jetson Nano + Raspberry Pi Camera
  • To test 4K video playback on the NVIDIA Jetson Nano, you can use the GStreamer multimedia framework. See ACCELERATED GSTREAMER USER GUIDE
    sudo add-apt-repository universe
    sudo add-apt-repository multiverse
    sudo apt-get update
    sudo apt-get install gstreamer1.0-tools gstreamer1.0-alsa \\
       gstreamer1.0-plugins-base gstreamer1.0-plugins-good \\
       gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \\
       gstreamer1.0-libav
    sudo apt-get install libgstreamer1.0-dev \\
       libgstreamer-plugins-base1.0-dev \\
       libgstreamer-plugins-good1.0-dev \\
       libgstreamer-plugins-bad1.0-dev
    
    gst-launch-1.0 filesrc location=<4k-video-file-path> ! \
       qtdemux ! h264parse ! omxh264dec ! nveglglessink -e
    

    Replace <4k-video-file-path> with the path to your 4K video file. Note that the performance of 4K video playback may depend on other factors such as the bitrate of the video, the overall load on the Jetson Nano, and so on

  • Jetson Nano 2GB development kit 4k video play back question. See Video Decode Examples Using gst-launch-1.0. There are several examples there. The following is for H.264 Decode (NVIDIA Accelerated Decode).
    gst-launch-1.0 filesrc location=<filename_h264.mp4> ! \
         qtdemux ! queue ! h264parse ! nvv4l2decoder ! nv3dsink -e
    
    gst-launch-1.0 uridecodebin uri=file:///home/nvidia/a.mp4 ! \
         nvvidconv ! 'video/x-raw(memory:NVMM),width=1920,height=1080' ! \
         nvoverlaysink
    
  • 4k videos. Pixabay, Pexels.
  • GStreamer on Linux

ffmeg

FFmpeg can be used to play 4K video on the Jetson Nano. The Jetson-FFMpeg project allows you to use FFmpeg on the Jetson Nano via the L4T Multimedia API, supporting hardware-accelerated encoding of H.264 and HEVC.

However, it's important to note that the Jetson Nano doesn't need to use GPU for hardware decoding MPEG2, H.264/AVC, HEVC, VP8 and VP9. These formats are decoded by a specific video hardware decoder (NVDEC) that can be accessed by the L4T Multimedia API².

Here is an example command to play a 4K video using FFmpeg on the Jetson Nano:

ffplay -vcodec h264_nvmpi -i vid.mp4
ffplay -vcodec hevc_nvmpi -i vid.mp4

The `hevc_nvmpi` and `h264_nvmpi` are both hardware-accelerated video encoders provided by NVIDIA, but they are used for different video codecs¹.

  • h264_nvmpi: This is the NVIDIA hardware-assisted H.264 video encoder. H.264, also known as AVC (Advanced Video Coding), is a standard for video compression that is most commonly used to encode high definition video and distribute digital video content²⁵.
  • `hevc_nvmpi`: This encoder is used for the H.265 video codec, also known as HEVC (High Efficiency Video Coding). HEVC is a more recent video compression standard that provides a more efficient compression method than H.264 but with the same level of image quality. It's particularly useful for streaming 4K content over networks like Netflix.
  • In terms of quality and performance, libx264 (a software-based H.264 encoder) might deliver better quality than `h264_nvmpi` for the same bitrate, but `h264_nvmpi` is probably faster and uses less power. The same could be true when comparing a software-based HEVC encoder with `hevc_nvmpi`.

swap

Alternative OS

https://forums.developer.nvidia.com/t/alternative-os/75649

LineageOS

ARES: aurora retro entertainment system

Kodi