Fix: several bug fixes
This commit is contained in:
parent
96ecc321ec
commit
9967bff6dc
4 changed files with 112 additions and 31 deletions
|
@ -41,6 +41,15 @@ class StreamInfo:
|
|||
last_frame_time: Optional[float] = None
|
||||
frame_count: int = 0
|
||||
|
||||
# Additional WebSocket fields
|
||||
subscriptionIdentifier: Optional[str] = None
|
||||
modelId: Optional[int] = None
|
||||
modelName: Optional[str] = None
|
||||
cropX1: Optional[int] = None
|
||||
cropY1: Optional[int] = None
|
||||
cropX2: Optional[int] = None
|
||||
cropY2: Optional[int] = None
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Convert to dictionary format."""
|
||||
return {
|
||||
|
@ -607,19 +616,24 @@ class StreamManager:
|
|||
snapshot_url = payload.get('snapshotUrl')
|
||||
snapshot_interval = payload.get('snapshotInterval', 5000)
|
||||
|
||||
# Create a subscriber_id (for WebSocket compatibility, use the subscription_id)
|
||||
subscriber_id = f"websocket_{int(time.time() * 1000)}"
|
||||
|
||||
# Create subscription based on available URL type
|
||||
if rtsp_url:
|
||||
success = self.create_subscription(
|
||||
subscription_id=subscription_id,
|
||||
camera_id=camera_id,
|
||||
subscriber_id=subscriber_id,
|
||||
rtsp_url=rtsp_url
|
||||
)
|
||||
elif snapshot_url:
|
||||
success = self.create_subscription(
|
||||
subscription_id=subscription_id,
|
||||
camera_id=camera_id,
|
||||
subscriber_id=subscriber_id,
|
||||
snapshot_url=snapshot_url,
|
||||
snapshot_interval_ms=snapshot_interval
|
||||
snapshot_interval=snapshot_interval
|
||||
)
|
||||
else:
|
||||
logger.error(f"No valid stream URL provided for camera {camera_id}")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue