mimoLive® - Manuel de l'utilisateur

Sélecteurs génériques
Correspondance exacte uniquement
Recherche dans le titre
Recherche dans le contenu
Sélecteurs de type de message

Manuel - Table des matières

Exemples d'utilisation de l'API

Table des matières

Contrôler mimoLive avec php

Nous avons un exemple de script PHP bien documenté sur GitHub :
https://github.com/boinx/mimoLive-HTTP-Démonstration

Contrôler mimoLive avec CURL

Pour contrôler mimoLive via HTTP vous pouvez utiliser la commande bash "curl". Pour que les commandes curl fonctionnent, vous devez trouver l'ID du document mimoLive que vous souhaitez manipuler.

Contrôler mimoLive avec la couche d'automatisation

Le site Couche d'automatisation peuvent effectuer quelques commandes simples pour déclencher des actions dans mimLive par leur API Points finaux. Il dispose également d'une commande httpRequest() permettant d'effectuer tout type de GET demande d'actions le HTTP API est capable de le faire.

Conditions préalables

- Ouvrez le document que vous souhaitez manipuler dans mimoLive.
- Assurez-vous que le document est terminé afin que les points de terminaison de l'API, comme les couches, ne changent plus. Sachez que si vous supprimez un calque et que vous le rajoutez, ce calque aura un ID de calque différent lorsque vous vous adresserez à lui via l'API. Cependant, le fait de réorganiser les calques ou d'ajouter des variantes de calques ne modifiera pas l'ID du calque.
- Activer le HTTP-Serveur dans les préférences de mimoLive Remote Control. Cochez l'option "Autoriser l'accès à la télécommande" :

9e0a2b0b 6a64 4093 b15b 24aa12dead32

Veuillez noter le numéro IP ou l'adresse IP avec le numéro de port de mimoLive pour l'utiliser ultérieurement lorsque vous travaillez avec l'application HTTP API.

Obtenir un API Point final

Avant mimoLive 5.5, il était difficile d'obtenir l'ID du document et, par exemple, l'ID de la couche à l'aide des commandes du terminal, en cherchant dans de longs documents. JSON données. Depuis mimoLive 5.5, c'est beaucoup plus facile :

Tout d'abord, copiez le fichier mimoLive HTTP base du serveur URL dans la section Télécommande de la fenêtre des préférences de mimoLive (voir la capture d'écran ci-dessus). Ouvrez un éditeur de texte (par exemple TextEdit d'Apple) et collez le contenu du presse-papiers dans un nouveau document texte. Veillez à ce qu'il y ait non la barre oblique inverse à la fin du URL! Le résultat devrait ressembler à ceci :

http://172.28.30.202:8989

Dans la fenêtre du document mimoLive, avec votre souris, vous pouvez faire un clic droit (ou un contrôle-clic, ou un double-clic) sur l'objet qui vous intéresse (par exemple, un calque, une source, un bouton d'un contrôle de calque) pour obtenir un menu contextuel. Il existe un élément de menu qui vous permet de copier l'élément API Point d'accès au presse-papier de macOS pour l'utiliser dans votre mimoLive API projet.

bc6c7e19 e991 48a0 a9b8 b56d690f19b4

Il est parfois important de s'intéresser à une variante spécifique du calque plutôt qu'au calque en général. Si vous cliquez avec le bouton droit de la souris sur le paramètre d'un calque, vous verrez qu'il existe différentes variantes de calques. API pour la couche en cours ou la variante de couche spécifique :

6120370f a575 43db 891b ef3a91d5aec5

Retournez dans votre éditeur de texte et collez le texte que vous venez de copier. API Point final après le HTTP Base du serveur URL. Aujourd'hui, le URL dans votre navigateur de texte devrait ressembler à ceci :

http://172.28.30.202:8989/api/v1/documents/458706932/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B

Il s'agit de la dernière API pour adresser une couche dans votre document. Dans cet exemple 458706932 est l'identifiant du document et BA868701-8131-49CB-8EDD-8C7E6E7CD60B est l'identifiant spécifique d'une couche donnée dans ce document.

Mise en marche et OFF a Couche

Avec les données récupérées API Endpoint pour une certaine couche, vous pouvez l'activer ou la désactiver à l'aide des commandes de terminal suivantes.

*

Veillez à remplacer xxxxxxxxx par le point de terminaison de l'API indiqué à l'étape précédente !

curl xxxxxxxxx/setLive
curl xxxxxxxxx/setOff
curl xxxxxxxxx/toggleLive
# our example will look like this:
curl http://172.28.30.202:8989/api/v1/documents/458706932/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B/setLive
*

