mimoLive® - Användarmanual

Generiska selektorer
Endast exakta träffar
Sök i titeln
Sök i innehåll
Val av inläggstyp

Handbok - Innehållsförteckning

Automatisering

Innehållsförteckning

Effektivisera din produktion med mimoLives automatiseringslager

mimoLives automatiseringslager utvecklades ursprungligen som ett proof of concept, men har sedan dess visat sig vara ett otroligt användbart verktyg för användarna. 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.

Detta kan vara särskilt användbart för att skapa komplexa produktioner med flera lager och ingångar, eftersom det eliminerar behovet av manuell växling och timing. Med automatiseringslagret kan användarna fokusera på att skapa engagerande innehåll och låta programvaran hantera timing och sekvensering av deras produktion.

Exempel: Automatiseringslager

Automatisering

Varning: Automatiseringsskript i mimoLive körs inte i realtid

Observera att tidpunkten för automatiseringsskript i mimoLive kanske inte är exakt på grund av den asynkrona karaktären hos HTTP-förfrågningar som anropas av videorenderingsmotorn. Dessa skript är beroende av HTTP-förfrågningar till 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 få detta lager att fungera måste du aktivera HTTP Server i mimoLive för att aktivera fjärrkontrollen API. Gå till mimoLive -> Inställningar -> Fjärrkontroller: Markera alternativet "Tillåt åtkomst från fjärrkontroll". (För närvarande fungerar det 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:

AlternativUppförande
Slå av skiktet automatisktFör detta alternativ finns endast ett skript tillgängligt. När detta skript har bearbetats kommer lagret att stänga av sig självt. Detta alternativ kan användas om en sekvens ska utföras en gång.
Slå av lagret manuellt (t.ex. av operatören)I detta fall finns det tre tillgängliga skript. När lagret kopplas live kommer "On Live"-skriptet att bearbetas. När detta är gjort bearbetas skriptet "While Live" i en oändlig slinga. När lagret stängs av bearbetas skriptet "Turned Off".
Om du inte har behov av en viss fas kan du lämna det tillhörande skriptet tomt.

Källa Kod Kommentarer

För att hjälpa dig att komma ihåg funktionen i ditt skript rekommenderar vi att du använder kommentarer i ditt skript:

// Now sleep for 5 seconds
sleep(5)
// Start the stopwatch layer:
layerOn(7C4665C4-0E17-4F63-BCFF-B59D68D75956)

!Kommentarer måste stå på en separat rad och // måste stå i början av den raden.

Kommandon för skript

Skriptspråket är proprietärt och har endast ett fåtal kommandon.

layerOn(API ID för lager)

Med detta kommando kan du slå på ett lager eller en lagervariant.

// switching on a layer by its id
layerOn(234674-se5634-2w435456)
// 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/68F63C8F-2376-4CA3-9764-CC17CBFC5F8D)
// switching on a layer with a defined variable
setVariable($myLayerID, "234674-se5634-2w435456")
layerOn($myLayerID)

layerOff(API ID för lager)

Med detta kommando kan du stänga av ett lager eller en lagervariant. Med detta kommando kan du stänga av ett lager eller en lagervariant.

// switching off a layer by its id
layerOff(234674-se5634-2w435456)
// 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/68F63C8F-2376-4CA3-9764-CC17CBFC5F8D)
// switching off a layer with a defined variable
setVariable($myLayerID, "234674-se5634-2w435456")
layerOff($myLayerID)

layerSetRecall(API ID för skiktuppsättning)

Detta kommando kan användas för att utlösa återkallelsen för en viss Lageruppsättningar.

// 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 ID för utmatningsdestination)

Använd detta kommando för att aktivera en utdatadestination.

outputOff(API ID för utmatningsdestination)

Använd detta kommando för att stänga av en utmatningsdestination.

sova(Sekunder)

Kommandot sleep() pausar beräkningen av skriptet under de angivna sekunderna.

// pause the script computation for 12 seconds
sleep(12)
// pause the script computation for 35.6 seconds
sleep(35.6)
// pause the script computation for a time interval specified by a variable
setVariable($mySleepInterval, 17)
sleep($mySleepInterval)

sleepUntil(HH:MM:SS (24h))

Kommandot sleepUntil() låter skriptet pausa tills den angivna tiden har uppnåtts. om tiden redan har passerat kommer skriptet att vänta till nästa dag.

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

sovaPåMinuten(1|2|3|4|5|6|10|12|15|20|30|60|90|120 …)

Detta skriptkommando pausar skriptet tills nästa "på minuten"-friktion på 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)

För att definiera en lokal variabel använder du kommandot setVariable. Du måste ange ett variabelnamn (med postfixet $) och det värde som variabeln ska ha. Värdet kan vara ett tal, en text (inom citationstecken) eller de booleska värdena "true" och "false". Du kan använda variabeln i alla fält i de andra kommandona.

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

setGlobal($variabelnamn, värde)

En global variabel kan användas i det aktuella lagret, eller i alla Automationslager ovanför detta lager. Detta är mycket användbart om du vill ha samma information i alla Automationslager (t.ex. API ID för ett visst lager). För variabelns värde gäller samma sak som beskrivs i kommandot setVariable.

Observera att en global variabel är giltig för andra Automation-lager så länge lagret självt är live. På så sätt kan du byta globala variabler genom att växla till ett annat lager med olika definitioner av globala variabler.

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

ifLayerIsOn() - ifLayerIsOff() [else] endif

Dessa if-satser testar om ett visst lager för närvarande är aktivt eller inte. om så är fallet bearbetas följande kommandon. I annat fall hoppas följande kommandon över tills ett else eller endif hittas.

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() - ifLayerSetIsInactive() [else] endif

Dessa if-satser testar om en viss Lageruppsättning är live eller ej. Om så är fallet bearbetas följande kommandon. I annat fall hoppas följande kommandon över tills ett else eller endif hittas.

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

Med detta komplexa kommando kan du testa alla parametrar i lagret som HTTP API ger. Du måste specificera ett lager genom dess API ID, den viktigaste vägen inom JSON uppgifter HTTP API returnerar, en komparator (inom citationstecken som sträng!) (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 loop-kommandot kan du utföra en viss kod flera gånger. Om du inte anger iterationerna kommer loopen att köras oändligt. Med kommandot break kan du hoppa ur loopen när som helst. endloop behövs i slutet av 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()

httpRequest() ger dig stor flexibilitet när det gäller vad som ska utlösas med detta skript. Även i andra dokument eller fjärrskript. Vänligen läs HTTP API dokumentation för alla API möjliga samtal.

Datatyper

API Slutpunkter

Parametern ska vara en API Slutpunkt för ett lager, en lagervariant eller en lageruppsättning kan du få dessa API ändpunkter genom att högerklicka på objektet i mimoLive-dokumentet. En snabbmeny bör visas med en "Kopiera API Menyalternativet "Slutpunkt".

Detta kommer att kopiera API Slutpunkt för detta objekt till den tidigare styrelsen. Om du klistrar in det någonstans kommer det 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

Du kan minska API Slutpunkter endast för den sista delen. Detta kommer att göra ditt manus 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)

 

Denna parameter representerar en tid i 24 timmar. Timmar, minuter och sekunder avgränsas med ":".

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?

Senaste uppdatering Manual Sidor

Nyhetsbrev via e-post

Svenska

Delta i 24/7 Live Zoom® Demo

*krävs

Du måste ladda innehåll från reCAPTCHA för att skicka in formuläret. Observera att detta innebär att uppgifter delas med tredjepartsleverantörer.

Mer information