Documentation for Axxon One 2.0. Documentation for other versions of Axxon One is [available too].

Previous page Macros 구성  gRPC API 메서드 예시 Next page

На странице:

일반 정보

내보내기는 proto 파일인 ExportService.proto와 Export.proto에 설명되어 있습니다.

내보내기에는 다음의 6가지 메소드가 사용됩니다.

  1. ListSessions − 모든 내보내기 작업의 목록을 가져오는 데 사용됩니다.
  2. StartSession − 새 내보내기 작업을 시작하는 데 사용됩니다.
  3. GetSessionState − 특정 작업의 상태를 가져오는 데 사용됩니다.
  4. StopSession − 작업을 중지하는 데 사용됩니다.
  5. DestroySession − 작업과 내보내기 결과를 삭제하는 데 사용됩니다.
  6. DownloadFile − 내보내기 결과를 다운로드하는 데 사용됩니다.

내보내기 작업은 gRPC 채널이 아닌 내보내기 에이전트에 의해 수행됩니다. 현재 gRPC API를 통해 내보내기 에이전트를 생성하는 것은 불가능하며, 클라이언트에서 수동으로만 생성할 수 있습니다.

적어도 하나의 내보내기 에이전트가 생성되면 이를 사용하여 작업을 수행할 수 있습니다. 여러 개의 내보내기 에이전트가 있고 StartSession 메소드에서 특정 에이전트를 명시하지 않으면, 인덱스 1인 에이전트가 사용됩니다.

내보내기 작업은 카메라가 위치한 노드에서 시작됩니다. 여러 카메라에 대해 내보내기가 시작되면 첫 번째 노드가 사용됩니다. 각 노드에 연결할 필요는 없으며 작업은 자동으로 해당 노드로 전달됩니다.

내보내기 결과는 로컬 Axxon One 서버에서 생성되며 DownloadFile 메소드를 사용하여 파일을 다운로드함으로써 결과를 전달할 수 있습니다. 이 메소드는 파일의 임의 위치에서 다운로드를 지원합니다.

StartSession 메서드

이 메소드는 옵션 메시지에 설명된 내보내기 옵션을 전달합니다.

message Options
{
    oneof mode
    {
        LiveMode live = 1;
        ArchiveMode archive = 2;
    }
    oneof output_type
    {
        SnapshotType snapshot = 3;
        StreamType stream = 4;
    }
    repeated CommonSetting settings = 5;
    // Maximum size of output file.
    // New file will be created on reaching this value.
    uint64 max_file_size = 6;
    string export_agent_access_point = 100;
}

여기서,

  • oneof − 이 연산에서 설정할 수 있는 속성 중 하나를 선택함을 의미합니다.
  • export_agent_access_point − 내보내기 에이전트 id

modeoutput_type 유형의 조합을 사용하여 4가지 내보내기 유형을 생성할 수 있습니다.

  1. LiveMode + SnapshotType − 실시간 비디오에서 프레임을 내보냄
  2. LiveMode + StreamType − 실시간 비디오에서 비디오 클립을 내보냄
  3. ArchiveMode + SnapshotType − 아카이브에서 프레임을 내보냄
  4. ArchiveMode + StreamType − 아카이브에서 비디오 클립을 내보냄

LiveMode, ArchiveMode, SnapshotType, StreamType 메시지에는 각 내보내기 유형에 대한 파라미터가 포함되어 있습니다. CommonSetting 메시지는 내보내기 작업에 대한 일반 설정을 전달하는 데 사용됩니다.

주요 내보내기 파라미터 목록:

