Оптимізуйте своє виробництво за допомогою рівня автоматизації mimoLive
Ви зараз переглядаєте вміст заповнювача з YouTube. Щоб отримати доступ до актуального контенту, натисніть кнопку нижче. Зверніть увагу, що при цьому ви передаєте дані стороннім провайдерам.
Більше інформаціїРівень автоматизації mimoLive спочатку був розроблений як перевірка концепції, але з того часу виявився неймовірно корисним інструментом для користувачів. За допомогою цього рівня можна автоматизувати увімкнення та вимкнення шарів у певній послідовності або у заздалегідь визначений час, отримувати дані з віддалених джерел через HTTP і переносити оброблену інформацію до полів введення шарів, запускати та зупиняти призначення виводу, а також багато чого іншого!
Скрипти автоматизації в mimoLive не виконуються в режимі реального часу
Зверніть увагу, що час роботи скриптів автоматизації в mimoLive може бути неточним через асинхронну природу HTTP-запитів, що викликаються механізмом рендерингу відео. Деякі команди скриптів надсилають HTTP-запити до API mimoLive, і тривалість цих запитів не може бути точно визначена, що призводить до потенційних розбіжностей у часі. Майте це на увазі, коли використовуєте скрипти автоматизації у своєму робочому процесі.
Обов'язкова умова
Для того, щоб цей рівень працював, вам потрібно увімкнути HTTP-сервер у mimoLive, щоб увімкнути API віддаленого керування. Перейдіть до mimoLive > Параметри > Дистанційне керування: Позначте пункт "Дозволити доступ до віддаленого керування". (Наразі рівень автоматизації у mimoLive працює лише без пароля)

Налаштування рівня автоматизації
Існує два варіанти поведінки шару після увімкнення наживо:
Варіант | Поведінка |
Автоматичне вимкнення шару | Ця опція є одноразовою, оскільки після завершення виконання сценарію шар автоматично вимикається. Використовуйте цю опцію, якщо скрипт має бути виконаний лише один раз. |
Вимкнення шару вручну (наприклад, оператором) | У цьому режимі доступні три сценарії: - У прямому ефірі - Запускається один раз при перемиканні шару наживо. - While Live - Запускається безперервно як нескінченний цикл після завершення сценарію On Live. - Вимкнено - Запускається один раз, коли шар вимкнено. Коли шар вимикається, сценарій While Live завершується до виконання сценарію Turned Off. Якщо шар увімкнути знову, ви зможете повернутися до попереднього стану. |
Коментарі до вихідного коду
Щоб запам'ятати призначення і функціональність вашого скрипта, ми рекомендуємо додавати коментарі всередині коду. Починайте кожен рядок коментаря з //.
// First sleep for 5 seconds...
sleep(5)
// ...then start the Stop Watch layer:
layerOn("7C4665C4-0E17-4F63-BCFF-B59D68D75956")
Команди сценаріїв
Мова сценаріїв є пропрієтарною і включає кілька команд. Ці команди перераховані в списку в області попереднього перегляду шару праворуч. Якщо цей список важко прочитати, ви можете розгорнути попередній перегляд, натиснувши кнопку, розташовану вище і праворуч від області попереднього перегляду.
layerOn()
Вмикає шар або варіант шару за його ідентифікатором або URL-адресою кінцевої точки API, або за змінною.
// 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 Ідентифікатор шару як рядковий вираз>> Ідентифікатор шару як рядковий вираз)
Вимикає шар або варіант шару за його ідентифікатором або URL-адресою кінцевої точки API, або за змінною.
// 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 як рядковий вираз>)
Запускає відкликання для певного Набору шарів.
// 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 виводить ідентифікатор пункту призначення як рядковий вираз>)
Увімкнути пункт призначення виводу.
// запустити Output Destination за його id
outputOn("1953186E-4176-4849-A8ED-5B47EE1627BD")
// запустити пункт призначення виводу за довгою URL-адресою кінцевої точки API
outputOn("/api/v1/documents/1677022440/output-destinations/1953186E-4176-4849-A8ED-5B47EE1627BD")
// запустити Destination of Output з визначеною змінною
.
setVariable($myOutputDestinationtID, "1953186E-4176-4849-A8ED-5B47EE1627BD")
outputOn($myOutputDestinationtID)
outputOff(<API виводить ідентифікатор пункту призначення як рядковий вираз>)
Вимикає пункт призначення виводу.
// зупинити пункт призначення виводу за його ідентифікатором
outputOff("1953186E-4176-4849-A8ED-5B47EE1627BD")
// зупинити пункт призначення виводу за довгою URL-адресою кінцевої точки API
outputOff("/api/v1/documents/1677022440/output-destinations/1953186E-4176-4849-A8ED-5B47EE1627BD")
// зупинити пункт призначення виводу з визначеною змінною
setVariable($myOutputDestinationtID, "1953186E-4176-4849-A8ED-5B47EE1627BD")
outputOff($myOutputDestinationtID)
getLayerData()1TP11Ім'я змінної результату, , )
Отримує дані шару за ключовим шляхом.
Ця команда поєднує кілька команд в одному кроці сценарію: Вона отримує інформацію про шар з HTTP-сервера і зберігає певне поле даних з JSON-відповіді у змінну. Вам потрібен точний шлях до значення, яке ви хочете прочитати. Для вхідних параметрів шарів цей шлях зазвичай починається з '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(1TP11Ім'я змінної результату, , )
Отримує кінцеву точку API для вказаного об'єкта mimoLive за його іменем відображення.
Майте на увазі, що ім'я відображення може бути змінено в будь-який час оператором в інтерфейсі користувача mimoLive. Якщо ім'я зміниться, сценарій автоматизації може завершити роботу, оскільки він більше не зможе знайти вказаний об'єкт. З іншого боку, ця команда корисна для програмного виявлення кінцевих точок API без необхідності жорсткого кодування їхніх ідентифікаторів у скрипті.
Працює для "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)

