Capa de automatización

Índice

Optimice su producción con la capa de automatización de mimoLive

Estás viendo un contenido de marcador de posición de YouTube. Para acceder al contenido real, haz clic en el siguiente botón. Ten en cuenta que al hacerlo compartirás datos con terceros proveedores.

Más información

La capa de automatización de mimoLive se desarrolló originalmente como una prueba de concepto, pero desde entonces ha demostrado ser una herramienta increíblemente útil para los usuarios. Esta capa puede utilizarse para automatizar la activación y desactivación de capas en una secuencia específica o en momentos predeterminados, obtener datos de fuentes remotas a través de HTTP y enviar la información procesada a los campos de entrada de las capas, iniciar y detener Destinos de salida, ¡y mucho más!

Los scripts de automatización en mimoLive no se ejecutan en tiempo real

Tenga en cuenta que la temporización de los scripts de automatización en mimoLive puede no ser precisa debido a la naturaleza asíncrona de las peticiones HTTP llamadas por el motor de renderización de vídeo. Algunos comandos de script envían peticiones HTTP a la API de mimoLive y la duración de estas peticiones no puede determinarse con precisión, lo que da lugar a posibles discrepancias de temporización. Tenga esto en cuenta cuando utilice scripts de automatización en su flujo de trabajo de producción.

Requisito previo

Para que esta capa funcione, debe activar el servidor HTTP en mimoLive para habilitar la API de control remoto. Vaya a mimoLive > Preferencias > Controles remotos: Marque la opción "Permitir acceso a controles remotos". (Actualmente la capa de automatización en mimoLive sólo funciona sin contraseña)

6102d04e 4eb3 4600 b410 0d2b2aef0767

Configurar la capa de automatización

Hay dos opciones sobre cómo debe comportarse la capa después de ser activada:

OpciónComportamiento
Apagado automático de la capaEsta opción es única ya que se aplica una vez que el script ha terminado de ejecutarse, la capa se apagará automáticamente. Utilice esta opción cuando un script deba ejecutarse una sola vez.
Apagar la capa manualmente (por ejemplo, por el operario)En este modo, hay tres guiones disponibles:

- En directo - Se ejecuta una vez cuando se activa la capa.
- Mientras vive - Se ejecuta continuamente como un bucle sin fin después de que finalice el script En Directo.
- Apagado - Se ejecuta una vez cuando se apaga la capa.

Cuando se apaga la capa, el script Mientras esté activa finaliza antes de que se ejecute el script Apagada.
Si la capa se enciende de nuevo, puede revivir en estado anterior.

Comentarios sobre el código fuente

Para recordar el propósito y la funcionalidad de su script, le recomendamos añadir comentarios dentro del código. Comience cada línea de comentario con //.

// First sleep for 5 seconds...
sleep(5)

// ...then start the Stop Watch layer:
layerOn("7C4665C4-0E17-4F63-BCFF-B59D68D75956")

Comandos de secuencias de comandos

El lenguaje de scripting es propio e incluye varios comandos. Estos comandos se enumeran en una hoja de trucos en la vista previa de la capa de la derecha. Si le resulta difícil leer esta lista, puede ampliar la vista previa pulsando el botón situado encima y a la derecha del área de vista previa.

layerOn()

Activa una capa o una variante de capa por su ID o URL de punto final de API, o por variable.

// switching on a layer by its id
layerOn("4E38A868-DCB5-4E9C-AC75-231764229BFA")

// switching on a layer variant by its id
layerOn("4E38A868-DCB5-4E9C-AC75-231764229BFA/variants/5F18C566-F59F-45B4-8D40-27EF289D47B1")

// switching on a layer by its long API Endpoint URL
layerOn("/api/v1/documents/863743527/layers/4E38A868-DCB5-4E9C-AC75-231764229BFA")

// switching on a layer with a defined variable
setVariable($myLayerID, "4E38A868-DCB5-4E9C-AC75-231764229BFA")
layerOn($myLayerID)

capaOff(<API ID de capa como expresión de cadena>)

