When capturing MIPI CSI camera video on NVIDIA Jetson Nano, Xavier, or Orin platforms using OpenCV with GStreamer's nvarguscamerasrc plugin, the driver constantly spams stdout and stderr with verbose hardcoded debug strings (such as GST_ARGUS: Creating output stream and CONSUMER: Waiting until producer is connected...).
gstnvarguscamerasrc.cpp C++ source code via printf(), bypassing standard GStreamer debug level filters (GST_DEBUG=0).
1. Rebuilding nvarguscamerasrc Without Hardcoded Prints
Download your matching JetPack BSP public sources and remove the hardcoded print macros:
# Check active L4T release
cat /etc/nv_tegra_release
# Extract gst-nvarguscamera source
cd ~/src/Linux_for_Tegra/source/public
tar -jxvf gst-nvarguscamera_src.tbz2
cd gst-nvarguscamera/
# Edit gstnvarguscamerasrc.cpp and empty out the print macros:
sed -i 's/#define GST_ARGUS_PRINT(...) printf(__VA_ARGS__)/#define GST_ARGUS_PRINT(...)/g' gstnvarguscamerasrc.cpp
sed -i 's/#define CONSUMER_PRINT(...) printf(__VA_ARGS__)/#define CONSUMER_PRINT(...)/g' gstnvarguscamerasrc.cpp
# Compile and install plugin
make
sudo make install
2. Suppressing OpenCV Warnings in Python
In your Python application, silence OpenCV library logs and restart the camera daemon prior to acquisition:
import os
import warnings
# Suppress Python warnings & OpenCV internal logging
warnings.filterwarnings('ignore')
os.environ["OPENCV_LOG_LEVEL"] = "OFF"
# Restart camera daemon to ensure clean hardware state
os.system("sudo systemctl restart nvargus-daemon")
Your camera capture scripts will now run silently without terminal clutter.