mimoLive® - Manual del usuario

Ejemplos de uso de la API

Índice

Requisitos previos

- Abra el documento que desea manipular en mimoLive.
- Asegúrese de que el documento está en un estado finalizado para que los puntos finales de la API como Capas no cambien más. Tenga en cuenta que si elimina una capa y la añade de nuevo, esta capa tendrá un ID de capa diferente cuando hable con ella a través de la API. Sin embargo, reordenar capas o añadir variantes de capas no cambiará el ID de capa.
- Habilitar el HTTP-Servidor en las Preferencias de Control Remoto de mimoLive. Marque la opción "Permitir acceso de control remoto":

9e0a2b0b 6a64 4093 b15b 24aa12dead32

Anote el número IP o la dirección IP con el número de puerto de mimoLive para su uso posterior cuando trabaje con el HTTP API.

Formas de controlar mimoLive a distancia

Control de mimoLive con superficies de control remoto

La forma más eficaz es crear una Superficie de control remoto personalizada para su documento mimoLive, que puede ejecutarse en un iPad, iPhone o cualquier otro dispositivo con navegador de Internet.

Control de mimoLive con php

Disponemos de un script PHP de ejemplo bien documentado en GitHub:
https://github.com/boinx/mimoLive-HTTP-Demo

Control de mimoLive con CURL

Para controlar mimoLive a través de HTTP puede utilizar el comando bash "curl". Para que los comandos curl funcionen necesitas encontrar el ID del documento mimoLive que quieres manipular.

Control de mimoLive con la capa de automatización

En Capa de automatización puede ejecutar algunos comandos sencillos para desencadenar acciones en mimLive mediante su API Endpoints. También dispone de un comando httpRequest() para realizar cualquier tipo de GET solicitar acciones la HTTP API es capaz de hacer.

Control de mimoLive con Apple Script

Actualmente mimoLive no soporta Apple Script de forma nativa. Sin embargo, puede utilizar una solución alternativa para llegar a mimoLive: Hay un comando "do shell script" en apple script que te permite ejecutar comandos bash como "curl". La sección anterior explica cómo crear un comando curl para manipular una determinada capa o valor de capa.

Errores en Apple Script

En Apple Script hay dos escollos cuando se lleva un comando de terminal como "curl" al comando do shell script: 1. Todos los " deben ir precedidos de un \ para que el analizador sintáctico de Apple-Script sepa que esos no son los marcadores finales del comando do shell script. El \ es un carácter de escape para indicar al analizador sintáctico que ignore el carácter siguiente. 2. Si concatena varias partes de texto con & entonces esto es una "lista de texto" para Apple Script en lugar de un único texto. El comando do shell no funcionará con "lista de texto" y por lo tanto su necesidad de convertirlo de nuevo a un solo texto con el "como texto" al final de su comando curl texto

Una vez que esté satisfecho con su comando curl necesita envolverlo en un comando "do shell script" en Apple Script:

*

Asegúrese de sustituir xxxxxxxxx por el punto final de la API de su capa específica.

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\":\"" & lowerThirdTitle & "\"}}' -H \"Content-Type: application/json\" -X PUT \"" & layerAPIEndpoint & "\"" as text

El siguiente ejemplo de script de Apple muestra cómo activar una capa cada media hora: Esto puede ser útil para superposiciones comerciales. Asegúrese de utilizar una capa que se apague sola después de un cierto tiempo (por ejemplo, una capa de colocación con una fuente de película no en bucle lo hará).

*

Asegúrese de sustituir xxxxxxxxx por el punto final de la API de su capa específica.

-- 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 > 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 \"" & layerAPIEndpoint & "/setLive\"" as text
	-- wait a couple of seconds to make sure we don't glitch in time
	delay 5
end repeat

Control de los elementos de la interfaz de usuario en mimoLive

Obtener un API Punto final

Los puntos finales de la API son esenciales para abordar elementos específicos en su documento mimoLive. Para obtener una lista de los puntos finales de API disponibles, consulte Puntos finales de la API.

Antes de mimoLive 5.5 era difícil obtener el ID de documento y, por ejemplo, un ID de capa con comandos de Terminal buscando a través de largas JSON datos. Desde mimoLive 5.5 es mucho más fácil:

En primer lugar, copie el archivo mimoLive HTTP base del servidor URL de la sección Control Remoto de la ventana de Preferencias de mimoLive (ver captura de pantalla anterior). Abre un editor de texto (por ejemplo, TextEdit de Apple) y pega el contenido del Portapapeles en un documento de texto recién creado. Asegúrate de que hay no barra invertida al final del URL¡! El resultado debería ser el siguiente:

http://172.28.30.202:8989