Desactiva una capa o una variante de capa por su ID o URL de punto final de API, o por variable.

// switching off a layer by its id
layerOff("4E38A868-DCB5-4E9C-AC75-231764229BFA")

// switching off a layer variant by its id
layerOff("4E38A868-DCB5-4E9C-AC75-231764229BFA/variants/5F18C566-F59F-45B4-8D40-27EF289D47B1")

// switching off a layer by its long API Endpoint URL
layerOff("/api/v1/documents/863743527/layers/4E38A868-DCB5-4E9C-AC75-231764229BFA")

// switching off a layer with a defined variable
setVariable($myLayerID, "4E38A868-DCB5-4E9C-AC75-231764229BFA")
layerOff($myLayerID)

layerSetRecall(<Capa API Establecer ID como expresión de cadena>)

Activa la recuperación de un determinado Conjunto de capas.

// recall a Layer Set by its id
layerSetRecall("E6950B7A-7457-44C5-81F7-972D9B04DBC3")

// recall a Layer Set by its long API Endpoint URL
layerSetRecall("/api/v1/documents/863743527/layer-sets/E6950B7A-7457-44C5-81F7-972D9B04DBC3")

// recall a Layer Set with a defined variable
setVariable($myLayerSetID, "E6950B7A-7457-44C5-81F7-972D9B04DBC3")
layerSetRecall($myLayerSetID)

outputOn(<Salida API ID de destino como expresión de cadena>)

Activa un destino de salida.

// iniciar un Destino de Salida por su id
outputOn("1953186E-4176-4849-A8ED-5B47EE1627BD")

// inicie un Destino de Salida por su URL larga de punto final de API
outputOn("/api/v1/documents/1677022440/output-destinations/1953186E-4176-4849-A8ED-5B47EE1627BD")

// inicie un Destino de Salida con una variable definida
setVariable($myOutputDestinationtID, "1953186E-4176-4849-A8ED-5B47EE1627BD")
outputOn($myOutputDestinationtID)

outputOff(<Salida API ID de destino como expresión de cadena>)

Apaga un destino de salida.

// detener un Destino de Salida por su id
outputOff("1953186E-4176-4849-A8ED-5B47EE1627BD")

// detener un Destino de salida por su URL larga de punto final de API
outputOff("/api/v1/documents/1677022440/output-destinations/1953186E-4176-4849-A8ED-5B47EE1627BD")

// detener un Destino de Salida con una variable definida
setVariable($myOutputDestinationtID, "1953186E-4176-4849-A8ED-5B47EE1627BD")
outputOff($myOutputDestinationtID)

getLayerData($resultVariableName, , )

Recupera los datos de la capa por ruta clave.

Este comando combina varios comandos en un solo paso de script: Recupera la información de la capa del servidor HTTP y almacena un campo de datos específico de la respuesta JSON en una variable. Necesita la ruta exacta al valor que desea leer. Para el parámetro de entrada de capas, esta ruta suele empezar por 'data.attributes.input-values'.

// set up useful variables
setVariable($myScoreboardLayerID, "36FA76B4-11FE-4879-8DE1-307222512712")
setVariable($pathToHomeScore, "data.attributes.input-values.tvGroup_Control__Score_Home")

// read the score for the home team from the Basketball layer
getLayerData($currentHomeScore, $myScoreboardLayerID, $pathToHomeScore)

// The variable $currentHomeScore now contains the Home Score input value of the Basketball Score layer

getObjectIDByName($resultVariableName, , )

Recupera el punto final de la API para un objeto mimoLive especificado por su nombre de visualización.

Tenga en cuenta que el nombre de visualización puede ser cambiado en cualquier momento por el operador en la interfaz de usuario mimoLive. Si el nombre cambia, el script de automatización puede fallar porque ya no puede encontrar el objeto especificado. Por otro lado, este comando es útil para descubrir mediante programación los puntos finales de la API sin tener que codificar sus ID en el script.

Funciona para "fuente", "capa", "capa-variante", "capa-conjunto", "salida-destino".

