Automatiseringslager

Innehållsförteckning

Effektivisera din produktion med mimoLives automatiseringslager

Du tittar för närvarande på en platshållare från YouTube. För att komma åt det faktiska innehållet, klicka på knappen nedan. Observera att detta innebär att uppgifter delas med tredjepartsleverantörer.

Mer information

mimoLive Automation Layer utvecklades ursprungligen som ett bevis på koncept men har sedan dess visat sig vara ett otroligt användbart verktyg för användare. Detta lager kan användas för att automatisera på- och avstängning av lager i en specifik sekvens eller vid förutbestämda tidpunkter, hämta data från fjärrkällor via HTTP och skicka bearbetad information till lagrens inmatningsfält, starta och stoppa utgångsdestinationer och mycket mer!

Automationsskript i mimoLive körs inte i realtid

Observera att timingen för automatiseringsskript i mimoLive kan vara felaktig på grund av den asynkrona karaktären hos HTTP-förfrågningar som anropas av videorenderingsmotorn. Vissa skriptkommandon skickar HTTP-förfrågningar till mimoLive API och längden på dessa förfrågningar kan inte fastställas exakt, vilket resulterar i potentiella tidsavvikelser. Tänk på detta när du använder automatiseringsskript i ditt produktionsarbetsflöde.

Förkunskapskrav

För att detta lager ska fungera måste du slå på HTTP-servern i mimoLive för att aktivera API:et för fjärrstyrning. Gå till mimoLive > Preferences > Remote Controls: Markera alternativet "Allow Remote Control Access". (För närvarande fungerar automationslagret i mimoLive endast utan lösenord)

6102d04e 4eb3 4600 b410 0d2b2aef0767

Ställ in automatiseringslagret

Det finns två alternativ för hur lagret ska bete sig efter att det kopplats live:

AlternativBeteende
Slå av skiktet automatisktDet här alternativet är enkelt och tillämpas när skriptet har körts klart, lagret stängs av automatiskt. Använd det här alternativet när ett skript bara ska köras en gång.
Stäng av lagret manuellt (t.ex. av operatören)I det här läget finns tre skript tillgängliga:

- På Live - Körs en gång när lagret kopplas live.
- Medan du lever - Körs kontinuerligt som en ändlös slinga efter att On Live-skriptet har avslutats.
- Avstängd - Körs en gång när skiktet är avstängt.

När lagret stängs av avslutas skriptet While Live innan skriptet Turned Off exekveras.
Om lagret slås på igen kan du återuppleva det tidigare tillståndet.

Källa Kod Kommentarer

För att komma ihåg syftet med och funktionaliteten i ditt skript rekommenderar vi att du lägger till kommentarer i koden. Börja varje kommentarsrad med //.

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

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

Kommandon för skript

Skriptspråket är proprietärt och innehåller flera kommandon. Dessa kommandon listas i en fusklapp i förhandsgranskningen av lagret till höger. Om listan är svår att läsa kan du expandera förhandsgranskningen genom att klicka på knappen ovanför och till höger om förhandsgranskningsområdet.

layerOn()

Kopplar på ett lager eller en lagervariant med dess ID eller API Endpoint URL, eller med en variabel.

// 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)

layerOff(<API Layer ID som sträng Expression>)

Stänger av ett lager eller en lagervariant med dess ID eller API Endpoint URL, eller med en variabel.

// 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(<API-lager Ange ID som sträng Uttryck>)

Utlöser återkallelsen för en viss Layer Set.

// 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(<API-utmatning Destinations-ID som stränguttryck>)

Sätter på en utgångsdestination.

// starta en Output Destination med dess id
outputOn("1953186E-4176-4849-A8ED-5B47EE1627BD")

// starta en utdatadestination med dess långa API-slutpunkts-URL
outputOn("/api/v1/documents/1677022440/output-destinations/1953186E-4176-4849-A8ED-5B47EE1627BD")

// starta en Output Destination med en definierad variabel
setVariable($myOutputDestinationtID, "1953186E-4176-4849-A8ED-5B47EE1627BD")
outputOn($myOutputDestinationtID)

outputOff(<API-utmatning Destinations-ID som stränguttryck>)

Stänger av en Output Destination.

// stoppa en utdatadestination med dess id
outputOff("1953186E-4176-4849-A8ED-5B47EE1627BD")