Les URL fonctionnent également dans un navigateur Internet

Ces URL (sans la commande "curl") peuvent également être placées dans la barre d'adresse d'un navigateur Internet. Une fois que vous aurez appuyé sur "return", le navigateur appellera le serveur HTTP mimoLive et exécutera la commande que vous avez spécifiée. Si vous avez des données JSON à envoyer au point de terminaison de l'API, vous pouvez également les ajouter à l'URL, voir "Conversion d'une commande CURL avec des données JSON en une URL HTTP pour les requêtes HTTP simples" ci-dessous.

Modifier la valeur d'un calque

- Tous les paramètres d'une couche peuvent être définis par le biais de la fonction HTTP API. Vous devez trouver la clé correcte pour définir une nouvelle valeur. Dans notre exemple, nous allons définir le titre d'un fichier Lower Third Couche avec la clé tvGroup_Content__Title. Comme nous devons envoyer la nouvelle valeur dans un fichier JSON dans le fichier HTTP avec un serveur PUT demande la commande curl est un peu encombrée.

*Veillez à remplacer xxxxxxxxx par votre couche spécifique. API Point final !

curl -d '{"input-values":{"tvGroup_Content__Title":"My new title"}}' -H "Content-Type: application/json" -X PUT "xxxxxxxxx"

Collection de documents utiles API Commandes à explorer

Réglage de la RTMP URL et la clé de streaming d'une destination de sortie de streaming en direct :

curl --data '{"data": { "attributes": {"settings": {"rtmpurl":"rtmp://mystreaminghost.com", "streamingkey":"MYTOTALLYSECRETSTREAMKEY"} } } }' --request PATCH http://192.168.0.100:8989/api/v1/documents/458706932/output-destinations/4D072496-1CE3-418E-B73E-59A2927A2110

Définition du nom de fichier et du chemin d'accès d'une destination de sortie du programme d'écriture de fichiers

curl --data '{"data": { "attributes": {"settings": { "location": "~/Destktop/Recordings", "filename": "MyGreatShow %year-%month-%day-%hour-%minute.%extension" } } } }' --request PATCH http://192.168.0.100:8989/api/v1/documents/458706932/output-destinations/4D072496-1CE3-418E-B73E-59EDA388BB

Définition de la source vidéo d'un calque d'implantation

yyyyyyyyyyyyyyyyy sera le UUID de la source vidéo. (e.g CCAF4418-367A-415F-AD25-6536C3EF3512)