// Get the API Endpoint for the Basketball Score layer
getObjectIDByName($myBasketballScoreLayerID, "layer", "My Basketball Score Keeper")

// switch this layer on
layerOn($myBasketballScoreLayerID)
Captura de pantalla 2024 06 11 a las 15.20.42

dormir(<Segundos> como número)

Pausa la ejecución del script durante un número de segundos.

// pause the script execution for 12 seconds
sleep(12)

// pause the script execution for 35.6 seconds
sleep(35.6)

// pause the script execution for a time interval specified by a variable
setVariable($mySleepInterval, 17)
sleep($mySleepInterval)

sleepUntil(<Hora como expresión de cadena>)

Hace una pausa hasta una hora determinada del reloj (HH:MM o HH:MM:SS).

// sleep until 5:15pm
sleepUntil("17:15:00")

// sleep until 9:12am
sleepUntil("9:12")

// sleep until a time specified by a variable
setVariable($myWakeUpTime, "9:41")
sleepUntil($myWakeUpTime)

dormirEnElMinuto()

Pausa la secuencia de comandos hasta que se alcanza la siguiente fracción de hora "al minuto".

// go on every 20 minutes: on the hour, 20 and 40 minutes past the hour:
sleepOnTheMinute(20)

// go on "on the hour"
sleepOnTheMinute(60)

// go on every 10 minutes past the hour (specified by a variable)
setVariable($myWakeUpMinute, 10)
sleepOnTheMinute($myWakeUpMinute)

setVariable($variableName, <valor>)

Crea o modifica una variable local (comienza por $). El valor puede ser una cadena, un número o un booleano.

setVariable($myText, "This is a text")
setVariable($myNumber, 15.73)
setVariable($myBoolValue, false)

setGlobal($variableName, <valor>)

Crea o modifica una variable global compartida por todas las capas de automatización.

Tenga en cuenta que las variables globales son accesibles a otras capas de Automatización siempre que la capa de origen esté activa. Esta disposición le permite cambiar las variables globales activando una capa diferente con definiciones de variables globales distintas. La mejor práctica en este escenario es establecer la opción 'Desactivar capa' de la capa de Automatización en 'Manualmente' y definir las globales en el script 'En vivo'.

setGlobal($myGlobalText, "This is a text")
setGlobal($myGlobalNumber, 15.73)
setGlobal($myGlobalBoolValue, false)

concat($resultVariableName, )

Concatena expresiones de cadena.

// define some variables
setVariable($myVariableA, "This is")
setVariable($myVariableB, "text.")

// concatenate those variables and store the result into a new one
concat($myResultVariable, $myVariableA + " a " + $myVariableB)

// The variable $myResultVariable contains "This is a text.".

replace(, , , )

Este comando crea una nueva cadena sustituyendo todas las apariciones de una cadena de búsqueda dentro de una cadena de origen. El resultado se almacena en la variable de resultado especificada.

// define a source string
setVariable($source, "Hello mimoLive, hello automation!")

// replace “hello” (lowercase) with “Hi”
replace($result, $source, "hello", "Hi")

// $result = "Hello mimoLive, Hi automation!"

math($resultadoNombreVariable, )

Este comando realiza cálculos matemáticos sencillos, incluyendo sumas (+), restas (-), multiplicaciones (*) y divisiones (/). Tenga en cuenta que los cálculos se realizan en el orden en que aparecen y NO siguen la regla PEMDAS/BODMAS.

// define some variables
setVariable($myVariableA, 3)
setVariable($myVariableB, 5)

// perform the calculation
math($myResult, $myVariableA + 2 * $myVariableB)

// The result in $myResult is 25 (!) and not 13

list($resultVariableName, [, , ...])

El comando list crea una lista y la coloca en la variable resultante. Puede utilizar la variable de lista en el comando getListItem para iterar a través de esta lista.

// create a list and put it into a variable
list($myList, "A", "B", "C", "D")

appendToList($listVariableName, )

Esta orden añadirá un determinado valor a una lista existente.

// create a list and put it into a variable
list($myList, "A", "B", "C", "D")

