🌐 한국어

    소개

    Oasis는 고성능과 데이터 안정성을 제공하는 임베디드 기기용 C++ 멀티미디어 운영 미들웨어로, 다채널 녹화, ADAS, 에지 AI, 표준 네트워킹 프로토콜, 내장형 UI 프레임워크 및 갑작스러운 전원 차단에 안전한 자체 파일 시스템을 제공합니다.

    Oasis는 아래와 같은 주요 컴포넌트를 제공합니다.

    • 녹화, 스냅샷, OSD: 다채널, Timelapse, 이벤트 녹화
    • 모션 감지: 다채널, 사용자 정의 ROI 지원
    • Edge AI: 칩셋에 최적화된 AI 모델링 및 객체 인식
    • Advanced Driver Assistance System(ADAS): 차선이탈(LDW), 앞차출발(FSVA), 충돌경고(FCW)
    • 네트워킹: HTTPS, WebSocket, WebRTC, RTSP, MQTT, SIP, DDS
    • GUI: UI Framework, 미디어 플레이어, 멀티채널 카메라 영상 모니터링
    • 파일 시스템: 갑작스런 전원 차단 등 험한 조건 상에서 데이터 저장 보장

    Oasis Networking은 TLS 등을 포함하여 프로토콜 규격에 준수하여 개발된 컴포넌트입니다.

    응용 프로그램은 Oasis와 Oasis File System인 OFFS를 초기화한 후 원하는 컴포넌트를 사용하고, 종료 시 Oasis를 해제합니다.

    Oasis의 네임스페이스는 oasis 이며, 추가로 oasis::ui, oasis::fs, oasis::display 등의 서브 네임스페이스가 있습니다.

    Oasis는 각 컴포넌트 사용을 위한 API 함수와 Observer나 Delegate와 같은 Interface 로 구성되어 있습니다.

    Oasis 초기화와 각 컴포넌트 생성 API 호출 시 key-value map 데이터를 매개변수로 전달합니다. keyvalue는 모두 문자열 형식입니다.

    typedef phmap::flat_hash_map key_value_map_t
    OasisTypes.h

    Oasis는 The Parallel Hashmap을 사용합니다.

    표기 양식

    형정의

    형정의 는 아래와 같습니다.

    typedef <type> <name>
    <header file>

    함수

    함수 설명 형식은 아래와 같습니다.

    <return type> <function name> ( argument list = <default> )
    <header file>
    매개변수
      IN OUT 매개 변수 방향이 필요한 경우, 설명 앞에 IN OUT 표기를 합니다. OUT은 함수가 매개변수 값을 변경할 수 있음을 의미합니다. 기본방향은 IN 입니다. default 할당자가 있는 경우, 함수 선언문에 함께 명시됩니다.
    리턴값
    리턴 값 설명

    인터페이스

    인터페이스 설명 형식은 아래와 같습니다.

    <return type> <interface function name> ( argument list = <default> )
    <header file>
    매개변수
      IN OUT 매개 변수 방향이 필요한 경우, 설명 앞에 IN OUT 표기를 합니다. OUT은 함수가 매개변수 값을 변경할 수 있음을 의미합니다. 기본방향은 IN 입니다. default 할당자가 있는 경우, 함수 선언문에 함께 명시됩니다.
    리턴값
    리턴 값 설명

    Note

    모든 인터페이스 함수 선언문에서 virtual은 생략됩니다.

    Key-Value Map

    key-Value Map 설명 형식은 아래와 같습니다.

    기본값
    필수
    설명
    키 이름
    기본값
    패러미터 설명

    Note

    key-value map에서 value는 모두 문자열로 표현됩니다. bool 속성을 갖는 키의 경우, true는 값을 "1"로 사용하고, false는 값을 "0"으로 사용합니다.

    구조체

    구조체 설명 형식은 아래와 같습니다.

    struct <구조체 이름>
    <header file>
    타입
    이름
    설명
    멤버 타입
    멤버 이름
    멤버 설명

    코드블럭

    코드블럭 우측상단에 클립보드에 복사하기 버튼과 자동 줄바꿈 체크 버튼이 있습니다. 자동 줄바꿈에 체크하면 코드가 자동 줄바꿈 되어 보여집니다.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.