mimoLive® - 사용 설명서

일반 선택기
정확히 일치하는 항목만
제목으로 검색
콘텐츠에서 검색
게시물 유형 선택기

매뉴얼 - 목차

데이터 유형

목차

감소 API 희소 필터링으로 응답

만약 API 응답 데이터가 너무 많으면 스파스 필터링을 통해 반환할 데이터의 범위를 좁힐 수 있습니다. 희소 필터링의 경우 두 가지 필드가 도움이 될 수 있습니다:

- "include=,"는 어떤 카테고리의 JSON 응답을 포함해야 합니다. 여러 경로를 쉼표로 구분하여 지정할 수 있습니다.
- "field[]="는 특정 카테고리에 포함해야 하는 값을 설명합니다. 여러 필드 정의를 사용하여 각 카테고리에 대해 서로 다른 값을 지정할 수 있습니다.

예시: 예: 특정 파일 녹화 출력 대상 가 현재 기록 중인지 여부를 확인합니다. 이 경우 우리는 루트 카테고리 "데이터"에 있는 "속성" 카테고리의 "라이브 상태" 값에 관심이 있습니다. 즉, 포함 카테고리 경로를 "data.attributes"로 지정해야 합니다. "attributes" 카테고리에는 여러 값이 포함되어 있지만 응답에서 "live-state" 값만 보고 싶기 때문에 "fields[attributes]=live-state"로 범위를 좁힙니다.

이렇게 하면 다음 curl 명령이 완성됩니다: (와는 반드시 자신의 값으로 바꾸어 주세요!).

curl "http://192.168.0.107:8989/api/v1/documents//output-destinations/?include=data.attributes&fields[attributes]=live-state"

응답은 다음과 같이 표시됩니다:

{"data":{"attributes":{"live-state":"preview"}}}

문서

"문서" 유형은 mimoLive가 디스크에 ".tvshow" 파일로 기록하는 문서 개체에 해당합니다.

{
  // Unique Identifier of the document
  "id": String,
  // Always "documents" (see the JSON-API documentation for more information on this field)
  "type": "documents",
  // See the JSON:API specification for more information on this field
  "relationships": {
    // The layer contained in the document
    "layers": Relationship,
    // The sources used by the document
    "sources": Relationship,
    // The output destinations used by this document
    "output-destinations": Relationship
  },
  // The link to the resource itself (see the JSON:API specification for more information on this field)
  "links": Object,
  // This is probably the data you are after
  "attributes": {
    // The name of the document
    "name": String,
    // Metatdata of the document
    "metadata": {
      // Comments as entered in the show metadata panel in mimoLive
      "comments": String,
      // The height of the document in pixels
      "height": Integer,
      // The width of the document in pixels
      "width": Integer,
      // The author of the document as entered in the show metadata panel in mimoLive
      "author": String,
      // The title of the show as entered in the show metadata panel in mimoLive
      "title": String,
      // The proposed show length (timer) as entered in the show metadata panel inmimoLive (in seconds)
      "duration": Integer,
      // The framerate of the document in frames per second
      "framerate": Float,
      // The generic show name as entered in the show metadata panel in mimoLive
      "show": String,
      // The audio samplerate of the document in hz
      "samplerate": Integer
    },
    // The live state of the document/show (see LiveState for possible values and their meaning)
    "live-state": LiveState,
    // If the show is currently live, the current length of the show in seconds
    "duration": Integer,
    // If the show is currently live, timestamp when the show went live (can be used together with "metadata.duration" and "duration" to compute a countdown)
    "show-start": Integer
  }
}

레이어

'레이어' 유형은 렌더링 파이프라인에서 mimoLive의 비디오 출력을 생성하는 데 사용되는 레이어를 나타냅니다.