파라미터내보내기 유형설명
Options max_file_size비디오 클립 내보내기최대 파일 크기 (내보내기 옵션 구성 참조)
Options export_agent_access_point모두내보내기 에이전트 id
StreamType format비디오 클립 내보내기출력 파일 형식
SnapshotType format프레임 내보내기출력 파일 형식
ArchiveMode/LiveMode Source origin모두비디오 소스 (gRPC API 메서드를 사용하여 비디오 카메라 목록과 그 매개변수 가져오기 (DomainService) 참조)
ArchiveMode Source storages아카이브에서 내보내기아카이브 (gRPC API 메서드를 사용하여 비디오 카메라 목록과 그 매개변수 가져오기 (DomainService) 참조)
ArchiveMode start_timestamp아카이브에서 내보내기인터벌 시작 타임스탬프
ArchiveMode end_timestamp아카이브에서 내보내기인터벌 종료 타임스탬프
CommonSetting comment모두코멘트
CommonSetting timestamp_format모두타임스탬프 형식
CommonSetting text_place모두코멘트 위치
CommonSetting text_color모두코멘트 텍스트 색상
CommonSetting burn_subtitle모두텍스트 오버레이 (예 또는 아니오)
CommonSetting apply_mask모두마스크 오버레이 (예 또는 아니오)
StreamSetting video_quality비디오 클립 내보내기비디오 스트림 품질
StreamSetting video_codec비디오 클립 내보내기비디오 코덱
StreamSetting audio_quality비디오 클립 내보내기오디오 스트림 품질
StreamSetting audio_codec비디오 클립 내보내기오디오 코덱
StreamSetting frame_frequency비디오 클립 내보내기프레임 빈도
SnapshotSetting pdf_layout프레임 내보내기PDF 파일 방향
SnapshotSetting snapshot_place프레임 내보내기PDF 파일 내 프레임 위치
SnapshotSetting comment_place프레임 내보내기PDF 파일 내 코멘트 위치
SnapshotSetting timestamp_place프레임 내보내기PDF 파일 내 타임스탬프 위치
SourceSetting crop_area모두내보내기 영역 (내보내기 영역 및 마스크 구성 참조)
SourceSetting mask_space모두마스크
SourceSetting text_place모두코멘트 위치
SourceSetting text_color모두코멘트 텍스트 색상

각 내보내기 유형에는 GetSessionState 메서드가 실행되지 않은 경우 작업이 중지되는 시간 제한이 있습니다.

시간 제한은 내보내기 작업이 시작된 시점과/또는 마지막으로 GetSessionState 메서드가 실행된 시점부터 계산됩니다.

라이브 비디오에서 비디오 클립을 내보내는 경우 시간 제한은 5분이며, 다른 모든 내보내기 유형은 30분입니다.

내보내기 작업의 ID는 이 메서드에 대한 응답으로 받게 됩니다.

ListSessions 메서드

각 내보내기 작업에 대한 SessionInfo 메시지가 이 메서드의 응답으로 제공됩니다. 하나의 응답으로 모든 작업을 처리할 수 없는 경우, 다음 페이지를 위한 next_page_token도 함께 제공됩니다.

SessionInfo 메시지에는 다음 내용이 포함됩니다.

  1. 내보내기 작업의 ID와 해당 속성들
  2. 내보내기 상태

    enum EState
    {
        S_NONE      = 0;
        S_RUNNING   = 1;
        S_COMPLETED = 2;
        S_REMOVED   = 3;
    }

    S_COMPLETED 상태는 내보내기가 성공적이었음을 보장하지 않습니다.

  3. 내보내기 작업 결과가 있는 경우, Result 메시지가 응답으로 제공됩니다.

    message Result
    {
        message File
        {
            string path = 1;
            uint64 size = 2;
            string min_timestamp = 3;
            string max_timestamp = 4;
            string mime_type = 5;
        }
        repeated File files = 1;
        bool succeeded = 2;
    }

    여기서,

    1. succeeded − 내보내기가 성공했음을 나타냅니다.

    2. message File − 다운로드할 준비가 된 파일 목록을 설명하며 DownloadFile에 사용할 경로와 파일 크기가 포함됩니다.

내보내기 작업 상태가 S_COMPLETED로 변경되면, 서버에서 파일을 다운로드할 수 있는 시간은 1시간입니다. GetSessionStateDownloadFile 메서드가 실행되면 타임아웃은 다시 초기화됩니다.

타임아웃이 초과되면 파일은 서버에서 삭제됩니다.

GetSessionState 메서드

내보내기 작업의 ID가 이 메서드에 전달됩니다.

응답으로 해당 EState 상태가 반환됩니다.

내보내기 작업 결과가 있는 경우, 결과 메시지가 반환됩니다.

StopSession 메서드

내보내기 작업의 ID가 이 메서드에 전달됩니다.

응답으로 해당 EState 상태가 업데이트된 상태로 반환됩니다.

DownloadFile 메서드

이 메서드는 내보내기 작업이 완료된 후에만 사용할 수 있습니다.

이 메서드에 전달되는 데이터는 다음과 같습니다.

  1. 내보내기 작업 id
  2. 파일 경로
  3. chunk_size_kb − 데이터 블록 크기
  4. start_from_chunk_index − 데이터 블록의 일련 번호

이 메서드에 응답으로, 전체 파일이 다운로드될 때까지 파일 데이터 블록을 포함한 FileChunk 메시지가 전송됩니다.

DestroySession 메서드

내보내기 작업의 ID가 이 메서드에 전달됩니다.

  • No labels