// append an item to the list
appendToList($myList, "E")

// The result is a list with 5 items "A", "B", "C", "D" and "E"

getListItem($resultVariableName, $listVariableName, )

Con este comando puede recuperar un determinado elemento de una lista especificada por el comando list. Tenga en cuenta que el número de elemento comienza en 1, a diferencia de muchos otros lenguajes de programación en los que las matrices suelen comenzar con el índice 0.

// create a list and put it into a variable
list($myList, "A", "B", "C", "D")

// get a specific list item
getListItem($myCharacter, $myList, 2)

// The result "B" is stored in variable $myCharacter


// The following is a more complex example on how to iterate through the list with a loop command

// define a list of layer IDs that should be turned on
list($myLayerIDs, "4ECB8ACC-DEF5", "9852-60E2C81", "DFD87A4D-9FC9", "4324-9B7C", "7B1C13-2CD28")

setvariable($iteration,1)
loop(5)

  getListItem($myLayerID,$myLayerIDs,$iteration)
  setLayerOn($myLayerID)
  math($iteration,$iteration+1)

endloop()

getListCount($resultingListCountVariableName, $listVariableName)

Con este comando puede obtener el recuento de elementos de una variable de lista que haya creado con list().

// create a list and put it into a variable
list($myList, "A", "B", "C", "D")

// get a specific list item
getListCount($myListCount, $myList)

// The result 4 is stored in variable $myListCount

if(, , ) [else] endif

Esta sentencia if compara dos expresiones numéricas utilizando un comparador especificado. Si la comparación es verdadera, se ejecuta(n) la(s) siguiente(s) orden(es). En caso contrario, los comandos siguientes se omiten hasta que se alcanza un else o un endif.

Los comparadores válidos son:

“==”es igual a
“!=”no es igual a
">"superior a
"<"menos de
">="mayor o igual que
"<="menos o qual que
// define a variable
setVariable($myVariable, 3)

// test if the variable is bigger than 10
if($myVariable, ">", 10)
   setVariable($text, "is bigger than 10")
else
   setVariable($text, "is less or equal 10")
endif

// The result in $text is "is less or equal 10"

ifString(, , ) [else] endif

Esta sentencia ifString compara dos expresiones de cadena utilizando un comparador especificado. La comparación se basa en el código de caracteres ASCII de cada letra de las cadenas. Si la comparación es verdadera, se ejecutan las órdenes siguientes. En caso contrario, los comandos siguientes se omiten hasta que se alcanza un else o un endif.

Para conocer los comparadores válidos, consulte el comando if.

// define a variable
setVariable($myVariable, "mimoLive")

// test if the variable is "mimoLive"
if($myVariable, "==", "mimoLive")
   setVariable($text, "yes")
else
   setVariable($text, "no")
endif

// The result in $text is "yes"

ifLayerIsOn(<API ID de capa como expresión de cadena>) - ifLayerIsOff(<API ID de capa como expresión de cadena>) [else] endif

Estas sentencias if comprueban si una determinada capa está activa o no. Si se cumple la condición especificada (la capa está activada o desactivada), se procesan los comandos siguientes. En caso contrario, los comandos siguientes se omiten hasta que se alcanza un else o un endif.

setVariable($myLayerA, "D6A326CA-72E6-45E5-836D-9795F8F534F4")
setVariable($myLayerB, "8C58DEA7-CCBE-44CB-A60F-97C5BD456C68")

ifLayerIsOn($myLayerA)
   // the layer is live, switch it off
   layerOff($myLayerA)
else
   // the layer is currently off, switch it on
   layerOn($myLayerA)
endif

ifLayerIsOff($myLayerB)
   // the layer is currently off, switch it on
   layerOn($myLayerB)
endif

ifLayerSetIsActive(<API ID de capa como expresión de cadena>) - ifLayerSetIsInactive(<API ID de capa como expresión de cadena>) [else] endif

Estas sentencias if comprueban si un determinado Conjunto de capas está actualmente activo o no. En caso afirmativo, se procesan los comandos siguientes. En caso contrario, los comandos siguientes se omiten hasta que se alcanza un else o un endif.

