mimoLive® - Посібник користувача

Загальні селектори
Тільки точні збіги
Пошук за назвою
Пошук за змістом
Перемикачі типів дописів

Посібник - Зміст

Автоматизація

Зміст

Оптимізуйте своє виробництво за допомогою рівня автоматизації mimoLive

Шар автоматизації mimoLive спочатку був розроблений як перевірка концепції, але відтоді виявився неймовірно корисним інструментом для користувачів. За допомогою цього шару можна автоматизувати увімкнення та вимкнення шарів у певній послідовності або у заздалегідь визначений час.

Це може бути особливо корисно для створення складних виробництв з декількома шарами і входами, оскільки усуває потребу в ручному перемиканні і налаштуванні хронометражу. За допомогою рівня автоматизації користувачі можуть зосередитися на створенні цікавого контенту і дозволити програмі керувати хронометражем і послідовністю їхнього виробництва.

Приклад: Рівень автоматизації

Автоматизація

Попередження: Сценарії автоматизації в mimoLive не виконуються в режимі реального часу

Зверніть увагу, що час роботи скриптів автоматизації в mimoLive може бути неточним через асинхронну природу HTTP-запитів, що викликаються механізмом рендерингу відео. Ці скрипти покладаються на HTTP-запити до API, а тривалість цих запитів не може бути точно визначена, що призводить до потенційних розбіжностей у часі. Будь ласка, майте це на увазі, коли використовуєте скрипти автоматизації у своєму робочому процесі.

Обов'язкова умова

Для того, щоб цей шар працював, вам потрібно увімкнути HTTP Сервер у mimoLive, щоб увімкнути пульт дистанційного керування API. Перейдіть до mimoLive -> Уподобання -> Пульти дистанційного керування: Установіть прапорець "Дозволити доступ до віддаленого керування". (Наразі це працює лише без пароля)

6102d04e 4eb3 4600 b410 0d2b2aef0767

Налаштування рівня автоматизації

Існує два варіанти поведінки шару після увімкнення наживо:

ВаріантПоводиться
Автоматичне вимкнення шаруДля цієї опції доступний лише один скрипт. Після того, як цей сценарій буде оброблено, шар буде вимкнено. Ця опція може бути використана, якщо послідовність має бути виконана один раз.
Вимкнення шару вручну (наприклад, оператором)У цьому випадку доступні три сценарії. Коли шар увімкнено наживо, виконується сценарій "On Live". Після цього в нескінченному циклі виконується сценарій "While Live". Коли шар вимикається, виконується сценарій "Turned Off".
Якщо вам не потрібен певний етап, ви можете залишити відповідний скрипт порожнім.

Коментарі до вихідного коду

Щоб допомогти вам запам'ятати функцію вашого скрипта, ми рекомендуємо використовувати коментарі у вашому скрипті:

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

!Коментарі мають бути в окремому рядку, а // має стояти на початку цього рядка.

Команди сценаріїв

Мова сценаріїв є пропрієтарною і має лише команди перегляду.

layerOn()API Ідентифікатор шару)

Ця команда дозволяє увімкнути шар або варіант шару.

// 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 Ідентифікатор шару)

Ця команда дозволяє вимкнути шар або варіант шару. Дозволяє вимкнути шар або варіант шару.

// 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 Ідентифікатор набору шарів)

Ця команда може бути використана для запуску відкликання для певного Набори шарів.

// 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 Вихідний ідентифікатор призначення)

Використовуйте цю команду, щоб увімкнути пункт призначення виводу.

outputOff(API Вихідний ідентифікатор призначення)

Використовуйте цю команду, щоб вимкнути пункт призначення виводу.

спати.Секунди.)

Команда sleep() призупинить обчислення скрипта на задані секунди.

// 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 (24 години))

Команда 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()1|2|3|4|5|6|10|12|15|20|30|60|90|120 …)

Ця команда скрипта призупинить виконання скрипта, поки не буде досягнуто наступне тертя "за хвилиною" в годину.

// 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. Вам потрібно вказати ім'я змінної (з постфіксом $) і значення, яке повинна мати ця змінна. Значення може бути числом, текстом (в лапках) або логічними значеннями "true" і "false". Ви можете використовувати змінну в будь-якому полі інших команд.

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