спати.<Секунди> як число)
Призупиняє виконання скрипта на кілька секунд.
// 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(<Час як рядковий вираз>)
Паузи до заданого часу (ЧЧ:ММ або ЧЧ:ММ:СС).
// 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()
Призупиняє виконання сценарію до досягнення наступної "похвилинної" частки години.
// 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()1TP11Ім'я змінної, <значення>)
Створює або змінює локальну змінну (починається з $). Значення може бути рядком, числом або логічним.
setVariable($myText, "This is a text")
setVariable($myNumber, 15.73)
setVariable($myBoolValue, false)
setGlobal(1TP11Ім'я змінної, <значення>)
Створює або змінює глобальну змінну, спільну для всіх рівнів автоматизації.
Зверніть увагу, що глобальні змінні доступні для інших шарів автоматизації, доки активний початковий шар. Це дає змогу перемикати глобальні змінні, активувавши інший шар з окремими визначеннями глобальних змінних. Найкращою практикою у цьому випадку є встановлення опції "Вимкнути шар" шару автоматизації на "Вручну" і визначення глобальних змінних у сценарії "Ввімкнути наживо".
setGlobal($myGlobalText, "This is a text")
setGlobal($myGlobalNumber, 15.73)
setGlobal($myGlobalBoolValue, false)
concat($resultVariableName, )
Конкатенація рядкових виразів.
// 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(, , , )
Ця команда створює новий рядок, замінюючи всі входження пошукового рядка у вихідному рядку. Результат зберігається у вказаній змінній результату.
// 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(1TP11Ім'яЗмінноїРезультату, )
Ця команда виконує прості математичні обчислення, зокрема додавання (+), віднімання (-), множення (*) і ділення (/). Зверніть увагу, що обчислення виконуються в тому порядку, в якому вони з'являються, і НЕ дотримуються правила 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(1TP18Ім'яЗмінноїРезультату, [, , ...])
Команда list створює список і записує його у змінну результату. Ви можете використовувати змінну list у команді getListItem для ітерації за цим списком.
// create a list and put it into a variable
list($myList, "A", "B", "C", "D")
appendToList($listVariableName, )
Ця команда додасть певне значення до існуючого списку.
// 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, )
За допомогою цієї команди ви можете отримати певний елемент зі списку, заданого командою list. Зверніть увагу, що номер елемента починається з 1, на відміну від багатьох інших мов програмування, де масиви часто починаються з індексу 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)
За допомогою цієї команди ви можете отримати кількість елементів у змінній списку, яку ви створили за допомогою 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
Цей оператор if
порівнює два числові вирази за допомогою вказаного компаратора. Якщо результат порівняння істинний, то виконується наступна команда (команди). В іншому випадку наступні команди пропускаються, доки не буде досягнуто else
або endif
.
Достовірними компараторами є:
“==” | дорівнює |
“!=” | не рівні |
">" | більше, ніж |
"<" | менше, ніж |
">=" | більше або дорівнює |
"<=" | менше або більше, ніж |
// 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
Цей оператор ifString
порівнює два рядкові вирази за допомогою вказаного компаратора. Порівняння ґрунтується на ASCII-коді кожної літери у рядках. Якщо порівняння істинне, то виконуються наступні команди. В іншому випадку наступні команди пропускаються до тих пір, поки не буде досягнуто else
або endif
.
Допустимі компаратори див. у команді 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 Ідентифікатор шару як рядковий вираз>> Ідентифікатор шару як рядковий вираз) - ifLayerIsOff(<API Ідентифікатор шару як рядковий вираз>> Ідентифікатор шару як рядковий вираз) [else] endif
Ці оператори якщо
перевіряють, чи є певний шар на даний момент живим чи ні. Якщо вказана умова виконується (шар увімкнений або вимкнений), то обробляються наступні команди. В іншому випадку, наступні команди пропускаються до тих пір, поки не буде досягнуто else
або 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 Ідентифікатор шару як рядковий вираз>> Ідентифікатор шару як рядковий вираз) - ifLayerSetIsInactive(<API Ідентифікатор шару як рядковий вираз>> Ідентифікатор шару як рядковий вираз) [else] endif
Ці оператори if
перевіряють, чи певний Набір шарів наразі є живим чи ні. Якщо так, то обробляються наступні команди. В іншому випадку наступні команди пропускаються, поки не буде досягнуто else
або 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
Ця комплексна команда дозволяє протестувати будь-який параметр шару, який HTTP API надає. Вам потрібно вказати шар за його API ID, ключовий шлях у JSON-даних, що повертаються HTTP API, компаратор (у вигляді рядка в лапках, наприклад, "=="
), і значення.
Допустимими значеннями компаратора є
“==” | дорівнює |
“!=” | не рівні |
">" | більше, ніж |
"<" | менше, ніж |
">=" | більше або дорівнює |
"<=" | менше або більше, ніж |
// 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
Команда loop
дозволяє виконати код декілька разів. Якщо не вказати кількість ітерацій, цикл буде виконуватися нескінченно. Команда break
дозволяє вийти з циклу в будь-який момент. endloop
необхідна для позначення кінця блоку команд, який потрібно зациклити.
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()
запускає команду за вказаною URL-адресою. Це забезпечує велику гнучкість у використанні цієї команди скрипта. У рядку mimoLive
він навіть може запускати дії в інших документах або віддалених скриптах. Докладні відомості про mimoLive
Команди HTTP API, будь ласка, зверніться до розділу HTTP API документацію, щоб вивчити всі можливі виклики API.
// увімкнути шар
httpRequest("http://127.0.0.1:8989/api/v1/documents/188462841/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B/setLive")
httpRequestJSON($resultVariableName, )
Ця команда зчитує відповідь HTTP-виклику у форматі JSON і зберігає дані у вказаній змінній результату. Після цього ви можете отримати доступ до даних за допомогою команди getJSONData()
.
getJSONData($resultVariableName, $jsonDataVariable, )
Ця команда отримує конкретне значення даних зі структури JSON, що зберігається у змінній. Вам потрібно вказати змінну, що містить дані JSON ($jsonDataVariable
), шлях до даних у структурі JSON () і змінну, в якій слід зберегти результат (
$resultVariableName
). Це дозволяє точно витягувати дані для подальшої обробки або використання у вашому скрипті. Шлях до ключа може містити посилання на елементи масиву, наприклад, "myarray.[12].myvalue" виведе елемент значення myvalue масиву з назвою myarray з елементом 12. (підрахунок елементів починається з 1).
// отримати всі дані шару
httpRequestJSON($myLayerData, "http://127.0.0.1:8989/api/v1/documents/188462841/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B")
// отримати значення шкали гучності
getJSONData($volumenDial, $myLayerData, "data.attributes.volume")// Тепер змінна $volumenDial буде мати значення від 0 до 1.
setJSONData(, , )
Записує значення у JSON-змінну за вказаним ключовим шляхом. Використовуйте її для зміни JSON, який ви створили або отримали за допомогою
httpRequestJSON
. Шляхи до ключів розділяються крапками.// set fields setJSONData($json, "data.attributes.input-values.title", "My Headline") setJSONData($json, "data.attributes.volume", 0.75)
JSONToString(, )
Серіалізує об'єктну змінну JSON у компактний рядок (корисно для ведення журналу, надсилання або зберігання).
// assume $json already contains data
JSONToString($jsonString, $json)
// $jsonString now holds the serialized JSON text
urlEncode(, )
URL - кодує рядок, щоб його можна було безпечно використовувати в параметрах запиту або шляхах у http-запитах.
// build a query value and encode it
setVariable($q, "mimoLive tips & tricks")
urlEncode($qEncoded, $q)
// $qEncoded -> "mimoLive%20tips%20%26%20tricks"
urlDecode(, )
URL - розшифровує закодований у відсотках рядок назад у читабельний текст.
// decode an encoded query value
setVariable($raw, "mimoLive%20tips%20%26%20tricks")
urlDecode($decoded, $raw)
// $decoded -> "mimoLive tips & tricks"
стоп
Негайно зупиняє поточний скрипт. Корисно для дострокового виходу після виконання певної умови.
// 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
> (Точка зупинки для відладчика)
Якщо увімкнено налагоджувач скриптів і встановлено режим налагодження "Безперервно", виконання скрипта призупиниться на цьому маркері і чекатиме, доки оператор mimoLive не натисне кнопку "Наступний крок". Будь ласка, зверніться до розділу "Кращі практики - Налагодження скриптів" для отримання додаткової інформації про можливості налагодження.
// 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")
Константа: $DOCUMENT_ID
Містить API ID документа для поточного документа mimoLive. Зручно для побудови кінцевих точок без жорсткого кодування.
// 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)
Типи даних
API Кінцеві точки
Параметр має бути кінцевою точкою API для шару, варіанту шару, набору шарів, джерела або призначення виводу. Ви можете отримати ці кінцеві точки API, клацнувши правою кнопкою миші на об'єкті у документі mimoLive. Має з'явитися контекстне меню з пунктом "Копіювати кінцеву точку API до буфера обміну".
Ця дія скопіює кінцеву точку API для цього об'єкта до буфера обміну. Якщо ви вставите його в інше місце, він виглядатиме приблизно так:
/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
Для команд, пов'язаних з шарами, ви можете зменшити API Кінцеві точки до важливої частини, тільки видаливши префікс "/api/v1/documents//layers/" . Це зробить ваш скрипт коротшим, як показано тут:
// 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")
Найкращі практики
Кінцеві точки API
Як отримати кінцеві точки API
- Клацнувши правою кнопкою миші на шарі та вибравши "Копіювати кінцеву точку API"
- за допомогою команди getAPIEndpoint() (див. документацію)
Звернення до кінцевих точок API
Ви можете використовувати повну кінцеву точку API або видалити частину "/api/v1/documents//", щоб переконатися, що ваш скрипт буде працювати і при копіюванні в інший документ. Однак ідентифікатор документа важливий, якщо ви хочете звернутися до точки API в іншому документі mimoLive.
Налагодження скриптів
До шару автоматизації вбудовано налагоджувач скриптів. Ви можете перевести шар у режим налагодження, встановивши параметр шару "Налагодження" увімкненим.
НЕВІДОМО.
Ідеї для сценаріїв
Запускайте рекламу кожні 10 хвилин
У поєднанні з "PIP Вікно" шару "Джерело медіафайлів", що містить кілька коротких рекламних відеороликів, ви можете відтворювати один рекламний ролик кожні 10 хвилин. Переконайтеся, що ви зняли позначку з опції "Безперервний" у джерелі "Медіаплеєр". Таким чином, щоразу, коли ви натискатимете кнопку PIP Коли вікно буде налаштоване на відтворення, воно відтворить одне оголошення з джерела зі списку відтворення і вимкнеться. Через 10 хвилин буде відтворено наступне оголошення.
Запустіть стингер перед тим, як перейти на певний шар
Вам потрібно підготувати коротке стингер-відео, яке буде мати перехід до тих пір, поки воно не покриє весь екран (наприклад, через 1 секунду). Через 1 секунду ви перемикаєте в реальному часі той шар, який хочете розкрити. Розмістіть цей шар під шаром, на якому відтворюється відео-стингер. Тепер, коли відео-стингер покриває весь екран, перемикання шару, що знаходиться нижче, не буде видно. Відео-стингер має продовжувати показувати шар, що знаходиться нижче. Будь ласка, переконайтеся, що стингер-відео рендериться у відеокодеку ProRes4444, щоб воно містило необхідну для переходу прозорість.
Створіть складний вступ до шоу
Оскільки ви можете вмикати і вимикати шари один за одним протягом тривалого періоду часу, ви можете мати кілька шарів тексту або анотацій, шар розсипу, що показує графіку, або навіть нижню третину екрана, яка заповнює екран, щоб створити власну анімовану заставку для шоу. Проявіть творчість!
Запустіть пульт дистанційного керування HTTP URL дотиком до поверхні пульта дистанційного керування
Якщо вам потрібно запустити HTTP Запит за допомогою кнопки на вашому Поверхня для дистанційного керування ви можете додати шар автоматизації до стеку шарів і встановити опцію "Вимкнути шар" для цього шару на "Автоматично". Тепер ви можете ввести одну команду httpRequest() у поле сценарію "On Live". На поверхні пульта дистанційного керування додайте до макета кнопку Live цього шару. Щойно ви натиснете цю кнопку на поверхні пульта дистанційного керування, на екрані з'явиться кнопка HTTP запит буде виконано.