setVariable($myLayerSetA, "CEF07AFA-B552-40F8-821C-CF424EB93500")
setVariable($myLayerSetB, "E4B15B8B-EE34-4CCE-BDE7-58120A65E83A")
setVariable($myLayer, "8C58DEA7-CCBE-44CB-A60F-97C5BD456C68")


ifLayerSetIsActive($myLayerSetA)
   // the layer set A is active, switch layer on
   layerOn($myLayer)
else
   // the layer set A is currently inactive, switch the layer off
   layerOff($myLayer)
endif

ifLayerSetIsInactive($myLayerSetB)
   // the layer set B is currently inactive, switch the layer off
   layerOn($myLayer)
endif

ifLayerData(, , , ) [else] endif

Este complejo comando le permite probar cualquier parámetro de una capa que el HTTP API proporciona. Necesita especificar una capa por su ID de API, la ruta clave dentro de los datos JSON devueltos por la API HTTP, un comparador (como una cadena entre comillas, por ejemplo, "=="), y un valor.

Los valores válidos del comparador son:

“==”es igual a
“!=”no es igual a
">"superior a
"<"menos de
">="mayor o igual que
"<="menos o qual que
// Example: Testing if the audio volume is turned up on a layer

setVariable($myLayerA, "D6A326CA-72E6-45E5-836D-9795F8F534F4")
setVariable($myLayerB, "8C58DEA7-CCBE-44CB-A60F-97C5BD456C68")

ifLayerData($myLayerA,"data.attributes.volume",">",0.5)
   // The audio volume is bigger than 0.5 so turn layer B on
   layerOn($myLayerB)
else
   // The volume is lower than 0.5, lets turn layer B off
   layerOff($myLayerB)
endif

bucle([]) [break] endloop

El comando bucle le permite ejecutar código varias veces. Si no especifica el número de iteraciones, el bucle se ejecutará indefinidamente. El comando break le permite salir del bucle en cualquier momento. endloop es necesario para marcar el final del bloque de comandos que debe ejecutarse en bucle.

setVariable($myLayerA, "D6A326CA-72E6-45E5-836D-9795F8F534F4")