{
  // Unique identifier of the layer
  "id": String,
  // Always "layers" (see the JSON-API documentation for more information on this field)
  "type": "layers",
  // See the JSON:API specification for more information on this field
  "relationships": {
    // The document this layer is part of
    "document": Relationship,
    // All the layer variants for this layer
    "variants": Relationship,
    // The variant that is currently live (null otherwise)
    "live-variant": Relationship,
    // The variant that is active/selected for that layer
    "active-variant": Relationship
  },
  // The link to the resource itself (see the JSON:API specification for more information on this field)
  "links": Object,
  // Attributes of the layer (this is probably the data you are after)
  "attributes": {
    // The composition identifier for the layer, this can be used to differentiate the various layer types
    "composition-id": String,
    // The live state of the layer (see LiveState for possible values and their meaning)
    "live-state": LiveState,
    // The name of the layer as displayed in the mimoLive layer stack
    "name": String,
    // The user-controlled volume of the layer, as seen in the layer stack
    // where 0.0 means silence and 1.0 is full volume.
    // If the layer has no volume control, the value is null.
    "volume": Float | null,
    // The inputs used for the layer (composition). The keys come directly from the underlying QuartzComposition. Check out the custom layer protocol for more information on the key names and their meaning. The layer reports the "input-values" from either "live-variant" or the "active-variant" if the layer is not live.
    "input-values": Object,
    // Description object for each of the keys returned in "input-values"
    "input-descriptions": {
      (String): {
        // Whether the input is currently hidden in the mimoLive user interface
        "hidden": Bool,
        // The type of the input ("string", "number", "index", "bool", "color", "image", "structure")
        "type": String,
        // If applicable: The minimum value the input accepts
        "value-min": Float,
        // If applicable: The maximum value the input accepts
        "value-max": Float,
        // For dropdowns a list of names for the individual values
        "value-list": Array,
        // By which ammount a value should be increased or decreased
        "value-step": Float,
        // String that declares in which unit the value is (eg. "°C")
        "value-unit": String,
        // Label that is shown next to the input
        "label": String,
        // The index of the input (for sorting)
        "index": Integer
    	}
    },
    // Outputs from the last render cycle that were returned from QuartzComposer, including the original keys
    "output-values": Object,
    // The index of the layer in the layer stack (zero relates to the top of the stack)
    "index": Integer 
  }
}

*"볼륨" 속성이 mimoLive 5.2에 추가되었습니다.

변형

"변형" 유형은 레이어 구성의 한 인스턴스를 모델링합니다. 대부분의 레이어에는 하나의 변형만 있지만 일부 레이어(예: Lower Thirds)의 경우 텍스트 콘텐츠가 다른 여러 개의 변형이 있는 것이 일반적입니다.
배리언트는 '레이어' 유형과 많은 정보를 공유합니다. 실제로 레이어는 대부분 현재 활성화된 변형의 프록시 역할을 합니다.

{
  // Unique identifier of the variant
  "id": String,
  // Always "variants" (see the JSON-API documentation for more information on this field)
  "type": "variants",
  // See the JSON:API specification for more information on this field
  "relationships": {
    // The layer this variant belongs to
    "layer": Relationship
  },
  // The link to the resource itself (see the JSON:API specification for more information on this field)
  "links": Object,
  // Attributes of the variant (this is probably the data you are after)
  "attributes": {
    // The live state of the variant (see LiveState for possible values and their meaning). If the layer is not live, the value will always be "off".
    "live-state": LiveState,
    // The name of the variant as displayed in the mimoLive layer stack
    "name": String,
    // The inputs used for the variant (composition). The keys come directly from the underlying QuartzComposition. Check out the custom layer protocol for more information on the key names and their meaning. The layer reports the "input-values" from either "live-variant" or the "active-variant" if the layer is not live.
    "input-values": Object,
    // Description object for each of the keys returned in "input-values"
    "input-descriptions": {
    	(String): {
        // Whether the input is currently hidden in the mimoLive user interface
        "hidden": Bool,
        // The type of the input ("string", "number", "index", "bool", "color", "image", "structure")
        "type": String,
        // If applicable: The minimum value the input accepts
        "value-min": Float,
        // If applicable: The maximum value the input accepts
        "value-max": Float,
        // For dropdowns a list of names for the individual values
        "value-list": Array,
        // By which ammount a value should be increased or decreased
        "value-step": Float,
        // String that declares in which unit the value is (eg. "°C")
        "value-unit": String,
        // Label that is shown next to the input
        "label": String,
        // The index of the input (for sorting)
        "index": Integer
      }
    },
    // Outputs from the last render cycle that were returned from QuartzComposer, including the original keys
    "output-values": Object
  }
}

출처

'소스' 유형은 레이어, 필터 및 기타 소스에 사용되는 소스를 모델링하여 오디오 및 비디오 입력을 mimoLive에 제공합니다.

