types de données

Table des matières

Réduisant le API répond avec Sparse Filtering

Si le API La réponse contient trop de données; vous pouvez restreindre les données que vous souhaitez récupérer grâce à Sparse Filtering. Pour le filtrage clairsemé, vous avez deux champs qui vous aideront avec cela :

– « include=, » décrira quelles catégories de la JSON Les réponses doivent être incluses. Vous pouvez spécifier plusieurs chemins séparés par des virgules.
– “field[]=,” will describe which values should be included of that specific category. Vous pouvez avoir plusieurs définitions de champs pour spécifier des valeurs différentes pour chaque catégorie.

Example: You want to read out if a certain Destination de sortie de l'enregistrement du fichier Est actuellement en train d'enregistrer ou non. Dans ce cas, nous sommes intéressés par la valeur « live-state » de la catégorie « attributes » dans la catégorie racine « data ». Cela signifie que nous devons spécifier le chemin de la catégorie à inclure comme « data.attributes ». La catégorie « attributs » contient plusieurs valeurs, mais nous voulons seulement voir le « live-state » dans les réponses, c’est pourquoi nous le restreignons à « fields[attributes]=live-state ».

Cela constitue la commande curl suivante : (Veuillez vous assurer de remplacer le et par vos propres valeurs !)

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

Les réponses ressembleront à ceci :

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

Documents

Le type « documents » correspond à l’objet document que mimoLive écrit sur le disque sous forme de fichiers « .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
  }
}

Couches

Le type « layers » représente les couches qui sont utilisées dans le pipeline de rendu pour générer la sortie vidéo de 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 
  }
}

*L'attribut « volume » a été ajouté dans mimoLive 5.2.

Variants

Le type « variants » modélise une instance d'une configuration de couche. La plupart des calques n'auront qu'une seule variante, mais pour certains calques (par exemple Lower Thirds), il est courant d'avoir plusieurs variantes présentant des contenus textuels différents.
Les variantes partagent beaucoup d'informations avec le type « couches ». En fait, une couche agit principalement comme un proxy pour sa variante actuellement active.

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

Sources

Le type « sources » modélise des sources utilisées dans des calques, des filtres et d'autres sources, fournissant des entrées audio et vidéo à 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
  }
}
*

L'attribut « gain » a été ajouté dans mimoLive 5.2.

Filters

Le type « filtres » représente les filtres qui peuvent être attribués aux sources vidéo pour traiter la vidéo avant d'être utilisées dans des couches.

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

Destinations de sortie

Disponible depuis : mimoLive 4.2
Le type « output-destinations » modélise les différentes destinations de sortie qu'une émission mimoLive peut avoir, y compris l'enregistrement, la diffusion en continu et bien plus encore.

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

Paramètres individuels

Différents types de destinations de sortie ont des paramètres différents.
Ci-dessous se trouvent les différents types d’objet « settings ». Pour les types de destinations de sortie qui ne sont pas répertoriés, le dictionnaire sera vide.

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

Même si les valeurs « rtmpurl » et « streamingkey » sont obfusquées, vous pouvez toujours définir ces valeurs par une requête PATCH.

Valeurs fictives pour l’attribut « filename » de File Recording.

PlaceholderExplanation
%documentnom du document incluant le .extension de série télévisée (en fonction des paramètres système de l'utilisateur)
%affichernom de l'émission
%extensionmov, sans le . préfixe
%annéeannée à quatre chiffres, par exemple 2018
%monthMois à deux chiffres, par exemple 01 pour janvier.
%jourjour à deux chiffres, par exemple 31
%heureheure à deux chiffres (format 24 h), par ex. 15
%minuteMinutes à deux chiffres, par ex. 45
%secondeSecondes à deux chiffres, par ex. 50

Ensembles de calques

Disponible depuis: mimoLive 4.8
Les modèles du type « layer-sets » définissent les ensembles de calques que l'utilisateur peut créer et gérer dans 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
  }
} 

État en direct

Le type « LiveState » représente l'état dans lequel un document, une couche ou une variante peut se trouver. Les valeurs possibles sont:

ValeurExplanation
éteintLayer: The layer is off and will not be rendered.
 Document: The show is not running.
 Destination de sortie : La destination de sortie ne peut pas être diffusée en direct car elle n'est pas correctement configurée.
en directLayer: The layer is live and will be rendered, on a variant this means that the layer is live and the variant is live.
 Document: The show is currently running.
 Destination de sortie : La destination de sortie est active et transmet/enregistre des données.
previewLayer: The layer is displayed in the preview column and may be switched live soon.
 Destination de sortie : La destination de sortie est prête à être mise en production et attend des commandes.
shutdownLayer: The layer is currently live but is in the process of shutting down (e. g. an outgoing transition).
startupDestination de sortie : La destination de sortie est en cours de démarrage (par exemple, la connexion à un service externe).

TallyState

Un « TallyState » représente l'état dans lequel une source peut se trouver. Le degré d'activité est ordonné et seule l'utilisation la plus élevée sera rapportée. Les valeurs possibles (du plus bas au plus élevé) sont :

ValeurExplanation
éteintLa source n'est actuellement pas utilisée par mimoLive.
en utilisationLa source est actuellement utilisée quelque part dans mimoLive.
effetLa source est actuellement utilisée pour être rendue dans un aperçu de filtre.
previewLa source est actuellement utilisée dans la sortie de prévisualisation.
programLa source est actuellement utilisée dans la sortie du programme.

Votre retour

Comment évalueriez-vous votre expérience avec cette fonctionnalité de mimoLive® ?

Manuel de l'utilisateur : Mises à jour récentes

Guide d'installation de mimoLive

Découvrez comment télécharger, installer et activer mimoLive sur votre Mac. Ce guide vous explique comment décompresser l’application, la déplacer dans votre dossier Applications et saisir votre clé de licence. Cela vous rappelle également de connecter vos comptes. Une fois configuré, vous êtes prêt à explorer les puissantes fonctionnalités de production vidéo en direct de mimoLive.

Lire la suite »

Introduction

mimoLive est un logiciel polyvalent de production vidéo en direct conçu pour les utilisateurs Mac, permettant la création de flux en direct de qualité professionnelle, de diffusions et de présentations. Ce manuel offre des conseils complets, proposant des instructions étape par étape et des éclairages pour aider les utilisateurs — qu'ils soient débutants ou professionnels expérimentés — à optimiser leur expérience avec le logiciel. Il couvre les exigences système, les procédures d'installation et les conseils de navigation pour assurer une installation et un fonctionnement sans accroc.

Lire la suite »

Choisir la langue

[sélecteur de langue]