setGlobal(1TP11Ім'я змінної, значення)

Глобальну змінну можна використовувати в поточному шарі або в усіх шарах автоматизації, розташованих над цим шаром. Це дуже корисно, якщо ви хочете мати однакову інформацію в усіх шарах автоматизації (наприклад, у шарі API ID певного шару). Для значення змінної застосовується те ж саме, що і в описаній команді setVariable.

Зверніть увагу, що глобальні змінні a є дійсними для інших шарів автоматизації, доки сам шар є активним. Таким чином, ви можете перемикати глобальні змінні, переходячи до іншого шару з іншими визначеннями глобальних змінних.

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

ifLayerIsOn() - ifLayerIsOff() [else] endif

Ці оператори if перевіряють, чи є певний шар на даний момент живим чи ні. якщо так, то обробляються наступні команди. В іншому випадку наступні команди пропускаються, доки не буде знайдено 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() - ifLayerSetIsInactive() [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(, , , )

Ця складна команда дозволяє вам тестувати на шарі будь-який параметр, який 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()

Функція httpRequest() дає вам велику гнучкість щодо того, що запускати цим скриптом. Навіть в інших документах або віддалених скриптах. Будь ласка, прочитайте статтю HTTP API документація для всіх API дзвінки можливі.

Типи даних

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 Кінцеві точки тільки до останньої частини. Це зробить ваш скрипт коротшим, як показано тут:

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

 

Цей параметр представляє час у 24-годинному представленні. Години, хвилини та секунди розділені символом ":".

Ідеї для сценаріїв

Запускайте рекламу кожні 10 хвилин

У поєднанні з "PIP Вікно" шару "Джерело медіафайлів", що містить кілька коротких рекламних відеороликів, ви можете відтворювати один рекламний ролик кожні 10 хвилин. Переконайтеся, що ви зняли позначку з опції "Безперервний" у джерелі "Медіаплеєр". Таким чином, щоразу, коли ви натискатимете кнопку PIP Коли вікно буде налаштоване на відтворення, воно відтворить одне оголошення з джерела зі списку відтворення і вимкнеться. Через 10 хвилин буде відтворено наступне оголошення.

Запустіть стингер перед тим, як перейти на певний шар

Вам потрібно підготувати коротке стингер-відео, яке буде мати перехід до тих пір, поки воно не покриє весь екран (наприклад, через 1 секунду). Через 1 секунду ви перемикаєте в реальному часі той шар, який хочете розкрити. Розмістіть цей шар під шаром, на якому відтворюється відео-стингер. Тепер, коли відео-стингер покриває весь екран, перемикання шару, що знаходиться нижче, не буде видно. Відео-стингер має продовжувати показувати шар, що знаходиться нижче. Будь ласка, переконайтеся, що стингер-відео рендериться у відеокодеку ProRes4444, щоб воно містило необхідну для переходу прозорість.

Створіть складний вступ до шоу

Оскільки ви можете вмикати і вимикати шари один за одним протягом тривалого періоду часу, ви можете мати кілька шарів тексту або анотацій, шар розсипу, що показує графіку, або навіть нижню третину екрана, яка заповнює екран, щоб створити власну анімовану заставку для шоу. Проявіть творчість!

Запустіть пульт дистанційного керування HTTP URL дотиком до поверхні пульта дистанційного керування

Якщо вам потрібно запустити HTTP Запит за допомогою кнопки на вашому Поверхня для дистанційного керування ви можете додати шар автоматизації до стеку шарів і встановити опцію "Вимкнути шар" для цього шару на "Автоматично". Тепер ви можете ввести одну команду httpRequest() у поле сценарію "On Live". На поверхні пульта дистанційного керування додайте до макета кнопку Live цього шару. Щойно ви натиснете цю кнопку на поверхні пульта дистанційного керування, на екрані з'явиться кнопка HTTP запит буде виконано.

Ваш відгук

Як би ви оцінили свій досвід роботи з цією функцією mimoLive®?

Інформаційний бюлетень по електронній пошті

Українська

Приєднуйтесь до цілодобової демонстрації Zoom® в реальному часі

*необхідно*

Вам потрібно завантажити контент з reCAPTCHA щоб надіслати форму. Будь ласка, зверніть увагу, що при цьому ви передаєте дані стороннім провайдерам.

Більше інформації