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ónLa 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)

Configurar la capa de automatización
Hay dos opciones sobre cómo debe comportarse la capa después de ser activada:
Opción | Comportamiento |
Apagado automático de la capa | Esta 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)

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 mimoLive
incluso puede desencadenar acciones en otros documentos o scripts remotos. Para más detalles sobre mimoLive
comandos 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.