{
  // Unique identifier of the source
  "id": String,
  // Always "sources" (see the JSON-API documentation for more information
  // on this field).
  "type": "sources",
  // See the JSON:API specification for more information on this field
  "relationships": {
    // The document this source is part of
    "document": Relationship,
    // The filters that process this source's video
    "filters": Relationship
  },
  // The link to the resource itself (see the JSON:API specification for
  // more information on this field).
  "links": Object,
  // Attributes of the variant (this is probably the data you are after)
  "attributes": {
    // The tally state of the source (see tally-state for possible values
    // and their meaning)
    "tally-state": TallyState,
    // The name of the source as displayed in mimoLive
    "name": String,
    // Whether the source supplies video
    "video": Bool,
    // [optionally] If the associated video hardware is currently connected
		// (Available since 5.5)
    "video-device-connected": Bool,
    // Whether the source supplies audio
    "audio": Bool,
    // [optionally] If the associated audio hardware is currently connected
		// (Available since 5.5)
    "audio-device-connected": Bool,
    // Summary text of the source as displayed in mimoLive
    "summary": String,
    // The identifier of the composition if the source is based on a QuartzComposition
    "composition-id": String,
    // The gain that is applied to audio comming from this source, as
    // controlled in the source settings view where 0.0 means silence,
    // 1.0 is the default and 2.0 means doubled volume.
    // Null if a source has no audio.
    "gain": Float | null,
    // The inputs used for the underlying composition (if it is a composition
    // source). Check out the custom layer protocol for more information on
    // the key names and their meaning.
    "input-values": Object,
    // Description object for each of the keys returned in "input-values"
    "input-descriptions": {
      (String): {
        // Whether the input is currently hidden in the mimoLive window
        "hidden": Bool,
        // The type of the input ("string", "number", "index", "bool",
        // "color", "image", "structure")
        "type": String,
        // If applicable: The minimum value the input accepts
        "value-min": Float,
        // If applicable: The maximum value the input accepts
        "value-max": Float,
        // For dropdowns a list of names for the individual values
        "value-list": Array,
        // By which ammount a value should be increased or decreased
        "value-step": Float,
        // String that declares in which unit the value is (eg. "°C")
        "value-unit": String,
        // Label that is shown next to the input
        "label": String,
        // The index of the input (for sorting)
        "index": Integer
      }
    },
    // Outputs from the last render cycle that were returned from
    // QuartzComposer, including the original keys
    "output-values": Object
  }
}
*

*"gain" 속성은 mimoLive 5.2에서 추가되었습니다.

필터

'필터' 유형은 레이어에서 사용하기 전에 동영상을 처리하기 위해 동영상 소스에 할당할 수 있는 필터를 나타냅니다.

{
  // Unique identifier of the filter
  "id": String,
  // Always "filters" (see the JSON-API documentation for more information on this field)
  "type": "filters",
  // See the JSON:API specification for more information on this field.
  "relationships": {
    // The source that this filter belongs to
    "source": Relationship
  },
  // The link to the resource itself (see the JSON:API specification for more information on this field)
  "links": Object,
  // Attributes of the variant (this is probably the data you are after)
  "attributes": {
    // The name of the filter as displayed in mimoLive
    "name": String,
    // The identifier of the filter's QuartzComposition
    "composition-id": String,
    // The inputs used for the underlying composition (if it is a composition source). Check out the custom layer protocol for more information on the key names and their meaning.
    "input-values": Object,
    // Description object for each of the keys returned in "input-values"
    "input-descriptions": {
      (String): {
        // Whether the input is currently hidden in the mimoLive user interface
        "hidden": Bool,
        // The type of the input ("string", "number", "index", "bool", "color", "image", "structure")
        "type": String,
        // If applicable: The minimum value the input accepts
        "value-min": Float,
        // If applicable: The maximum value the input accepts
        "value-max": Float,
        // For dropdowns a list of names for the individual values
        "value-list": Array,
        // By which ammount a value should be increased or decreased
        "value-step": Float,
        // String that declares in which unit the value is (eg. "°C")
        "value-unit": String,
        // Label that is shown next to the input
        "label": String,
        // The index of the input (for sorting)
        "index": Integer
      }
    },
    // Outputs from the last render cycle that were returned from QuartzComposer, including the original keys
    "output-values": Object
  }
}

출력 대상

사용 가능: 미모라이브 4.2 이후
"출력 대상" 유형은 녹화, 스트리밍 등을 포함하여 mimoLive 쇼가 가질 수 있는 다양한 출력 대상을 모델링합니다.

{
  // Unique identifier of the output destination
  "id": String,
  // Always "output-destinations" (see the JSON-API documentation for more information on this field)
  "type": "output-destinations",
  // See the JSON:API specification for more information on this field
  "relationships": {
    // The document that this output destination belongs to
    "document": Relationship
  },
  // The link to the resource itself (see the JSON:API specification for more information on this field)
  "links": Object,
  // Attributes of the variant (this is probably the data you are after)
  "attributes": {
    // The name of the output destination as displayed in mimoLive
    "title": String,
    /*
     The concrete type of output destination:
     - "File Recording"
     - "Audio Aux"
     - "Live Streaming"
     - "Virtual Camera"
     - "Fullscreen"
     - "Blackmagic Design"
     - "NDI®" (including the "®")
     */
    "type": String,
    // A summary containing the most important settings
    "summary": String,
    // Whether the output destination is properly configured
    "ready-to-go-live": Bool,
    // Whether the output destination is set to start when the mimoLive show starts
    "starts-with-show": Bool,
    // Whether the output destination is set to stop when the mimoLive show ends
    "stops-with-show": Bool,
    // Individual settings depending on the "type" of output destination (see below for reference)
    "settings": Object,
    // The current live state of the output destination (see below for how to interpret the values)
    "live-state": LiveState
  }
}