// blink layer A 4 times
loop(4)
   layerOn(setVariable(myLayerA)
   sleep(1)
   layerOff(setVariable(myLayerA)
   sleep(1)
endloop

// wait for volume of layer A will be bigger than 0.5
loop()
   ifLayerData($myLayerA,"data.attributes.volume",">",0.5)
      // The audio volume is bigger than 0.5 exit the loop now
      break
   endif
   sleep(1)
endloop

httpRequest()

En httpRequest() comando dispara la URL dada. Esto ofrece mucha flexibilidad en la forma de utilizar este comando de script. En mimoLiveincluso puede desencadenar acciones en otros documentos o scripts remotos. Para más detalles sobre mimoLivecomandos de la API HTTP, consulte el HTTP API documentación para explorar todas las posibles llamadas a la API.

//activar una capa
httpRequest("http://127.0.0.1:8989/api/v1/documents/188462841/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B/setLive")

httpRequestJSON($resultVariableName, )

Este comando lee la respuesta de la llamada HTTP como JSON y almacena los datos en la variable de resultado especificada. Después, puede acceder a los datos mediante el comando getJSONData().

getJSONData($resultVariableName, $jsonDataVariable, )

Este comando recupera un valor de datos específico de una estructura JSON almacenada en una variable. Debe especificar la variable que contiene los datos JSON ($jsonDataVariable), la ruta a los datos dentro de la estructura JSON () y la variable donde debe almacenarse el resultado ($resultVariableName). Esto permite extraer con precisión los datos para procesarlos posteriormente o utilizarlos en su script. La ruta clave puede contener referencias a elementos de una matriz, por ejemplo, "mimatriz.[12].mivalor" dará como resultado el elemento valor de mivalor de una matriz llamada mimatriz en el elemento 12. (el recuento de elementos comienza en 1).

// obtenga todos los datos de una capa
httpRequestJSON($myLayerData, "http://127.0.0.1:8989/api/v1/documents/188462841/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B")

// obtenga el valor del dial de volumen
getJSONData($volumenDial, $myLayerData, "data.attributes.volume")
// Ahora, la variable $volumenDial contendrá un valor entre 0 y 1.

setJSONData(, , )

Escribe un valor en una variable JSON en la ruta clave proporcionada. Utilícelo para modificar JSON que haya creado o recuperado con httpRequestJSON. Las rutas de las claves están separadas por puntos.

// set fields
setJSONData($json, "data.attributes.input-values.title", "My Headline")
setJSONData($json, "data.attributes.volume", 0.75)

JSONToString(, )

Serializa una variable objeto JSON en una cadena compacta (útil para registrar, enviar o almacenar).

// assume $json already contains data
JSONToString($jsonString, $json)
// $jsonString now holds the serialized JSON text

urlEncode(, )

URL-codifica una cadena para que pueda ser utilizada con seguridad en parámetros de consulta o rutas en peticiones http.

// build a query value and encode it
setVariable($q, "mimoLive tips & tricks")
urlEncode($qEncoded, $q)

// $qEncoded -> "mimoLive%20tips%20%26%20tricks"

urlDecode(, )

URL-decodifica una cadena codificada porcentualmente de nuevo a texto legible.

// decode an encoded query value
setVariable($raw, "mimoLive%20tips%20%26%20tricks")
urlDecode($decoded, $raw)

// $decoded -> "mimoLive tips & tricks"

stop

Detiene inmediatamente el script que se está ejecutando en ese momento. Útil para una salida anticipada después de que se cumpla una condición.

// wait for a condition, then stop the script
ifLayerData("D6A326CA-72E6-45E5-836D-9795F8F534F4", "data.attributes.volume", ">", 0.5)
  // do one action then stop
  layerOn("8C58DEA7-CCBE-44CB-A60F-97C5BD456C68")
  stop
else
  // keep waiting
  sleep(1)
endif

> (Punto de interrupción para el depurador)

Cuando el depurador de scripts está activado y el modo de depuración está establecido en 'Continuamente', la ejecución del script se detendrá en este marcador y esperará hasta que el operador de mimoLive haga clic en el botón 'Siguiente paso'. Consulte 'Prácticas recomendadas - Depuración de scripts' para obtener más información sobre las posibilidades de depuración.

// do something
layerOn("D6A326CA-72E6-45E5-836D-9795F8F534F4")

// breakpoint: script pauses here in debugger
>

// continue after stepping
sleep(1)
layerOff("D6A326CA-72E6-45E5-836D-9795F8F534F4")

Constante: $DOCUMENT_ID

Contiene el ID de documento de la API del documento mimoLive actual. Útil para construir puntos finales sin codificación.

// build a layer endpoint using the document ID
setVariable($layerId, "BA868701-8131-49CB-8EDD-8C7E6E7CD60B")
concat($endpoint, "/api/v1/documents/" + $DOCUMENT_ID + "/layers/" + $layerId + "/setLive")

// switch the layer on using the constructed URL
httpRequest($endpoint)

Tipos de datos

API Puntos finales

El parámetro debe ser un punto final de la API para una capa, una variante de capa, un conjunto de capas, una fuente o un destino de salida. Puede obtener estos puntos finales de la API haciendo clic con el botón derecho del ratón sobre el objeto en el documento mimoLive. Debería aparecer un menú contextual con un elemento de menú "Copiar punto final de API al portapapeles".

Esta acción copiará el punto final de la API para este objeto en el portapapeles. Si lo pega en otro lugar, tendrá un aspecto similar al siguiente:

/api/v1/documents/863743527/layers/D6A326CA-72E6-45E5-836D-9795F8F534F4

/api/v1/documents/863743527/layers/68F63C8F-2376-4CA3-9764-CC17CBFC5F8D/variants/3FF72CC3-AF80-4252-A879-F8AFD68DB922

/api/v1/documents/863743527/layer-sets/E6950B7A-7457-44C5-81F7-972D9B04DBC3

Para los comandos relacionados con la capa puede reducir el API Endpoints a la parte importante sólo eliminando el prefijo "/api/v1/documents//layers/" . Esto hará que su script sea más corto como se muestra aquí:

// switching on a layer:
layerOn("/api/v1/documents/863743527/layers/D6A326CA-72E6-45E5-836D-9795F8F534F4")
// OR
layerOn("D6A326CA-72E6-45E5-836D-9795F8F534F4")

// switching on a variant:
layerOn("/api/v1/documents/863743527/layers/68F63C8F-2376-4CA3-9764-CC17CBFC5F8D/variants/3FF72CC3-AF80-4252-A879-F8AFD68DB922")
// OR
layerOn("68F63C8F-2376-4CA3-9764-CC17CBFC5F8D/variants/3FF72CC3-AF80-4252-A879-F8AFD68DB922")

 

Buenas prácticas

Puntos finales de la API

Cómo obtener los puntos finales de la API

  • Haciendo clic con el botón derecho en la capa y seleccionando "Copiar punto final de API"
  • utilizando el comando getAPIEndpoint() (consulte la documentación)

Cómo dirigirse a los puntos finales de la API

Puede utilizar el punto final de la API completo o eliminar la parte "/api/v1/documents//" para asegurarse de que su script también funciona cuando se copia en otro documento. Sin embargo, el ID del documento es importante si desea dirigirse a un punto API en un documento mimoLive diferente.

Depuración de scripts

Hay un depurador de scripts integrado en la capa de Automatización. Puede poner la capa en modo depuración activando el parámetro de capa "Depuración".

TBD.

Ideas para guiones

Publique un anuncio cada 10 minutos

En combinación con un "PIP Ventana" y una "Fuente de lista de reproducción multimedia" que contenga varios clips cortos de películas publicitarias, puede reproducir una publicidad cada 10 minutos. Asegúrese de desmarcar la opción "Non-Stop" en la fuente Media Playlist. De este modo, cada vez que se reproduzca la PIP Window se pone en directo, reproducirá un anuncio de la fuente Playlist y se apagará. Transcurridos 10 minutos, se reproducirá el siguiente anuncio.

Ejecuta un aguijón antes de cambiar a una capa determinada

Necesitas preparar un video stinger corto que tendrá un In-transition hasta que cubra toda la pantalla (por ejemplo después de 1 seg). Después de 1 segundo cambia en vivo la capa que quieres revelar. Coloca esta capa debajo de la capa que está reproduciendo el vídeo. Ahora que el vídeo stinger está cubriendo la pantalla, el cambio de la capa de abajo no se puede ver. El vídeo stinger debería continuar revelando la capa de abajo. Por favor, asegúrese de que el vídeo stinger se renderiza en códec de vídeo ProRes4444 para que lleve consigo la transparencia necesaria para la transición.

Crear un inicio de espectáculo complejo

Como puedes activar y desactivar las capas una tras otra durante un período de tiempo más largo, puedes tener varias capas de texto o anotación, una capa de ubicación que muestre gráficos o incluso tercios inferiores que llenen la pantalla para crear tu propio inicio de espectáculo animado. ¡Da rienda suelta a tu creatividad!

Activar un mando a distancia HTTP URL mediante un toque en la superficie del mando a distancia

Si necesita activar un HTTP Solicitar mediante un botón en su Superficie de control remoto puede añadir una capa de Automatización a su pila de capas y establecer la opción "Desactivar capa" de esa capa en "Automáticamente". Ahora puede poner un único comando httpRequest() en el campo de script "On Live". En su Superficie de Control Remoto añada el botón En Directo de esta capa al diseño. Una vez que pulse este botón en su Superficie de Control Remoto, el comando HTTP se realizará la solicitud.

Su opinión

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

Manual del usuario: Actualizaciones recientes

Puntos finales

General La API, cuando está activada, está disponible en "http://localhost:8989/api/v1". Esta es la URL base que

Leer Más "