// stoppa en utdatadestination med dess långa API-slutpunkts-URL
outputOff("/api/v1/documents/1677022440/output-destinations/1953186E-4176-4849-A8ED-5B47EE1627BD")

// stoppa en Output Destination med en definierad variabel
setVariable($myOutputDestinationtID, "1953186E-4176-4849-A8ED-5B47EE1627BD")
outputOff($myOutputDestinationtID)

getLayerData($resultatVariabelNamn, , )

Hämtar lagerdata via nyckelsökväg.

Det här kommandot kombinerar flera kommandon i ett skriptsteg: Det hämtar lagerinformationen från HTTP-servern och lagrar ett specifikt datafält från JSON-svaret i en variabel. Du behöver den exakta sökvägen till det värde du vill läsa. För inmatningsparametern för lager börjar denna sökväg vanligtvis med "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($resultatVariabelNamn, , )

Hämtar API-slutpunkten för ett specificerat mimoLive-objekt med dess visningsnamn.

Kom ihåg att visningsnamnet kan ändras när som helst av operatören i mimoLives användargränssnitt. Om namnet ändras kan automatiseringsskriptet misslyckas eftersom det inte längre kan hitta det angivna objektet. Å andra sidan är det här kommandot användbart för att programmatiskt upptäcka API-slutpunkter utan att behöva hårdkoda deras ID:n i skriptet.

Fungerar för "source", "layer", "layer-variant", "layer-set", "output-destination".

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

// switch this layer on
layerOn($myBasketballScoreLayerID)
Skärmdump 2024 06 11 kl. 15.20.42

sova(<Sekunder> som nummer)

Pausar skriptexekveringen under ett antal sekunder.

// 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(<Tid as String Uttryck>)

Pausar fram till en viss klocktid (HH:MM eller 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)

sleepOnTheMinute()

Pausar skriptet tills nästa "på minuten"-del av en timme har uppnåtts.

// 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($variabelNamn, <värde>)

Skapar eller ändrar en lokal variabel (börjar med $). Värdet kan vara en sträng, ett tal eller en boolean.

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

setGlobal($variabelNamn, <värde>)

Skapar eller ändrar en global variabel som delas mellan automationslagren.

Observera att globala variabler är tillgängliga för andra Automation-lager så länge som det ursprungliga lagret är aktivt. Detta arrangemang gör att du kan byta globala variabler genom att aktivera ett annat lager med distinkta globala variabeldefinitioner. Bästa praxis i detta scenario är att ställa in alternativet "Switch Layer Off" för automationslagret till "Manually" och definiera de globala variablerna i skriptet "On Live".

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

concat($resultVariableName, )

Sammanfogar stränguttryck.

// 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(, , , )

Detta kommando skapar en ny sträng genom att ersätta alla förekomster av en söksträng i en källsträng. Resultatet lagras i den angivna resultatvariabeln.

// 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($resultatVariabelNamn, )

Detta kommando utför enkla matematiska beräkningar, inklusive addition (+), subtraktion (-), multiplikation (*) och division (/). Observera att beräkningarna utförs i den ordning de visas och INTE följer PEMDAS/BODMAS-regeln.

// 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, [, , ...])

Kommandot list skapar en lista och placerar den i resultatvariabeln. Du kan använda listvariabeln i kommandot getListItem för att iterera genom listan.

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

appendToList($listVariabelNamn, )

Detta kommando lägger till ett visst värde till en befintlig lista.

// 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, )

Med detta kommando kan du hämta ett visst objekt från en lista som anges med list-kommandot. Observera att objektnumret börjar på 1 i motsats till många andra programmeringsspråk där matriser ofta börjar med index 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)

Med det här kommandot kan du få fram antalet objekt i en listvariabel som du har skapat med 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

Denna if-sats jämför två numeriska uttryck med hjälp av en angiven komparator. Om jämförelsen är sann utförs följande kommando(n). I annat fall hoppas efterföljande kommandon över tills en else eller endif nås.

Giltiga komparatorer är:

“==”lika
“!=”inte lika med
">"större än
"<"mindre än
">="större eller lika med
"<="mindre eller kval än
// 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

Denna ifString-sats jämför två stränguttryck med hjälp av en angiven komparator. Jämförelsen baseras på ASCII-teckenkoden för varje bokstav i strängarna. Om jämförelsen är sann utförs följande kommandon. I annat fall hoppas efterföljande kommandon över tills en else eller endif nås.