개별 설정

출력 대상 유형에 따라 설정이 다릅니다.
다음은 다양한 유형의 "설정" 객체입니다. 목록에 없는 출력 대상 유형의 경우 사전이 비어 있습니다.

{
  // Path to the folder that will contain the recording. Can be set to "null" to reset to initial value ("~/Movies').
  "location": String,
  // Filename that will be given to the recording. See below for placeholder values. Can be set to "null" to reset to initial value ("%document %year-%month-%day %hour-%minute-%second.%extension").
  "filename": String
}
{
  // Available since: mimoLive 5.5:
  // Ofuscated URL of the streaming endpoint.
  "rtmpurl": String,
  // Ofuscated steaming key.
  "streamingkey": String,
   // Public broadcast URL.
  "publicurl": String
}
*

"rtmpurl" 및 "스트리밍키" 값이 난독화되어 있더라도 PATCH 요청을 통해 해당 값을 설정할 수 있습니다.

파일 레코딩의 "파일 이름" 속성에 대한 자리 표시자 값

자리 표시자설명
1TP9문서.tvshow 확장자를 포함한 문서 이름(사용자 시스템 설정에 따라 다름)
1TP8방법쇼 이름
1TP10확장접두사 없이 mov
1TP10년4자리 연도(예: 2018)
1TP10개월2자리 월(예: 1월의 경우 01)
y두 자리 숫자 요일(예: 31일)
1TP10시간2자리 시간(24시간 시계), 예: 15
%분두 자리 숫자 분(예: 45)
1TP8초2자리 초, 예: 50

레이어 세트

사용 가능: 미모라이브 4.8 이후
"레이어 세트" 유형은 사용자가 mimoLive에서 생성하고 관리할 수 있는 레이어 세트를 모델링합니다.

{
  // Unique identifier of the layer set
  "id": String,
  // Always "layer-sets" (see the JSON-API documentation for more information on this field)
  "type": "layer-sets",
  // See the JSON:API specification for more information on this field
  "relationships": {
    // The document that this layer set belongs to
    "document": Relationship
  },
  // The link to the resource itself (see the JSON:API specification for more information on this field)
  "links": Object,
  "attributes": {
    // The name of the layer set as displayed in mimoLive
    "name": String,
    // Wheter the layer stack currently matches the configuration represented by the layer set
    "active": Bool
  }
} 

라이브 상태

"LiveState" 유형은 문서, 레이어 또는 이형 상품의 상태를 나타냅니다. 가능한 값은 다음과 같습니다:

가치설명
꺼짐레이어: 레이어가 꺼져 있으며 렌더링되지 않습니다.
 문서: 쇼가 실행되고 있지 않습니다.
 출력 대상: 출력 대상이 제대로 구성되지 않아서 라이브로 전환할 수 없습니다.
라이브레이어: 레이어가 라이브 상태이며 렌더링됩니다. 이형 상품에서 이는 레이어가 라이브 상태이고 이형 상품이 라이브 상태임을 의미합니다.
 문서: 쇼가 현재 진행 중입니다.
 출력 대상: 출력 대상: 활성 상태이며 데이터를 전송/기록 중인 출력 대상입니다.
미리 보기레이어를 클릭합니다: 레이어는 미리보기 열에 표시되며 곧 라이브로 전환될 수 있습니다.
 출력 대상: 출력 대상: 출력 대상은 라이브 준비가 완료되어 명령을 기다리는 중입니다.
종료레이어: 레이어가 현재 라이브 상태이지만 종료 중입니다(예: 나가는 전환).
시작출력 대상: 출력 대상이 시작 중입니다(예: 외부 서비스에 연결하는 중).

TallyState

"집계 상태"는 소스가 어떤 상태에 있을 수 있는지를 나타냅니다. 활동 정도는 순서대로 정렬되며 가장 높은 사용량만 보고됩니다. 가능한 값(낮음부터 높음까지)은 다음과 같습니다:

가치설명
꺼짐이 소스는 현재 mimoLive에서 사용하고 있지 않습니다.
사용 중소스는 현재 mimoLive 내부 어딘가에서 사용 중입니다.
효과소스는 현재 필터 미리보기에서 렌더링하는 데 사용됩니다.
미리 보기소스는 현재 미리보기 출력 내에서 사용됩니다.
프로그램소스는 현재 프로그램 출력 내에서 사용됩니다.

피드백

mimoLive®의 이 기능에 대한 경험은 어떻게 평가하시나요?

이메일 뉴스레터

한국어

연중무휴 라이브 Zoom® 데모 참여하기

*필수

다음에서 콘텐츠를 로드해야 합니다. 재캡차 를 클릭하여 양식을 제출하세요. 이렇게 하면 타사 제공업체와 데이터가 공유된다는 점에 유의하세요.

자세한 정보