En la ventana del documento mimoLive, con el ratón, puedes hacer clic con el botón derecho (o control-clic, o dos dedos-clic) en el objeto de interés (por ejemplo, una Capa, una Fuente, un botón de un control de Capa) para obtener un menú contextual. Hay un elemento de menú que le permite copiar el archivo API Punto final al portapapeles de macOS para utilizarlo en tu mimoLive API proyecto.

bc6c7e19 e991 48a0 a9b8 b56d690f19b4

A veces es importante tratar una variante específica de la capa en lugar de la capa en general. Si hace clic con el botón derecho en el parámetro de una capa, verá que hay diferentes API para la capa activa actual o la variante de capa específica:

6120370f a575 43db 891b ef3a91d5aec5

Vuelve a tu editor de texto y pega lo que acabas de copiar API Punto final después del HTTP Base del servidor URL. Ahora el URL en su navegador de texto debería tener este aspecto:

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

Esta es la última API Endpoint para dirigirse a una capa de su documento. En este ejemplo 458706932 es el ID del documento y BA868701-8131-49CB-8EDD-8C7E6E7CD60B es el ID de capa específico de una capa determinada en este documento.

Hacer clic con el botón derecho del ratón sobre determinados elementos de la interfaz de usuario para revelar un menú contextual que permita obtener el punto final de API específico funciona para lo siguiente:

  • Fuentes
  • Capas
  • Variantes de capa
  • Parámetro de capa
  • Destinos de salida
  • Conjuntos de capas
Captura de pantalla 2024 10 08 a las 10.19.00

Ejemplo: Conectar y OFF a Capa

Con los datos recuperados API Endpoint para una determinada capa puede activarlo y desactivarlo con los siguientes comandos de terminal.

*

Asegúrese de sustituir xxxxxxxxx por el punto final de la API del paso anterior.

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
*

Las URL también funcionan en un navegador de Internet

Estas URL (sin el comando "curl") también se pueden poner en la barra de direcciones de un navegador de Internet. Al pulsar "return", el navegador llamará al servidor HTTP de mimoLive y ejecutará el comando especificado. Si tiene datos JSON que necesita enviar al punto final de la API, también puede añadirlos a la URL, consulte "Convertir un comando CURL con datos JSON en una URL HTTP para solicitudes HTTP simples" más abajo.

Una forma sencilla de obtener la URL HTTP completa para activar o desactivar el estado activo de una capa es hacer clic con el botón derecho del ratón en el botón activo de la capa para que aparezca un menú contextual y seleccionar "Copiar URL para establecer capa activa". Esto copiará la URL al portapapeles para su uso. En la captura de pantalla, puede ver el menú contextual del botón En vivo de una capa Lower Third.

Captura de pantalla 2024 10 08 a las 10.13.16

Ejemplo: Cambiar el valor de una capa

- Todos los parámetros de una capa pueden establecerse a través de la función HTTP API. Debe encontrar la clave correcta para establecer un nuevo valor. En nuestro ejemplo, estableceremos el Título de un archivo Lower Third Capa con la clave tvGroup_Content__Title. Como tenemos que enviar el nuevo valor en un JSON al archivo HTTP servidor con un PUT solicitar el comando curl se llena un poco.

*Asegúrese de sustituir xxxxxxxxx por su capa específica API ¡Punto final!

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

Una forma rápida de obtener una URL HTTP completa para activar la actualización de una propiedad de capa es hacer clic con el botón derecho del ratón sobre el nombre de la propiedad, revelando un menú contextual, y seleccionar "Copiar URL para cambiar '.....'". " Este comando de menú copia en el portapapeles una URL HTTP que, al ser invocada (por ejemplo, en un navegador de Internet), fijará la propiedad en su valor actual. Examinando la URL, puede determinar qué parte de ella debe modificarse para enviar sus propios datos a esta propiedad. En la captura de pantalla, puede ver el menú contextual para copiar la URL para cambiar el subtítulo de una capa Lower Third.

Captura de pantalla 2024 10 08 a las 10.05.39
http://127.0.0.1:8989/api/v1/documents/xxxxxxxxxxxx/layers/yyyyyyyyyyyy/variants/zzzzzzzzzzzz?include=data.attributes.input-values&fields[input-values]=tvGroup_Content__Subtitle&update=%7B%22input-values%22:%7B%22tvGroup_Content__Subtitle%22:%22mimoLive%20User%22%7D%7D

¡El nuevo valor de la URL debe estar codificado en la URL!

En este ejemplo el espacio entre "mimoLive" y "Usuario" se codifica como

Buenas prácticas

Colección de útiles API Comandos para explorar