För giltiga komparatorer, se if-kommandot.

// 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 Layer ID som sträng Expression>) - ifLayerIsOff(<API Layer ID som sträng Expression>) [else] endif

Dessa if-satser testar om ett visst lager för närvarande är live eller inte. Om det angivna villkoret är uppfyllt (lagret är på eller av), bearbetas följande kommandon. I annat fall hoppas de efterföljande kommandona över tills en else eller endif nås.

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 Layer ID som sträng Expression>) - ifLayerSetIsInactive(<API Layer ID som sträng Expression>) [else] endif

Dessa if-satser testar om en viss Layer Set för närvarande är live eller inte. Om så är fallet bearbetas följande kommandon. I annat fall hoppas de efterföljande kommandona över tills en else eller endif nås.

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

Detta komplexa kommando gör att du kan testa alla parametrar i ett lager som HTTP API tillhandahåller. Du måste ange ett lager genom dess API-ID, nyckelsökvägen i JSON-data som returneras av HTTP API, en jämförelse (som en sträng inom citattecken, t.ex. "=="), och ett värde.

Giltiga jämförelsevärden är:

“==”lika
“!=”inte lika med
">"större än
"<"mindre än
">="större eller lika med
"<="mindre eller kval än
// 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

loop([]) [break] endloop

Med kommandot loop kan du exekvera kod flera gånger. Om du inte anger antalet iterationer kommer loopen att köras på obestämd tid. Med kommandot break kan du när som helst avsluta slingan. endloop är nödvändigt för att markera slutet på det kommandoblock som ska loopas.

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()

The httpRequest() kommandot utlöser den angivna URL:en. Detta ger en stor flexibilitet i hur du kan använda detta skriptkommando. I mimoLivekan det även utlösa åtgärder i andra dokument eller fjärrskript. För mer information om mimoLiveHTTP API-kommandon kan du läsa mer i HTTP API dokumentation för att utforska alla möjliga API-anrop.

// slå på ett lager
httpRequest("http://127.0.0.1:8989/api/v1/documents/188462841/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B/setLive")

httpRequestJSON($resultVariableName, )

Detta kommando läser svaret från HTTP-anropet som JSON och lagrar data i den angivna resultatvariabeln. Efter detta kan du komma åt data via kommandot getJSONData().

getJSONData($resultVariableName, $jsonDataVariable, )

Detta kommando hämtar ett specifikt datavärde från en JSON-struktur som lagrats i en variabel. Du måste ange den variabel som innehåller JSON-data ($jsonDataVariable), sökvägen till data i JSON-strukturen () och den variabel där resultatet ska lagras ($resultVariableName). Detta möjliggör exakt extrahering av data för vidare bearbetning eller användning i ditt skript. Nyckelsökvägen kan innehålla referenser till element i en array, t.ex. "myarray.[12].myvalue" kommer att mata ut värdeelementet myvalue i en array som heter myarray vid element 12. (elementantalet börjar vid 1).

// hämta alla data för ett lager
httpRequestJSON($myLayerData, "http://127.0.0.1:8989/api/v1/documents/188462841/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B")

// hämta värdet på volymratten
getJSONData($volumenDial, $myLayerData, "data.attributes.volume")

// Nu kommer variabeln $volumenDial att innehålla ett värde mellan 0 och 1.

setJSONData(, , )

Skriver in ett värde i en JSON-variabel på den angivna nyckelsökvägen. Använd detta för att modifiera JSON som du har byggt eller hämtat med httpRequestJSON. Nyckelsökvägarna är punktseparerade.

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

JSONToString(, )

Serialiserar en JSON-objektvariabel till en kompakt sträng (användbar för loggning, sändning eller lagring).

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

urlEncode(, )

URL-kodar en sträng så att den kan användas på ett säkert sätt i frågeparametrar eller sökvägar i http-förfrågningar.

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

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

urlDecode(, )

URL-avkodar en procentkodad sträng tillbaka till läsbar text.

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

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

stopp

Stoppar omedelbart det skript som körs för tillfället. Användbart för tidig avslutning efter att ett villkor har uppfyllts.

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

> (Brytpunkt för felsökare)