xxxxxxxxxxxxx sera le API de la variante de la couche concernée. (e.g. http://172.28.30.202:8989/api/v1/documents/2014814935/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B/variants/AA868701-8131-49CB-8EDD-8C7E6E7CD60A)

curl -d '{"input-values":{"tvIn_VideoSourceAImage":"yyyyyyyyyyyyy"}}' -H "Content-Type: application/json" -X PUT "xxxxxxxxxxxxxxxx"

Réglage du volume d'un calque doté d'un bouton de volume audio

Avec cette commande curl, vous pouvez modifier le volume audio d'un calque qui dispose d'un bouton de réglage audio (comme la commande Couche de placers). La valeur "volume" peut être comprise entre 0,0 et 1,0.

xxxxxxxxxxxxx sera le API point final de la couche (par exemple http://10.101.2.2:8989/api/v1/documents/13195157/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B)

curl -d '{"volume": 0.5}' -H "Content-Type: application/json" -X PUT "xxxxxxxxxxxxxxxx"

Définir la couleur d'un calque d'arrière-plan

xxxxxxxxxxxxx sera le API de la variante de la couche concernée. (e.g. http://172.28.30.202:8989/api/v1/documents/2014814935/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B/variants/AA868701-8131-49CB-8EDD-8C7E6E7CD60A)

curl -d '{"input-values":{"tvGroup_Appearance__Color_1":{"red": 1.0, "blue": 0.5, "green": 0, "alpha": 0.5}}}' -H "Content-Type: application/json" -X PUT "xxxxxxxxxxxxxxxx"

Effacer le chemin d'accès au fichier d'une source vidéo Last Recording

Dans votre Référentiel de sources, vous pouvez avoir un Dernière source d'enregistrement qui permet d'accéder au dernier enregistrement annoncé par la destination de sortie de l'enregistrement de fichier. Dans une application kiosque, il sera nécessaire d'effacer le dernier chemin d'enregistrement afin que le prochain utilisateur de la station ne puisse pas revoir l'enregistrement de l'utilisateur précédent. Avec l'option suivante Commande de la couche d'automatisation vous pouvez effacer ces informations de la source du dernier enregistrement :

httpRequest(http://127.0.0.1:8989/api/v1/documents/2014814935/sources/2014814935-413AC0A3-AC43-4A7D-A228-6D0181BF1476?update=%7B%22filepath%22%3A%22%22%7D)

Stockage JSON Données du document mimoLive

Avec le point de terminaison "datastores", vous pouvez stocker n'importe quel type de données dans le document mimoLive afin de les conserver lors du rechargement du document. Vous devez utiliser un point de terminaison "PUT"pour enregistrer les données et un message "GET"pour les relire. Vous pouvez stocker n'importe quel type de données, mais dans cet exemple, nous stockons les données suivantes JSON Data parce que cela semble être un cas d'utilisation très courant. Si vous souhaitez stocker des données différentes, vous devez adapter le paramètre -H en conséquence.

Commande Curl pour stocker les données :
bc. curl -data '{"myData1" : 1.5, "myData2" : "Some text"}'. -H "Content-Type : application/json" -X PUT http://127.0.0.1:8989/api/v1/documents/1643911183/datastores/myDataStore1

Commande Curl pour relire les données :
bc. curl -X GET http://127.0.0.1:8989/api/v1/documents/1643911183/datastores/myDataStore1

Mise à jour du chemin d'accès au fichier source d'un fichier multimédia

Il se peut que vous souhaitiez changer le film qui est joué ou remplacer une publicité affichée par une autre. Source du fichier média. Cela peut se faire par une commande de mise à jour exécutée sur la source API point final.

Assurez-vous que le mode de référence du fichier de la source de média est réglé sur "Absolut Path". Obtenez le API pour cette source en cliquant avec le bouton droit de la souris sur cette source dans la colonne de gauche et en sélectionnant "Copier le point de terminaison de la source". API Endpoint to Clipboard" dans le menu contextuel. Créer un URL de la forme suivante :

http://127.0.0.1:8989/api/v1/documents/<YOUR DOCUMENT ID>/sources/<SOURCE API ENDPOINT>?update={"filepath":"<LOCAL FILE PATH>"}

Veillez à encoder le JSON dans la base de données URL pour obtenir un URL qui peut être utilisé dans une commande curl comme suit :

curl -X GET http://127.0.0.1:8989/api/v1/documents/1748069974/sources/1748069974-334DA2E4-DFF3-4225-8F4A-D09D40A6BD5D?update=%7B%22filepath%22:%22~/Desktop/Screen%20Recording%202022-07-27%20at%2012.18.23.mov%22%7D

*Veuillez noter que vous pouvez utiliser le "~" au début du chemin d'accès au fichier pour faire référence au répertoire personnel de l'utilisateur actuel.

Contrôler mimoLive avec Apple Script

Actuellement, mimoLive ne prend pas en charge Apple Script de manière native. Toutefois, vous pouvez utiliser une solution de contournement pour contacter mimoLive : Il existe une commande "do shell script" dans Apple Script qui vous permet d'exécuter des commandes bash telles que "curl". La section précédente explique comment créer une commande curl pour manipuler un certain calque ou une certaine valeur de calque.

Une fois que vous êtes satisfait de votre commande curl, vous devez l'envelopper dans une commande "do shell script" dans Apple Script :

*Les pièges de l'Apple Script
Dans Apple Script, il y a deux pièges à éviter lorsqu'on transfère une commande de terminal comme "curl" vers la commande de script shell do :
1. Tous les " doivent être préfixés par un \N afin d'indiquer à l'analyseur Apple-Script qu'il ne s'agit pas des marqueurs de fin de la commande de script shell do. Le \ est un caractère d'échappement qui indique à l'analyseur d'ignorer le caractère suivant.
2. Si vous concaténé plusieurs parties de texte avec &, il s'agit alors d'une "liste de texte" pour Apple Script et non d'un texte unique. La commande shell do ne fonctionnera pas avec une "liste de texte" et vous devrez donc la reconvertir en un texte unique avec le "as text" à la fin du texte de votre commande curl.

Cet exemple montre comment définir le titre d'un tiers inférieur :

*Veillez à remplacer xxxxxxxxx par votre couche spécifique. API Point final !

set layerAPIEndpoint to "xxxxxxxxx" -- in our example this would be "http://172.28.30.202:8989/api/v1/documents/458706932/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B"
set lowerThirdTitle to "Hello World!"
do shell script "curl -d '{\"input-values\":{\"tvGroup_Content__Title\":\"" &amp; lowerThirdTitle &amp; "\"}}' -H \"Content-Type: application/json\" -X PUT \"" &amp; layerAPIEndpoint &amp; "\"" as text

L'exemple suivant de script Apple montre comment activer une couche toutes les demi-heures : Cela peut être utile pour les superpositions commerciales. Veillez à utiliser un calque qui s'éteindra de lui-même après un certain temps (par exemple, un calque Placer avec une source de film qui ne tourne pas en boucle).

*Veillez à remplacer xxxxxxxxx par votre couche spécifique. API Point final !

-- configure your Layer API Endpoint:
set layerAPIEndpoint to "xxxxxxxxx" -- in our example this would be "http://172.28.30.202:8989/api/v1/documents/458706932/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B"
-- repeat endlessly:
repeat
	-- get the seconds last in this hour
	set currentDate to current date
	set secondsToNextHour to 3600 - ((minutes of currentDate) * 60 + (seconds of currentDate))
	-- --------------------------------------------
	-- The following code snippet is useful only if you want to
	-- switch the layer live on half hours also.
	-- if you don't want this behaviour you can delete this part.
	-- --------------------------------------------
	-- check if we are currently in the first half of the hour
	if secondsToNextHour &gt; 1800 then
		-- yes, we are in the first half of the hour, so only wait half the time
		set secondsToNextHour to secondsToNextHour - 1800
	end if
	-- --------------------------------------------
	-- wait until the time to trigger the layer
	delay secondsToNextHour
	-- set the specified layer to live:
	do shell script "curl \"" &amp; layerAPIEndpoint &amp; "/setLive\"" as text
	-- wait a couple of seconds to make sure we don't glitch in time
	delay 5
end repeat

Conversion d'un CURL avec la commande JSON Données vers un HTTP URL pour les simples HTTP Demandes

Parfois, il n'est possible d'envoyer qu'un simple HTTP à mimoLive plutôt que d'utiliser une commande curl, par exemple dans le cas d'applications d'automatisation tierces ou de la couche d'automatisation mimoLive elle-même. Il faut pour cela convertir le bloc de données de la commande curl pour qu'il fasse partie de l'élément URL. Vous pouvez procéder comme suit :

Supposons que nous ayons la commande curl suivante :

curl --data '{"data": { "attributes": {"settings": {"rtmpurl":"rtmp://mystreaminghost.com", "streamingkey":"MYTOTALLYSECRETSTREAMKEY"} } } }' --request PATCH http://192.168.0.100:8989/api/v1/documents/458706932/output-destinations/4D072496-1CE3-418E-B73E-59A2927A2110

Vous prendriez le HTTP partie d'abord :

http://192.168.0.100:8989/api/v1/documents/458706932/output-destinations/4D072496-1CE3-418E-B73E-59A2927A2110

Ajouter ?update= à elle :

http://192.168.0.100:8989/api/v1/documents/458706932/output-destinations/4D072496-1CE3-418E-B73E-59A2927A2110?update=

Obtenez tous les -data string et supprimez tous les espaces inutiles :

{"data":{"attributes":{"settings":{"rtmpurl":"rtmp://mystreaminghost.com","streamingkey":"MYTOTALLYSECRETSTREAMKEY"}}}}

Encodez-le dans son URL formulaire par l'échappement des caractères non conformes à l'URL (par exemple, en utilisant https://www.urlencoder.org/)

%7B%22data%22%3A%7B%22attributes%22%3A%7B%22settings%22%3A%7B%22rtmpurl%22%3A%22rtmp%3A%2F%2Fmystreaminghost.com%22%2C%22streamingkey%22%3A%22MYTOTALLYSECRETSTREAMKEY%22%7D%7D%7D%7D

Enfin, mettez tout cela après la ?update= comme suit :

http://192.168.0.100:8989/api/v1/documents/458706932/output-destinations/4D072496-1CE3-418E-B73E-59A2927A2110?update=%7B%22data%22%3A%7B%22attributes%22%3A%7B%22settings%22%3A%7B%22rtmpurl%22%3A%22rtmp%3A%2F%2Fmystreaminghost.com%22%2C%22streamingkey%22%3A%22MYTOTALLYSECRETSTREAMKEY%22%7D%7D%7D%7D

Vous pouvez maintenant utiliser ceci URL dans un simple HTTP demande.

Votre avis

Comment évaluez-vous votre expérience avec cette fonction de mimoLive ?

Dernière mise à jour Pages du manuel

Bulletin d'information par courriel

Français

Participez à la démonstration Live Zoom® 24/7

*obligatoire

Vous devez charger le contenu de {{nom}} pour soumettre le formulaire. Veuillez noter que ce faisant, des données seront partagées avec des providers tiers.

Plus d'informations