Files
cuframes/tools/cuframes-rtsp-source/CMakeLists.txt
T
gx a21812d3f6 tools+examples+test: end-to-end pipeline ready (Steps 9-10)
cuframes-rtsp-source — standalone bridge между RTSP/file и cuframes IPC.
Декодирует на CUDA (nvdec), копирует D2D в pre-allocated pool (EXTERNAL
ownership), публикует через cuframes. --realtime для pacing файлового
ввода, --loop для зацикливания. Альтернатива FFmpeg-фильтра до v0.2
(filter требует patch FFmpeg, конфликтует с Frigate's bundled build).

examples/sub_count — reference subscriber на raw C API: counts frames,
trackit gaps, выходит clean при disconnect/timeout/SIGINT.

test_stress (4 subscribers × 2000 frames @ 120fps) — PASS на RTX 5090.
0 torn frames у всех consumers (включая 2 slow с 5ms sleep).

Smoke-проверено: testsrc 25fps → cuframes-rtsp-source → cuframes IPC
→ sub_count (отдельный процесс) → 200/200 frames, 0 gaps, avg_fps=25.2.
2026-05-14 23:39:01 +01:00

21 lines
547 B
CMake

cmake_minimum_required(VERSION 3.20)
project(cuframes_rtsp_source LANGUAGES CXX)
find_package(PkgConfig REQUIRED)
pkg_check_modules(FFMPEG REQUIRED IMPORTED_TARGET
libavformat
libavcodec
libavutil
)
find_package(CUDAToolkit REQUIRED)
add_executable(cuframes-rtsp-source main.cpp)
target_compile_features(cuframes-rtsp-source PRIVATE cxx_std_17)
target_compile_options(cuframes-rtsp-source PRIVATE -Wall -Wextra)
target_link_libraries(cuframes-rtsp-source
PRIVATE
cuframes
PkgConfig::FFMPEG
CUDA::cudart
)