Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

DeepstreamDemo

Incremental component playground for proving out a DeepStream-based replacement for the production GStreamer + nvcodec + Qt OpenGL pipeline.

Philosophy

This repo deliberately avoids being one big application. Each subdirectory under components/ is an isolated, independently buildable, independently runnable prototype that proves exactly one capability. A component only graduates to "ready for integration" after its success criteria (in its own README.md) are met on real hardware.

Integration is the disease this repo tries to cure. We will not write a multi-thousand-line app and then debug it as a unit. We will land each piece on its own, prove it, document its contract, and only then compose.

Layout

DeepstreamDemo/
├── README.md                       this file
├── docs/
│   ├── architecture.md             the sub-project rules
│   └── component-template.md       what every new component must contain
└── components/
    ├── 01_qt_eglimage_zerocopy/    P0.1: NVMM → Qt OpenGL GPU-only display
    ├── 02_nvurisrcbin_reconnect/   P0.2: single RTSP source + reconnect
    ├── 03_latency_probe/           P0.3: source→paint latency measurement contract
    ├── 04_multi_rtsp_widgets/      P0.4: independent multi-RTSP widget proof
    ├── 05_selective_yolo_infer/    P0.5: per-stream selective YOLO inference
    ├── 06_dual_4k_stitch_restream/ P0.6: dual 4K GPU stitch + restream
    └── 07_full_pressure_integration/ P0.7: 8x 1080p + 1x 4K YOLO + 2x 4K stitch in one app

Component Index

# Name Proves Status
01 qt_eglimage_zerocopy NVMM GstBuffer → CUDA-GL interop → Qt QOpenGLWidget ready
02 nvurisrcbin_reconnect Single RTSP source with reliable reconnect over 01 ready
03 latency_probe Reproducible source→paint latency segments (decode/queue, upload/paint, end-to-end) usable as a baseline by 04+ ready
04 multi_rtsp_widgets Multiple independent RTSP streams displayed in separate Qt widgets with per-stream reconnect/failure isolation draft
05 selective_yolo_infer Per-stream selective YOLO inference (nvstreammux/nvinfer/nvdsosd) on a subset of P0.4 panels with runtime mode flips and failure isolation ready
06 dual_4k_stitch_restream Two 4K RTSP inputs stitched top-bottom in GPU device memory, previewed locally, and restreamed via RTSP RECORD ready
07 full_pressure_integration First integration component: 8x 1080p raw + 1x 4K YOLO + 2x 4K stitch concurrently in one Qt app ready

How to add a new component

  1. Copy docs/component-template.md into components/NN_descriptive_name/README.md.
  2. Fill in the Goal, Architecture, Success Criteria, and Known Gotchas sections.
  3. Add a self-contained CMakeLists.txt. Do not depend on a top-level CMake project — each component must build standalone.
  4. Land the code. Run it. Tick off the success criteria in the README before declaring it ready.

See docs/architecture.md for the discipline rules.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages