mimoLive® - Manual do utilizador

Seleccionadores genéricos
Fósforos exactos apenas
Pesquisa no título
Pesquisa no conteúdo
Selectores de tipo de correio

Manual - Tabela de conteúdos

Tipos de dados

Tabela de Conteúdos

Reduzir o API responde com Sparse Filtering

Se o API responde são demasiados dados, pode restringir os dados que pretende obter através de Sparse Filtering. Para a filtragem esparsa, existem dois campos que o ajudarão nesta tarefa:

- "include=", descreverá as categorias do JSON devem ser incluídos. Pode especificar vários caminhos separados por vírgulas.
- "field[]=," descreverá os valores que devem ser incluídos nessa categoria específica. Pode ter várias definições de campo para especificar valores diferentes para cada categoria.

Exemplo: Pretende-se ler se um determinado Gravação de ficheiros Destino de saída está atualmente a gravar ou não. Neste caso, estamos interessados no valor "live-state" da categoria "attributes" na categoria de raiz "data". Isto significa que precisamos de especificar o caminho da categoria de inclusão como "data.attributes". A categoria "attributes" contém vários valores, mas queremos ver apenas o "live-state" nos respondentes, por isso restringimos a categoria com "fields[attributes]=live-state"

Isto compõe o seguinte comando curl: (Certifique-se de que substitui o e pelos seus próprios valores!)

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

As respostas terão o seguinte aspeto:

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

Documentos

O tipo "documents" corresponde ao objeto de documento que o mimoLive grava no disco como ficheiros ".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
  }
}

Camadas

O tipo "layers" (camadas) representa as camadas que são utilizadas no pipeline de renderização para gerar a saída de vídeo do 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 
  }
}

*O atributo "volume" foi adicionado no mimoLive 5.2.

Variantes

O tipo "variantes" modela uma instância de uma configuração de camada. A maioria das camadas terá apenas uma variante, mas para algumas camadas (por exemplo, Lower Thirds), é comum ter várias variantes com diferentes conteúdos de texto.
As variantes partilham muita informação com o tipo "camadas". De facto, uma camada funciona sobretudo como um proxy da sua variante atualmente ativa.

{
  // 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
  }
}

Fontes

O tipo "sources" modela as fontes que são utilizadas em camadas, filtros e outras fontes, fornecendo entradas de áudio e vídeo ao 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
  }
}
*

*O atributo "gain" foi adicionado no mimoLive 5.2.

Filtros

O tipo "filtros" representa os filtros que podem ser atribuídos a fontes de vídeo para processar o vídeo antes de ser utilizado em camadas.

{
  // 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
  }
}

Destinos de saída

Disponível desde: mimoLive 4.2
O tipo "output-destinations" (destinos de saída) modela os diferentes destinos de saída que um espetáculo mimoLive pode ter, incluindo gravação, transmissão e mais.

{
  // 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
  }
}

Definições individuais

Os diferentes tipos de destino de saída têm definições diferentes.
Abaixo encontram-se os diferentes tipos de objectos "definições". Para os tipos de destinos de saída que não constam da lista, o dicionário estará vazio.

{
  // 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
}
*

Mesmo que os valores "rtmpurl" e "streamingkey" estejam ofuscados, ainda é possível definir esses valores através de um pedido PATCH.

Valores de espaço reservado para o atributo "filename" do Registo de Ficheiros

Titular do lugarExplicação
%documentonome do documento, incluindo a extensão .tvshow (dependendo das definições do sistema do utilizador)
%shownome do espetáculo
%extensãomov, sem o prefixo .
1TP7AnoAno com 4 dígitos, por exemplo, 2018
1TP7MêsMês com 2 dígitos, por exemplo, 01 para janeiro
yDia com 2 dígitos, por exemplo, 31
1TP7HoraHora com 2 dígitos (relógio de 24 horas), por exemplo, 15
%minutoMinutos com 2 dígitos, por exemplo, 45
%segundos2 dígitos de segundos, por exemplo, 50

Conjuntos de camadas

Disponível desde: mimoLive 4.8
O tipo "layer-sets" modela os conjuntos de camadas que o utilizador pode criar e gerir no 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
  }
} 

Estado vivo

O tipo "LiveState" representa o estado em que um documento, camada ou variante pode estar. Os valores possíveis são:

ValorExplicação
desligadoCamada: A camada está desactivada e não será processada.
 Documento: O programa não está a decorrer.
 Output Destination (Destino de saída): O destino de saída não pode ser ativado porque não está configurado corretamente.
ao vivoCamada: A camada está ativa e será processada; numa variante, isto significa que a camada está ativa e a variante está ativa.
 Documento: O programa está atualmente em curso.
 Destino de saída: O destino de saída está ativo e a transmitir/gravar dados.
antevisãoCamada: A camada é apresentada na coluna de pré-visualização e pode ser activada em breve.
 Destino de saída: O destino de saída está pronto para ser ativado e à espera de comandos.
encerramentoCamada: A camada está atualmente ativa, mas está em vias de ser encerrada (por exemplo, uma transição de saída).
arranqueOutput Destination (Destino de saída): O destino de saída está a ser iniciado (por exemplo, ligação a um serviço externo).

TallyState

Um "TallyState" representa o estado em que uma fonte pode estar. O grau de atividade é ordenado e apenas a utilização mais elevada será comunicada. Os valores possíveis (de baixo para alto) são:

ValorExplicação
desligadoA fonte não está atualmente a ser utilizada pelo mimoLive
em utilizaçãoA fonte está atualmente a ser utilizada algures no mimoLive
efeitoA fonte é atualmente utilizada para ser apresentada numa pré-visualização do filtro
antevisãoA fonte é atualmente utilizada na saída de pré-visualização
programaA fonte é atualmente utilizada na saída do programa

A sua opinião

Como avalia a sua experiência com esta funcionalidade do mimoLive?

Última atualização Páginas do manual

Email Newsletter

Português

Participe na demonstração 24/7 do Zoom® em direto

*necessário

Precisa de carregar o conteúdo de reCAPTCHA para enviar o formulário. Tenha em atenção que, ao fazê-lo, irá partilhar dados com fornecedores terceiros.

Mais informações