Ajuste del RTMP URL y Clave de Streaming de un Destino de Salida de Streaming en Directo:

curl --data '{"data": { "attributes": {"settings": {"rtmpurl":"rtmp://mystreaminghost.com", "streamingkey":"MYTOTALLYSECRETSTREAMKEY"} } } }' --request PATCH http://192.168.0.100:8989/api/v1/documents/xxxxxxxxx/output-destinations/yyyyyyyyyyyyy

Configuración del nombre de archivo y la ruta de un destino de salida de la grabadora de archivos

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/xxxxxxxxxxxx/output-destinations/yyyyyyyyyyyy

Configuración de la fuente de vídeo de una capa de colocación

yyyyyyyyyyy será el UUID de la fuente de vídeo. (e.g CCAF4418-367A-415F-AD25-6536C3EF3512)

xxxxxxxxxxxxx será el API punto final de la variante de capa determinada. (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"

Ajustar el volumen de una capa que tiene un botón de volumen de audio

Con este comando curl, puede cambiar el volumen de audio de una capa que tenga un mando de ajuste de audio (como la capa Placer). El valor "volumen" puede tomar valores de 0,0 a 1,0.

xxxxxxxxxxxxx será el API punto final de la capa (por ejemplo, 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"

Definir el color de una capa de fondo

xxxxxxxxxxxxx será el API punto final de la variante de capa determinada. (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"

Borrar la ruta de archivo de una fuente de vídeo Última grabación

En su Repositorio de fuentes, puede tener una Última fuente de grabación que le proporcionará acceso a la última grabación que anuncie cualquier Destino de salida de grabación de archivos. En una aplicación de quiosco, será necesario borrar la ruta de la última grabación para que el siguiente usuario de la estación no pueda revisar la grabación del usuario anterior. Con el siguiente comando Capa de automatización puede borrar esta información de la Fuente de última grabación:

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)

Almacenamiento JSON Datos del documento mimoLive

Con el endpoint "datastores" puedes almacenar cualquier tipo de datos en el documento mimoLive para que persistan durante una recarga del documento. Es necesario utilizar un "PUT" para guardar los datos y una solicitud "GET"para volver a leerlo. Usted puede almacenar cualquier tipo de datos, sin embargo en este ejemplo estamos almacenando JSON Data porque este parece ser un caso de uso muy común. Si desea almacenar datos diferentes, deberá ajustar el parámetro -H en consecuencia.

Comando Curl para almacenar datos:

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

Comando Curl para volver a leer los datos:

curl -X GET http://127.0.0.1:8989/api/v1/documents/1643911183/datastores/myDataStore1

Actualizar la ruta del archivo fuente de un archivo multimedia

Es posible que desee cambiar la película que se reproduce o sustituir un anuncio mostrado por un Fuente del archivo multimedia. Esto puede hacerse con un comando de actualización ejecutado en la fuente API punto final.

Asegúrese de que el modo de referencia de archivos de la fuente de medios está configurado como "Ruta absoluta". Obtenga la API de esta fuente haciendo clic con el botón derecho del ratón sobre ella en la columna de la izquierda y seleccionando "Copiar el punto final de la fuente". API Endpoint to Clipboard" en el menú contextual. Cree un URL de la siguiente forma:

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

Asegúrese de codificar el JSON datos en el URL para obtener un URL que se puede utilizar en un comando curl como este:

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

Tenga en cuenta que puede utilizar "~" al principio de la ruta del archivo para hacer referencia al directorio personal del usuario actual.

Conversión de un CURL con JSON Datos A un HTTP URL por simple HTTP Solicitudes

A veces sólo es posible enviar un simple HTTP a mimoLive en lugar de utilizar un comando curl, por ejemplo, en el caso de aplicaciones de automatización de terceros o de la propia capa de automatización mimoLive. Para ello, es necesario convertir el bloque de datos del comando curl para que forme parte del archivo URL. Puede hacerlo de la siguiente manera:

Supongamos que tenemos el siguiente comando curl:

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

Usted tomaría el HTTP pieza primero:

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

Añádale ?update=:

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

Obtenga toda la cadena de datos y elimine todos los espacios innecesarios:

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

Codifica esto en su URL forma por escape de los caracteres no conformes con URL (por ejemplo, utilizando 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

Por último, ponga todo esto después de ?update= de la siguiente manera:

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

Ahora puede utilizar este URL en un simple HTTP solicitud.

Su opinión

¿Cómo calificaría su experiencia con esta función de mimoLive?

Manual del usuario: Actualizaciones recientes

Resumen de capas

Las capas de mimoLive son una potente herramienta que permite a los usuarios crear impresionantes gráficos, animaciones y

Leer Más "

Elija la lengua