När skriptfelsökaren är aktiverad och felsökningsläget är inställt på "Kontinuerligt", kommer exekveringen av skriptet att pausa vid denna markör och vänta tills mimoLive-operatören klickar på knappen "Nästa steg". Se "Bästa praxis - Felsökning av skript" för mer information om felsökningsmöjligheterna.

// 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")

Konstant: $DOCUMENT_ID

Innehåller API-dokument-ID för det aktuella mimoLive-dokumentet. Praktiskt för att konstruera ändpunkter utan hårdkodning.

// 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)

Datatyper

API Slutpunkter

Parametern ska vara en API-slutpunkt för ett skikt, en skiktvariant, en skiktuppsättning, en källa eller en utdatadestination. Du kan få fram dessa API-slutpunkter genom att högerklicka på objektet i mimoLive-dokumentet. En snabbmeny bör visas med menyalternativet "Kopiera API-slutpunkt till urklipp".

Den här åtgärden kopierar API-slutpunkten för det här objektet till urklippet. Om du klistrar in den någon annanstans kommer den att se ut ungefär så här:

/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

För lagerrelaterade kommandon kan du minska API Slutpunkter till den viktiga delen endast genom att ta bort prefixet "/api/v1/documents//layers/" . Detta kommer att göra ditt skript kortare som visas här:

// 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")

 

Bästa praxis

API-slutpunkter

Hur man hämtar API-slutpunkter

  • Genom att högerklicka på lagret och välja "Kopiera API-slutpunkt"
  • genom att använda kommandot getAPIEndpoint() (se dokumentation)

Adressering av API-slutpunkter

Du kan antingen använda den fullständiga API-slutpunkten eller ta bort delen "/api/v1/documents//" för att se till att ditt skript fungerar även när det kopieras till ett annat dokument. Dokument-ID:t är dock viktigt om du vill adressera en API-punkt i ett annat mimoLive-dokument.

Felsökning av skript

Det finns en skriptfelsökare inbyggd i Automation-lagret. Du kan växla lagret till felsökningsläge genom att ställa in lagrets parameter "Debug" till on.

TBD.

Idéer för skript

Kör en annons var 10:e minut

I kombination med en "PIP Window"-lagret och en "Media Playlist-källa" som innehåller flera korta reklamfilmklipp kan du spela upp en reklam var 10:e minut. Se till att avmarkera alternativet "Non-Stop" i källan Media Playlist. På så sätt kan du varje gång PIP När Window är inställt på live spelas en annons upp från Playlist-källan och stängs sedan av. Efter 10 minuter spelas nästa annons upp.

Kör en stinger innan du byter till ett visst lager

Du måste förbereda en kort stinger-video som kommer att ha en In-transition tills den täcker hela skärmen (t.ex. efter 1 sek). Efter 1 sekund växlar du live till det lager du vill visa. Placera detta lager under det lager som spelar upp stinger-videon. Nu när stinger-videon täcker skärmen kan växlingen av lagret nedanför inte ses. Stinger-videon bör fortsätta med att avslöja lagret nedanför. Se till att stinger-videon renderas i videokodeken ProRes4444 så att den har den transparens som krävs för övergången.

Skapa en komplex programöppnare

Eftersom du kan slå på och av lager efter lager under en längre tidsperiod kan du ha flera text- eller anteckningslager, placeringslager som visar grafik eller till och med lägre tredjedelar som fyller skärmen för att skapa din egen animerade showöppnare. Var kreativ!

Utlös en fjärrkontroll HTTP URL genom att trycka på fjärrkontrollens yta

Om du behöver utlösa en HTTP Begäran via en knapp på din Yta för fjärrkontroll kan du lägga till ett automatiseringslager i lagerstacken och ställa in alternativet "Stäng av lager" för det lagret till "Automatiskt". Nu kan du lägga in ett enda httpRequest()-kommando i skriptfältet "On Live". På din fjärrkontroll lägger du till Live-knappen för detta lager i layouten. När du trycker på den här knappen på fjärrkontrollen kommer HTTP begäran kommer att utföras.

Din feedback

Hur skulle du betygsätta din erfarenhet av den här funktionen i mimoLive?

Användarmanual Senaste uppdateringar

Slutpunkter

Allmänt När API:et är aktiverat finns det tillgängligt på "http://localhost:8989/api/v1". Detta är den bas-URL som

Läs mer "