CPU load increases and the system freezes in Jetson Orin Nano, when inputting interlaced video from a network camera

Issue Overview

Users are experiencing significant CPU load increases and system freezes when inputting interlaced video from a network camera using GStreamer on the Nvidia Jetson Orin Nano. The issue manifests after approximately 30 minutes of operation, leading to system hangs.

Symptoms and Context

  • Symptoms: Gradual increase in CPU load, culminating in system freeze.
  • Context: The problem occurs during video streaming using a GStreamer pipeline.
  • Hardware Specifications:
    • Device: Jetson Orin Nano
    • Software: JetPack 5.1.2, GStreamer 1.16
  • Video Source: Interlaced video from a network camera with specifications:
    • Bitrate: 12 Mbps
    • Frame Rate: 30 fps
    • Video Structure: IPP, H264, Interlaced
    • Data Structure: UDP > RTP > TS > H264 Video
  • Frequency: The issue consistently arises under the specified conditions.
  • Impact: The problem severely affects user experience by causing system instability during video processing tasks.

Possible Causes

  • Hardware Incompatibilities or Defects: The Jetson Orin Nano may struggle with specific video formats or high data rates, especially with interlaced content.

  • Software Bugs or Conflicts: There could be bugs within GStreamer or the specific plugins used (e.g., nvv4l2decoder, rtpjitterBuffer) that lead to increased CPU usage over time.

  • Configuration Errors: Incorrect pipeline configuration may cause inefficient processing of interlaced video streams.

  • Driver Issues: Outdated or incompatible drivers could lead to performance degradation when handling specific media formats.

  • Environmental Factors: High temperatures or insufficient power supply might exacerbate performance issues.

  • User Errors or Misconfigurations: Users may not be utilizing optimal settings for their specific use case, particularly regarding the handling of interlaced video.

Troubleshooting Steps, Solutions & Fixes

Step-by-Step Instructions

  1. Verify Hardware and Software Versions:

    • Ensure that the Jetson Orin Nano is updated with the latest drivers and firmware.
    • Confirm that JetPack version 5.1.2 and GStreamer version 1.16 are correctly installed.
  2. Check Current Pipeline Configuration:

    • Review the original GStreamer pipeline for potential inefficiencies.
    • Original pipeline:
      gst-launch-1.0 udpsrc address=192.168.0.249 port=5004 multicast-iface=lan0 caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=MP2T" ! rtpjitterBuffer ! rtpmp2tdepay ! tsdemux ! h264parse ! nvv4l2decoder ! deinterlace ! nv3dsink
      
  3. Test Alternative Pipeline Configuration:

    • Users have reported success with a modified pipeline that removes the deinterlace plugin:
      gst-launch-1.0 udpsrc address=192.168.0.249 port=5004 multicast-iface=lan0 caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=MP2T" ! rtpjitterBuffer ! rtpmp2tdepay ! tsdemux ! h264parse ! nvv4l2decoder ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nv3dsink sync=0
      
    • This adjustment may alleviate CPU load issues since the deinterlace plugin is not necessary for processing interlaced streams effectively.
  4. Monitor System Performance:

    • Use system monitoring tools (e.g., htop, nvidia-smi) to observe CPU usage and GPU performance while running the modified pipeline.
    • Identify any processes that contribute significantly to CPU load.
  5. Isolate Environmental Factors:

    • Ensure that the device operates within recommended temperature ranges and is connected to a stable power supply.
  6. Update Drivers and Firmware:

    • Regularly check for updates to JetPack and GStreamer to ensure optimal performance and bug fixes.

Best Practices for Future Prevention

  • Regularly update software components to benefit from performance improvements and bug fixes.

  • Optimize GStreamer pipelines based on specific use cases, particularly when dealing with different video formats.

  • Monitor system resources during intensive tasks to preemptively identify potential bottlenecks.

Unresolved Aspects

While several users have successfully implemented the alternative pipeline solution, further investigation may be needed regarding:

  • Long-term stability of the modified pipeline under continuous operation.

  • Potential underlying bugs in GStreamer related to handling interlaced video streams that could affect other users in different scenarios.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *