mimoLive® - Manuale d'uso

Selettori generici
Solo corrispondenze esatte
Ricerca nel titolo
Ricerca nel contenuto
Selettori del tipo di post

Manuale - Tabella dei contenuti

Tipi di dati

Indice dei contenuti

Ridurre il API risponde con il filtraggio sparso

Se il API è una quantità eccessiva di dati, è possibile restringere i dati che si desidera ottenere con il filtraggio sparse. Per il filtraggio sparse sono disponibili due campi che aiutano in questo senso:

- "include=", descriverà quali categorie di JSON risponde deve essere incluso. È possibile specificare più percorsi separati da virgole.
- "campo[]=," descriverà quali valori devono essere inclusi in quella specifica categoria. È possibile avere più definizioni di campo per specificare valori diversi per ogni categoria.

Esempio: Si vuole leggere se un determinato Destinazione di uscita della registrazione dei file sta registrando o meno. In questo caso, siamo interessati al valore "live-state" della categoria "attributi" nella categoria principale "dati". Ciò significa che dobbiamo specificare il percorso della categoria include come "data.attributes". La categoria "attributi" contiene più valori, ma noi vogliamo solo vedere il valore "live-state" nelle risposte, per questo lo restringiamo con "fields[attributes]=live-state".

Questo crea il seguente comando curl: (Assicuratevi di sostituire i valori di e con i vostri valori!).

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

Le risposte saranno così:

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

Documenti

Il tipo "documenti" corrisponde all'oggetto documento che mimoLive scrive su disco come file ".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
  }
}

Strati

Il tipo "layers" rappresenta i livelli utilizzati nella pipeline di rendering per generare l'output video di 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 
  }
}

*In mimoLive 5.2 è stato aggiunto l'attributo "volume".

Varianti

Il tipo "varianti" modella un'istanza della configurazione di un livello. La maggior parte dei livelli avrà una sola variante, ma per alcuni livelli (ad esempio Lower Thirds) è comune avere più varianti con contenuti di testo diversi.
Le varianti condividono molte informazioni con il tipo "livelli". In effetti, un livello agisce principalmente come un proxy della sua variante attualmente attiva.

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

Fonti

Il tipo "Sorgenti" modella le sorgenti utilizzate nei livelli, nei filtri e in altre sorgenti che forniscono ingressi audio e video a 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
  }
}
*

*In mimoLive 5.2 è stato aggiunto l'attributo "gain".

Filtri

Il tipo "filtri" rappresenta i filtri che possono essere assegnati alle sorgenti video per elaborare il video prima di essere utilizzato nei livelli.

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

Destinazioni di uscita

Disponibile da: mimoLive 4.2
Il tipo "output-destinations" modella le diverse destinazioni di uscita che uno spettacolo mimoLive può avere, tra cui registrazione, streaming e altro.

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

Impostazioni individuali

I diversi tipi di destinazione di uscita hanno impostazioni diverse.
Di seguito sono riportati i diversi tipi di oggetto "impostazioni". Per i tipi di destinazioni di output non elencati, il dizionario sarà vuoto.

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

Anche se i valori "rtmpurl" e "streamingkey" sono offuscati, è comunque possibile impostarli con una richiesta PATCH.

Valori segnaposto per l'attributo "filename" di File Recording

SegnapostoSpiegazione
1TP3Documentonome del documento, compresa l'estensione .tvshow (a seconda delle impostazioni di sistema dell'utente)
%shownome dello spettacolo
%estatamov, senza il prefisso .
%annoAnno a 4 cifre, ad es. 2018
1TP4MeseMese a 2 cifre, ad es. 01 per gennaio
yGiorno a 2 cifre, ad es. 31
%ourOra a 2 cifre (orologio a 24 ore), ad es. 15
%minutoMinuti a 2 cifre, ad esempio 45
%second2 cifre per i secondi, ad esempio 50

Set di livelli

Disponibile da: mimoLive 4.8
Il tipo "set di livelli" modella i set di livelli che l'utente può creare e gestire in 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
  }
} 

Stato vivo

Il tipo "LiveState" rappresenta lo stato in cui può trovarsi un documento, un livello o una variante. I valori possibili sono:

ValoreSpiegazione
spentoLayer: Il livello è disattivato e non verrà renderizzato.
 Documento: Lo spettacolo non è in corso.
 Destinazione di uscita: La destinazione di uscita non può essere attivata perché non è configurata correttamente.
dal vivoLayer: Il livello è attivo e verrà renderizzato; in una variante questo significa che il livello è attivo e la variante è attiva.
 Documento: Lo spettacolo è attualmente in corso.
 Destinazione di uscita: La destinazione di uscita è attiva e sta trasmettendo/registrando dati.
anteprimaStrato: Il livello è visualizzato nella colonna dell'anteprima e potrebbe essere attivato a breve.
 Destinazione di uscita: La destinazione di uscita è pronta per essere attivata e in attesa di comandi.
spegnimentoStrato: Il livello è attualmente attivo ma sta per essere chiuso (ad esempio, una transizione in uscita).
avvioDestinazione di uscita: La destinazione di uscita è in fase di avvio (ad esempio, la connessione a un servizio esterno).

Stato di conteggio

Un "TallyState" rappresenta lo stato in cui può trovarsi una sorgente. Il grado di attività è ordinato e viene segnalato solo l'uso più elevato. I valori possibili (da basso ad alto) sono:

ValoreSpiegazione
spentoLa sorgente non è attualmente utilizzata da mimoLive.
in usoIl sorgente è attualmente utilizzato da qualche parte all'interno di mimoLive
effettoLa sorgente è attualmente utilizzata per essere renderizzata in un'anteprima del filtro.
anteprimaLa sorgente è attualmente utilizzata all'interno dell'anteprima di output
programmaLa sorgente è attualmente utilizzata all'interno dell'output del programma

Il vostro feedback

Come valuta la sua esperienza con questa funzione di mimoLive?

Newsletter via e-mail

Italiano

Partecipate alla dimostrazione Zoom® in diretta 24/7

*necessario

Devi caricare i contenuti da reCAPTCHA per inviare il modulo. Si prega di notare che in questo modo si condividono i dati con provider di terze parti.

Ulteriori informazioni