Server
 
로딩중...
검색중...
일치하는것 없음
metadata_parser.cpp 파일 참조

메타데이터 파싱 구현 파일 더 자세히 ...

#include "metadata_parser.hpp"
#include <iostream>
#include <regex>
#include <cstdio>
#include <chrono>
#include <queue>
#include <arpa/inet.h>
#include <openssl/ssl.h>
#include "ssl.hpp"
#include "config_manager.hpp"
metadata_parser.cpp에 대한 include 의존 그래프

함수

atomic< bool > parser_running (false)
 메타데이터 파서 실행 여부 플래그
 
std::atomic< int > bbox_buffer_delay_ms (2000)
 BBox 버퍼 지연(ms), 기본값 2400ms
 
std::atomic< int > bbox_send_interval_ms (50)
 BBox 전송 간격(ms), 기본값 50ms
 
void start_metadata_parser ()
 메타데이터 파서를 시작합니다.
 
void stop_metadata_parser ()
 메타데이터 파서를 중지합니다.
 
void parse_metadata ()
 RTSP 스트림에서 메타데이터를 파싱하여 BBox 정보를 추출합니다. 파싱된 BBox는 latest_bboxes와 버퍼에 저장됩니다.
 
void clear_bbox_buffer ()
 BBox 버퍼를 완전히 비웁니다.
 
void update_bbox_buffer (const std::vector< ServerBBox > &new_bboxes)
 새로운 BBox 데이터를 타임스탬프와 함께 버퍼에 추가하고 오래된 데이터를 정리합니다.
 
bool send_bboxes_to_client (SSL *ssl)
 버퍼에서 BBox 데이터를 꺼내 클라이언트(SSL)로 전송합니다.
 

변수

vector< ServerBBoxlatest_bboxes
 최근에 파싱된 BBox 목록 (스레드 안전)
 
mutex bbox_mutex
 latest_bboxes 보호용 뮤텍스
 
std::queue< TimestampedBBoxbbox_buffer
 BBox 버퍼 (타임스탬프 포함)
 
std::mutex bbox_buffer_mutex
 bbox_buffer 보호용 뮤텍스
 

상세한 설명

메타데이터 파싱 구현 파일

이 파일은 RTSP 스트림에서 메타데이터를 파싱하여 BBox 정보를 추출하고 관리하는 기능을 제공합니다.

함수 Documentation

◆ bbox_buffer_delay_ms()

std::atomic< int > bbox_buffer_delay_ms ( 2000  )

BBox 버퍼 지연(ms), 기본값 2400ms

BBox 데이터를 버퍼에 저장할 때 적용되는 지연 시간입니다. 기본값은 2000ms입니다.

◆ bbox_send_interval_ms()

std::atomic< int > bbox_send_interval_ms ( 50  )

BBox 전송 간격(ms), 기본값 50ms

클라이언트로 BBox 데이터를 전송하는 간격입니다. 기본값은 50ms입니다.

◆ parser_running()

atomic< bool > parser_running ( false  )

메타데이터 파서 실행 여부 플래그

메타데이터 파서가 실행 중인지 여부를 나타내는 플래그입니다.

◆ send_bboxes_to_client()

bool send_bboxes_to_client ( SSL *  ssl)

버퍼에서 BBox 데이터를 꺼내 클라이언트(SSL)로 전송합니다.

매개변수
sslOpenSSL SSL 포인터
반환값
전송 성공 시 true, 실패 시 false

◆ update_bbox_buffer()

void update_bbox_buffer ( const std::vector< ServerBBox > &  new_bboxes)

새로운 BBox 데이터를 타임스탬프와 함께 버퍼에 추가하고 오래된 데이터를 정리합니다.

매개변수
new_bboxes새로 파싱된 BBox 벡터

변수 Documentation

◆ bbox_buffer

std::queue<TimestampedBBox> bbox_buffer

BBox 버퍼 (타임스탬프 포함)

타임스탬프와 함께 저장된 BBox 데이터를 관리하는 큐입니다.

◆ bbox_buffer_mutex

std::mutex bbox_buffer_mutex

bbox_buffer 보호용 뮤텍스

BBox 버퍼를 보호하기 위한 뮤텍스입니다.

◆ bbox_mutex

mutex bbox_mutex

latest_bboxes 보호용 뮤텍스

최근에 파싱된 BBox 목록을 보호하기 위한 뮤텍스입니다.

◆ latest_bboxes

vector<ServerBBox> latest_bboxes

최근에 파싱된 BBox 목록 (스레드 안전)

최근에 파싱된 BBox 목록