Skip to content

**stream_top** is a specialized real-time monitor designed specifically for Raspberry Pi power users running high-performance video streams, RTMP servers, or advanced camera applications.

License

Notifications You must be signed in to change notification settings

axeljerabek/stream_top

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub release (latest by date)

🍓 stream_top

The Ultimate Hardware-Level Diagnostic Dashboard for Raspberry Pi Video & Imaging

stream_top is a specialized real-time monitor designed specifically for Raspberry Pi power users running high-performance video streams, RTMP servers, or advanced camera applications.


📸 Hardware Previews

Raspberry Pi Zero 2 W (Compact) Raspberry Pi 4B (High Performance)
Zero 2 W Dashboard Pi 4B Dashboard
Optimized for 512MB RAM Monitoring large CMA & DMA buffers

🔍 New in v14.1: Triple-Zone Visualization

Standard tools like htop can't show you why your camera is failing. stream_top uses a unique three-zone bar system to expose the "invisible" memory states of the Linux kernel and the Pi Video Stack.

Understanding the Bars:

Symbol Meaning Description
#### Active (Green) Memory actively filled with data (App code or live video frames).
:::: Buffer/Res (Blue) Reserved space. (Kernel Cache for RAM / Pre-allocated buffers for CMA).
---- Free (Gray) Truly empty memory, available for new tasks.

Example: RAM Usage: [#######::::::::::---] This shows that while your apps only use a little RAM (Green), the system is efficiently using the rest for caching (Blue), with a small safety margin (Gray).


📸 Key Features

  • CMA Map (Act/Res/Tot): Tracks the Contiguous Memory Allocation.
    • Active: Actual frames currently in the pipeline (Hardware load).
    • Reserved: What the camera system has "booked" to prevent frame drops.
    • Total: Your absolute hardware limit set in config.txt.
  • DMA-Buffer Breakdown: Deep-dive into memory allocation by component (e.g., Camera App vs. GPU Shared).
  • Network Health: Real-time Transmit Errors/Drops per second. Instantly see if your WiFi is choking.
  • Hardware Sensors: VPU Volts, H.264 Clocks, and Throttling status (Under-voltage/Thermal).
  • Integrated Service Logs: Live stream.service (systemd) logs synced with hardware metrics in one view.

🛠 Installation & Usage

1. System Packages

Install dependencies via your package manager: bash:

sudo apt update && sudo apt install gawk procps coreutils systemd

  1. Setup Clone the repository and set permissions:

git clone https://github.com/axeljerabek/stream_top.git cd stream_top chmod +x stream_top

  1. Run

sudo ./stream_top

Note: Sudo is required to access the kernel's DMA debug interface (/sys/kernel/debug/dma_buf/bufinfo).

🎮 Interactive Controls The dashboard is fully interactive. No need to restart the script to change views:

  • / - : Adjust Refresh Speed (Current interval is shown in the footer).

, / . : Log Depth (Show more or fewer lines of your service logs).

c : Color Schemes (Cycle through three professional UI modes).

q : Exit safely.

💡 Quick Diagnostic Guide CMA Act vs Res: If Act is high, your stream is busy. If Res is near Tot, your camera app is pre-allocating everything it can to stay stable.

Net Errs/s > 0: Your network is dropping frames. Lower your bitrate or check your WiFi signal.

Throttled Status: If it says anything other than "None", your Power Supply is too weak or your Pi is too hot. High-quality streaming requires stable 5.1V power.

📜 License: MIT | Developed by Axel Jerabek

About

**stream_top** is a specialized real-time monitor designed specifically for Raspberry Pi power users running high-performance video streams, RTMP servers, or advanced camera applications.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages