mimoLive® - Gebruikershandleiding

Generieke selecteurs
Alleen exacte overeenkomsten
Zoeken in titel
Zoeken in inhoud
Post Type Selectors

Handleiding - Inhoudsopgave

Soorten gegevens

Inhoudsopgave

De API Antwoorden met spaarzame filtering

Als de API antwoorden te veel gegevens zijn, kun je de gegevens die je terug wilt krijgen beperken door Sparse Filtering. Voor Sparse Filtering heb je twee velden die je hierbij helpen:

- "include=," beschrijft welke categorieën van de JSON responden moeten worden opgenomen. Je kunt meerdere paden opgeven, gescheiden door komma's.
- "field[]=," beschrijft welke waarden van die specifieke categorie moeten worden opgenomen. Je kunt meerdere velddefinities hebben om verschillende waarden voor elke categorie op te geven.

Voorbeeld: Je wilt uitlezen of een bepaalde Bestandsopname uitvoerbestemming momenteel opneemt of niet. In dit geval zijn we geïnteresseerd in de "live-state" waarde van de categorie "attributen" in de hoofdcategorie "gegevens". Dit betekent dat we het pad van de include-categorie moeten opgeven als "data.attributes". De categorie "attributen" bevat meerdere waarden, maar we willen alleen de "live-state" zien in de antwoorden, daarom beperken we het door de "fields[attributes]=live-state".

Dit vormt het volgende curl commando: (Zorg ervoor dat je de en vervangt door je eigen waarden!)

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

De antwoorden zien er als volgt uit:

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

Documenten

Het "documenten" type komt overeen met het documentobject dat mimoLive naar schijf schrijft als ".tvshow" bestanden.

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

Lagen

Het type "layers" vertegenwoordigt de lagen die worden gebruikt in de rendering pipeline om de video-uitvoer van mimoLive te genereren.

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

*Het "volume" attribuut is toegevoegd in mimoLive 5.2.

Varianten

Het type "varianten" modelleert één instantie van een laagconfiguratie. De meeste lagen zullen slechts één variant hebben, maar voor sommige lagen (bijv. Lower Thirds) is het gebruikelijk om meerdere varianten met verschillende tekstinhoud te hebben.
Varianten delen veel informatie met het type "lagen". In feite fungeert een laag meestal als een proxy voor de huidige actieve variant.

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

Bronnen

Het type "bronnen" modelleert bronnen die worden gebruikt in lagen, filters en andere bronnen, die audio- en video-invoer leveren aan 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
  }
}
*

*Het "gain" attribuut is toegevoegd in mimoLive 5.2.

Filters

Het type "filters" vertegenwoordigt de filters die kunnen worden toegewezen aan videobronnen om de video te bewerken voordat deze wordt gebruikt in lagen.

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

Uitvoer Bestemmingen

Beschikbaar sinds: mimoLive 4.2
Het "output-destinations" type modelleert de verschillende output bestemmingen die een mimoLive show kan hebben, inclusief opnemen, streamen en meer.

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

Individuele instellingen

Verschillende soorten uitvoerbestemmingen hebben verschillende instellingen.
Hieronder staan de verschillende soorten "instellingen"-objecten. Voor uitvoerbestemmingen die niet in de lijst staan, zal het woordenboek leeg zijn.

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

Zelfs als de "rtmpurl" en "streamingkey" waarden versluierd zijn, kun je deze waarden nog steeds instellen met een PATCH verzoek.

Plaatshouderwaarden voor het kenmerk "bestandsnaam" van Bestandsopname

PlaatshouderUitleg
1TP3Documentnaam van het document inclusief de extensie .tvshow (afhankelijk van de systeeminstellingen van de gebruiker)
%shownaam van de show
%ekstmov, zonder het . voorvoegsel
%jaar4-cijferig jaar, bijv. 2018
%month2-cijferige maand, bijv. 01 voor januari
y2-cijferige dag, bijv. 31
%hour2-cijferig uur (24-uurs klok), bijv. 15
%minute2-cijferige minuten, bijv. 45
%second2-cijferige seconden, bijv. 50

Laag sets

Beschikbaar sinds: mimoLive 4.8
Het type "laag-sets" modelleert laag-sets die de gebruiker kan aanmaken en beheren 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
  }
} 

Levende staat

Het type "LiveState" vertegenwoordigt de status waarin een document, laag of variant zich kan bevinden. Mogelijke waarden zijn:

WaardeUitleg
uitLaag: De laag staat uit en wordt niet weergegeven.
 Document: De show loopt niet.
 Uitvoerbestemming: De uitvoerbestemming kan niet live gaan omdat deze niet correct is geconfigureerd.
liveLaag: De laag is live en zal worden weergegeven, op een variant betekent dit dat de laag live is en de variant live is.
 Document: De show loopt op dit moment.
 Uitvoerbestemming: De uitgangsbestemming is actief en verzendt/neemt gegevens op.
voorbeeldLaag: De laag wordt weergegeven in de voorbeeldkolom en wordt mogelijk binnenkort live geschakeld.
 Uitvoerbestemming: De uitvoerbestemming is klaar om live te gaan en wacht op opdrachten.
uitschakelingLaag: De laag is momenteel live, maar wordt afgesloten (bijv. een uitgaande overgang).
opstartenUitvoerbestemming: De uitvoerbestemming wordt gestart (bijv. verbinding maken met een externe service).

TallyState

Een "TallyState" vertegenwoordigt de toestand waarin een bron zich kan bevinden. De mate van activiteit wordt gerangschikt en alleen het hoogste gebruik wordt gerapporteerd. Mogelijke waarden (van laag naar hoog) zijn:

WaardeUitleg
uitDe bron wordt momenteel niet gebruikt door mimoLive
in gebruikDe bron wordt momenteel ergens binnen mimoLive gebruikt
effectDe bron wordt momenteel gebruikt om te worden weergegeven in een filtervoorbeeld
voorbeeldDe bron wordt momenteel gebruikt in de voorbeelduitvoer
programmaDe bron wordt momenteel gebruikt in de uitvoer van het programma

Uw feedback

Hoe beoordeelt u uw ervaring met deze functie van mimoLive?

Laatste update handmatige pagina's

Email Nieuwsbrief

Nederlands

Doe mee aan de 24/7 Live Zoom® Demo

*vereist

Om het formulier te verzenden, moet u inhoud laden van reCAPTCHA. Houd er rekening mee dat u op deze manier gegevens deelt met providers van derden.

Meer informatie