matrice-streaming 0.1.59__tar.gz → 0.1.61__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/PKG-INFO +1 -1
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/matrice_streaming.egg-info/PKG-INFO +1 -1
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/matrice_streaming.egg-info/SOURCES.txt +2 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/__init__.py +26 -2
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/async_camera_worker.py +2 -2
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/async_ffmpeg_worker.py +2 -2
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/ffmpeg_camera_streamer.py +1 -1
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/ffmpeg_worker_manager.py +1 -1
- matrice_streaming-0.1.61/src/matrice_streaming/streaming_gateway/camera_streamer/nvdec.py +961 -0
- matrice_streaming-0.1.61/src/matrice_streaming/streaming_gateway/camera_streamer/nvdec_worker_manager.py +380 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/worker_manager.py +1 -1
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/streaming_gateway.py +183 -12
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/LICENSE.txt +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/README.md +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/matrice_streaming.egg-info/dependency_links.txt +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/matrice_streaming.egg-info/not-zip-safe +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/matrice_streaming.egg-info/top_level.txt +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/pyproject.toml +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/setup.cfg +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/setup.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/__init__.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/client/__init__.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/client/client.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/client/client_utils.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/deployment/__init__.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/deployment/camera_manager.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/deployment/deployment.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/deployment/inference_pipeline.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/deployment/streaming_gateway_manager.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/deployment/todo.txt +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/py.typed +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/__init__.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/ARCHITECTURE.md +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/camera_streamer.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/device_detection.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/encoder_manager.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/encoding_pool_manager.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/ffmpeg_config.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/frame_processor.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/gstreamer_camera_streamer.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/gstreamer_worker.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/gstreamer_worker_manager.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/message_builder.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/platform_pipelines.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/retry_manager.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/stream_statistics.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/camera_streamer/video_capture_manager.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/debug/README.md +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/debug/__init__.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/debug/benchmark.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/debug/debug_gstreamer_gateway.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/debug/debug_stream_backend.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/debug/debug_streaming_gateway.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/debug/debug_utils.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/debug/example_debug_streaming.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/debug/test_videoplayback.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/dynamic_camera_manager.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/event_listener.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/metrics_reporter.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/streaming_action.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/streaming_gateway_utils.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/src/matrice_streaming/streaming_gateway/streaming_status_listener.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/tests/test_async_infrastructure.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/tests/test_batch_auto_calculation.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/tests/test_batching_verification.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/tests/test_e2e_production.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/tests/test_flatten_binary.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/tests/test_gstreamer_integration.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/tests/test_msgpack_fix.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/tests/test_phase1_unit.py +0 -0
- {matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/tests/test_phase2_scaling.py +0 -0
{matrice_streaming-0.1.59 → matrice_streaming-0.1.61}/matrice_streaming.egg-info/SOURCES.txt
RENAMED
|
@@ -42,6 +42,8 @@ src/matrice_streaming/streaming_gateway/camera_streamer/gstreamer_camera_streame
|
|
|
42
42
|
src/matrice_streaming/streaming_gateway/camera_streamer/gstreamer_worker.py
|
|
43
43
|
src/matrice_streaming/streaming_gateway/camera_streamer/gstreamer_worker_manager.py
|
|
44
44
|
src/matrice_streaming/streaming_gateway/camera_streamer/message_builder.py
|
|
45
|
+
src/matrice_streaming/streaming_gateway/camera_streamer/nvdec.py
|
|
46
|
+
src/matrice_streaming/streaming_gateway/camera_streamer/nvdec_worker_manager.py
|
|
45
47
|
src/matrice_streaming/streaming_gateway/camera_streamer/platform_pipelines.py
|
|
46
48
|
src/matrice_streaming/streaming_gateway/camera_streamer/retry_manager.py
|
|
47
49
|
src/matrice_streaming/streaming_gateway/camera_streamer/stream_statistics.py
|
|
@@ -26,14 +26,33 @@ except (ImportError, ValueError):
|
|
|
26
26
|
GStreamerPipeline = None
|
|
27
27
|
GStreamerAsyncWorker = None
|
|
28
28
|
GStreamerWorkerManager = None
|
|
29
|
-
|
|
29
|
+
|
|
30
30
|
def is_gstreamer_available():
|
|
31
31
|
return False
|
|
32
32
|
|
|
33
|
+
# NVDEC components (optional - graceful import)
|
|
34
|
+
try:
|
|
35
|
+
from .nvdec_worker_manager import (
|
|
36
|
+
NVDECWorkerManager,
|
|
37
|
+
is_nvdec_available,
|
|
38
|
+
get_available_gpu_count,
|
|
39
|
+
)
|
|
40
|
+
NVDEC_AVAILABLE = is_nvdec_available()
|
|
41
|
+
except ImportError:
|
|
42
|
+
# NVDEC not available (requires CuPy, PyNvVideoCodec)
|
|
43
|
+
NVDEC_AVAILABLE = False
|
|
44
|
+
NVDECWorkerManager = None
|
|
45
|
+
|
|
46
|
+
def is_nvdec_available():
|
|
47
|
+
return False
|
|
48
|
+
|
|
49
|
+
def get_available_gpu_count():
|
|
50
|
+
return 1
|
|
51
|
+
|
|
33
52
|
__all__ = [
|
|
34
53
|
# Original components
|
|
35
54
|
"CameraStreamer",
|
|
36
|
-
"WorkerManager",
|
|
55
|
+
"WorkerManager",
|
|
37
56
|
"AsyncCameraWorker",
|
|
38
57
|
# GStreamer components
|
|
39
58
|
"GStreamerCameraStreamer",
|
|
@@ -43,4 +62,9 @@ __all__ = [
|
|
|
43
62
|
"GStreamerWorkerManager",
|
|
44
63
|
"is_gstreamer_available",
|
|
45
64
|
"GSTREAMER_AVAILABLE",
|
|
65
|
+
# NVDEC components
|
|
66
|
+
"NVDECWorkerManager",
|
|
67
|
+
"is_nvdec_available",
|
|
68
|
+
"get_available_gpu_count",
|
|
69
|
+
"NVDEC_AVAILABLE",
|
|
46
70
|
]
|
|
@@ -94,7 +94,7 @@ class AsyncCameraWorker:
|
|
|
94
94
|
# SHM_MODE: New parameters for shared memory architecture
|
|
95
95
|
# ================================================================
|
|
96
96
|
use_shm: bool = True, # Feature flag (default: existing JPEG behavior)
|
|
97
|
-
shm_slot_count: int =
|
|
97
|
+
shm_slot_count: int = 1000, # Ring buffer size per camera (increased for consumer lag)
|
|
98
98
|
shm_frame_format: str = "BGR", # "BGR", "RGB", or "NV12"
|
|
99
99
|
# ================================================================
|
|
100
100
|
# PERFORMANCE: New parameters for optimized frame capture
|
|
@@ -1308,7 +1308,7 @@ def run_async_worker(
|
|
|
1308
1308
|
# SHM_MODE: New parameters for shared memory architecture
|
|
1309
1309
|
# ================================================================
|
|
1310
1310
|
use_shm: bool = True,
|
|
1311
|
-
shm_slot_count: int =
|
|
1311
|
+
shm_slot_count: int = 1000,
|
|
1312
1312
|
shm_frame_format: str = "BGR",
|
|
1313
1313
|
# ================================================================
|
|
1314
1314
|
# PERFORMANCE: New parameters for optimized frame capture
|
|
@@ -80,7 +80,7 @@ class AsyncFFmpegWorker:
|
|
|
80
80
|
ffmpeg_config: Optional[FFmpegConfig] = None,
|
|
81
81
|
# SHM mode options
|
|
82
82
|
use_shm: bool = False,
|
|
83
|
-
shm_slot_count: int =
|
|
83
|
+
shm_slot_count: int = 1000,
|
|
84
84
|
shm_frame_format: str = "BGR",
|
|
85
85
|
# Performance options
|
|
86
86
|
pin_cpu_affinity: bool = True,
|
|
@@ -901,7 +901,7 @@ def run_ffmpeg_worker(
|
|
|
901
901
|
response_queue: multiprocessing.Queue = None,
|
|
902
902
|
ffmpeg_config_dict: Optional[Dict[str, Any]] = None,
|
|
903
903
|
use_shm: bool = False,
|
|
904
|
-
shm_slot_count: int =
|
|
904
|
+
shm_slot_count: int = 1000,
|
|
905
905
|
shm_frame_format: str = "BGR",
|
|
906
906
|
pin_cpu_affinity: bool = True,
|
|
907
907
|
total_workers: int = 1,
|
|
@@ -312,7 +312,7 @@ class FFmpegCameraStreamer:
|
|
|
312
312
|
ffmpeg_config: Optional[FFmpegConfig] = None,
|
|
313
313
|
# SHM mode options
|
|
314
314
|
use_shm: bool = False,
|
|
315
|
-
shm_slot_count: int =
|
|
315
|
+
shm_slot_count: int = 1000,
|
|
316
316
|
shm_frame_format: str = "BGR",
|
|
317
317
|
# Frame optimizer options
|
|
318
318
|
frame_optimizer_enabled: bool = True,
|
|
@@ -35,7 +35,7 @@ class FFmpegWorkerManager:
|
|
|
35
35
|
ffmpeg_config: Optional[FFmpegConfig] = None,
|
|
36
36
|
# SHM options
|
|
37
37
|
use_shm: bool = False,
|
|
38
|
-
shm_slot_count: int =
|
|
38
|
+
shm_slot_count: int = 1000,
|
|
39
39
|
shm_frame_format: str = "BGR",
|
|
40
40
|
# Performance options
|
|
41
41
|
pin_cpu_affinity: bool = True,
|