mimoLive® - Benutzerhandbuch

Allgemeine Selektoren
Nur exakte Treffer
Suche im Titel
Suche im Inhalt
Post Type Selectors

Handbuch - Inhaltsverzeichnis

Datenarten

Inhaltsübersicht

Verringerung der API antwortet mit spärlicher Filterung

Wenn die API zu viele Daten sind, können Sie die Daten, die Sie zurückbekommen möchten, durch Sparse Filtering eingrenzen. Für die spärliche Filterung stehen Ihnen zwei Felder zur Verfügung, die Ihnen dabei helfen:

- "include=," beschreibt, welche Kategorien der JSON enthalten sein sollte. Sie können mehrere durch Kommata getrennte Pfade angeben.
- feld[]=," beschreibt, welche Werte in dieser spezifischen Kategorie enthalten sein sollen. Sie können mehrere Felddefinitionen haben, um unterschiedliche Werte für jede Kategorie anzugeben.

Beispiel: Sie wollen auslesen, ob eine bestimmte Dateiaufnahme Ausgabeziel gerade aufgezeichnet wird oder nicht. In diesem Fall interessieren wir uns für den "live-state"-Wert der Kategorie "attributes" in der Stammkategorie "data". Das bedeutet, dass wir den Pfad der Include-Kategorie als "data.attributes" angeben müssen. Die Kategorie "Attribute" enthält mehrere Werte, aber wir wollen nur den "Live-Status" in den Antworten sehen, weshalb wir sie mit "fields[attributes]=live-state" eingrenzen.

Daraus ergibt sich der folgende curl-Befehl: (Bitte stellen Sie sicher, dass Sie die und durch Ihre eigenen Werte ersetzen!)

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

Die Antworten werden wie folgt aussehen:

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

Dokumente

Der Typ "Dokumente" entspricht dem Dokumentobjekt, das mimoLive als ".tvshow"-Dateien auf die Festplatte schreibt.

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

Schichten

Der Typ "Ebenen" steht für die Ebenen, die in der Rendering-Pipeline verwendet werden, um die Videoausgabe von mimoLive zu erzeugen.

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

*Das Attribut "Lautstärke" wurde in mimoLive 5.2 hinzugefügt.

Varianten

Der Typ "Varianten" modelliert eine Instanz einer Ebenenkonfiguration. Die meisten Ebenen werden nur eine Variante haben, aber bei einigen Ebenen (z. B. Lower Thirds) ist es üblich, mehrere Varianten mit unterschiedlichen Textinhalten zu haben.
Varianten haben viele Informationen mit dem Typ "Ebenen" gemeinsam. In der Tat fungiert eine Ebene meist als Proxy für ihre derzeit aktive Variante.

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

Quellen

Der Typ "Quellen" modelliert Quellen, die in Layern, Filtern und anderen Quellen verwendet werden und mimoLive mit Audio- und Video-Eingängen versorgen.

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

*Das Attribut "gain" wurde in mimoLive 5.2 hinzugefügt.

Filter

Der Typ "Filter" steht für die Filter, die den Videoquellen zugewiesen werden können, um das Video vor der Verwendung in den Ebenen zu bearbeiten.

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

Ausgabeziele

Verfügbar seit: mimoLive 4.2
Der "output-destinations"-Typ modelliert die verschiedenen Ausgabeziele, die eine mimoLive-Show haben kann, einschließlich Aufnahme, Streaming und mehr.

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

Individuelle Einstellungen

Für verschiedene Arten von Ausgabezielen gelten unterschiedliche Einstellungen.
Im Folgenden sind die verschiedenen Arten von "Einstellungen"-Objekten aufgeführt. Für nicht aufgeführte Typen von Ausgabezielen ist das Wörterbuch leer.

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

Auch wenn die "rtmpurl"- und "streamingkey"-Werte verschleiert sind, können Sie diese Werte mit einer PATCH-Anfrage setzen.

Platzhalterwerte für das Attribut "Dateiname" der Datei-Aufzeichnung

PlatzhalterErläuterung
1TP6DokumentName des Dokuments einschließlich der Erweiterung .tvshow (abhängig von den Systemeinstellungen des Benutzers)
%showName der Sendung
1TP7Verlängerungmov, ohne die Vorsilbe .
%Jahr4-stelliges Jahr, z.B. 2018
%monat2-stelliger Monat, z.B. 01 für Januar
y2-stelliger Tag, z.B. 31
1TP7Stunde2-stellige Stunde (24h-Uhr), z.B. 15
%minute2-stellige Minuten, z.B. 45
1TP5Sekunde2 stellige Sekunden, z.B. 50

Ebenen-Sets

Verfügbar seit: mimoLive 4.8
Der Typ "Layersets" modelliert Layersets, die der Benutzer in mimoLive erstellen und verwalten kann.

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

Lebendiger Zustand

Der Typ "LiveState" stellt den Zustand dar, in dem sich ein Dokument, eine Ebene oder eine Variante befinden kann. Mögliche Werte sind:

WertErläuterung
ausEbene: Die Ebene ist ausgeschaltet und wird nicht gerendert.
 Dokument: Die Sendung läuft nicht.
 Ausgabeziel: Das Ausgabeziel kann nicht in Betrieb genommen werden, weil es nicht richtig konfiguriert ist.
liveEbene: Die Ebene ist live und wird gerendert, bei einer Variante bedeutet dies, dass die Ebene live ist und die Variante live ist.
 Dokument: Die Sendung läuft gerade.
 Ausgabeziel: Das Ausgangsziel ist aktiv und überträgt/zeichnet Daten auf.
VorschauEbene: Die Ebene wird in der Vorschauspalte angezeigt und kann bald live geschaltet werden.
 Ausgabeziel: Das Ausgabeziel ist einsatzbereit und wartet auf Befehle.
AbschaltungSchicht: Die Schicht ist derzeit in Betrieb, wird aber gerade heruntergefahren (z. B. ein ausgehender Übergang).
StartupAusgabeziel: Das Ausgabeziel wird gerade gestartet (z. B. Verbindung mit einem externen Dienst).

TallyState

Ein "TallyState" stellt den Zustand dar, in dem sich eine Quelle befinden kann. Der Grad der Aktivität ist geordnet und nur die höchste Nutzung wird gemeldet. Mögliche Werte (von niedrig bis hoch) sind:

WertErläuterung
ausDie Quelle wird derzeit nicht von mimoLive verwendet
im EinsatzDie Quelle wird derzeit irgendwo innerhalb von mimoLive verwendet
WirkungDie Quelle wird derzeit für die Darstellung in einer Filtervorschau verwendet
VorschauDie Quelle wird derzeit innerhalb der Vorschauausgabe verwendet
ProgrammDie Quelle wird derzeit innerhalb der Programmausgabe verwendet

Ihr Feedback

Wie würden Sie Ihre Erfahrungen mit dieser Funktion von mimoLive bewerten?

E-Mail-Newsletter

Deutsch

Nehmen Sie an der 24/7 Live Zoom® Demo teil

*erforderlich

Sie müssen den Inhalt von reCAPTCHA laden, um das Formular abzuschicken. Bitte beachten Sie, dass dabei Daten mit Drittanbietern ausgetauscht werden.

Mehr Informationen