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

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

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

Приклади використання API

Зміст

Керування mimoLive за допомогою php

У нас є добре задокументований приклад PHP-скрипта на GitHub:
https://github.com/boinx/mimoLive-HTTP-Демонстрація

Керування mimoLive за допомогою CURL

Щоб керувати mimoLive за допомогою HTTP ви можете скористатися командою bash "curl". Для того, щоб команди curl працювали, вам потрібно знайти ідентифікатор документа mimoLive, яким ви хочете маніпулювати.

Керування mimoLive за допомогою шару автоматизації

У "The Рівень автоматизації можуть виконувати деякі прості команди для запуску дій у mimLive за допомогою своїх API Кінцеві точки. Він також має команду httpRequest() для виконання будь-якого виду GET запитуйте дії, які необхідно виконати HTTP API на що здатен.

Передумови

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

9e0a2b0b 6a64 4093 b15b 24aa12dead32

Будь ласка, запам'ятайте IP-номер або IP-адресу з номером порту mimoLive для подальшого використання при роботі з HTTP API.

Отримання API Кінцева точка

До mimoLive 5.5 було важко отримати ідентифікатор документа і, наприклад, ідентифікатор шару за допомогою довгих команд терміналу. JSON дані. З mimoLive 5.5 це стало набагато простіше:

Перш за все скопіюйте mimoLive HTTP серверна база URL у розділі "Пульт дистанційного керування" вікна налаштувань mimoLive (див. скріншот вище). Відкрийте текстовий редактор (наприклад, TextEdit від Apple) і вставте вміст буфера обміну у новостворений текстовий документ. Будь ласка, переконайтеся, що там є Ні. зворотна коса риска в кінці URL! Результат має виглядати так:

http://172.28.30.202:8989

У вікні документа mimoLive ви можете клацнути правою кнопкою миші (або клацнути двома пальцями) на об'єкті, що вас цікавить (наприклад, шар, джерело, кнопка елемента керування шару), щоб отримати контекстне меню. У цьому меню є один пункт, за допомогою якого ви можете скопіювати API Кінцева точка в буфер обміну macOS для використання в mimoLive API проект.

bc6c7e19 e991 48a0 a9b8 b56d690f19b4

Іноді важливо звернутися до конкретного варіанту шару, а не до шару загалом. Якщо ви клацнете правою кнопкою миші на параметрі шару, ви побачите, що існують різні варіанти API кінцеві точки для поточного живого шару або конкретного варіанту шару:

6120370f a575 43db 891b ef3a91d5aec5

Поверніться до текстового редактора і вставте щойно скопійований API Кінцева точка після HTTP Серверна база URL. А тепер URL у вашому текстовому браузері має виглядати так:

http://172.28.30.202:8989/api/v1/documents/458706932/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B

Це фінал API Кінцева точка для адресування шару у вашому документі. У цьому прикладі 458706932 це ідентифікатор документа, а BA868701-8131-49CB-8EDD-8C7E6E7CD60B це конкретний ідентифікатор шару певного шару в цьому документі.

Увімкнення та ВИМКНЕНО шар

З вилученими API Кінцеву точку для певного шару можна вмикати та вимикати за допомогою наступних команд терміналу.

*

Будь ласка, переконайтеся, що ви замінили xxxxxxxxxxx на кінцеву точку API з попереднього кроку!

curl xxxxxxxxx/setLive
curl xxxxxxxxx/setOff
curl xxxxxxxxx/toggleLive
# our example will look like this:
curl http://172.28.30.202:8989/api/v1/documents/458706932/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B/setLive
*

URL-адреси також працюють в інтернет-браузері

Ці URL-адреси (без команди "curl") також можна ввести в адресний рядок інтернет-браузера. Після натискання клавіші return браузер звернеться до HTTP-сервера mimoLive і виконає вказану вами команду. Якщо у вас є JSON-дані, які потрібно відправити до кінцевої точки API, ви також можете додати їх до URL-адреси, див. "Перетворення команди CURL з JSON-даними в HTTP-адресу для простих HTTP-запитів" нижче.

Зміна значення шару

- Всі параметри шару можна встановити за допомогою кнопки HTTP API. Вам потрібно знайти правильний ключ, щоб встановити нове значення. У нашому прикладі ми встановимо значення Title для Шар Lower Third з ключем tvGroup_Content__Title. Оскільки нам потрібно відправити нове значення в JSON файл в папку HTTP з сервером з PUT запит команди curl стає трохи переповненим.

*Переконайтеся, що ви замінили xxxxxxxxxxx на ваш конкретний шар API Кінцева точка!

curl -d '{"input-values":{"tvGroup_Content__Title":"My new title"}}' -H "Content-Type: application/json" -X PUT "xxxxxxxxx"

Збірка корисного API Команди для вивчення

Налаштування параметрів RTMP URL і Ключ потокового мовлення одержувача прямого ефіру:

curl --data '{"data": { "attributes": {"settings": {"rtmpurl":"rtmp://mystreaminghost.com", "streamingkey":"MYTOTALLYSECRETSTREAMKEY"} } } }' --request PATCH http://192.168.0.100:8989/api/v1/documents/458706932/output-destinations/4D072496-1CE3-418E-B73E-59A2927A2110

Встановлення імені файлу та шляху до місця призначення виводу пристрою запису файлів

curl --data '{"data": { "attributes": {"settings": { "location": "~/Destktop/Recordings", "filename": "MyGreatShow %year-%month-%day-%hour-%minute.%extension" } } } }' --request PATCH http://192.168.0.100:8989/api/v1/documents/458706932/output-destinations/4D072496-1CE3-418E-B73E-59EDA388BB

Налаштування джерела відео для шару розсипу

yyyyyyyyyyyyуууууууууууууууууууууууууууууууу буде UUID джерела відео. (e.g CCAF4418-367A-415F-AD25-6536C3EF3512)

ххххххххххххххххх буде API кінцева точка певного варіанту шару. (e.g. http://172.28.30.202:8989/api/v1/documents/2014814935/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B/variants/AA868701-8131-49CB-8EDD-8C7E6E7CD60A)

curl -d '{"input-values":{"tvIn_VideoSourceAImage":"yyyyyyyyyyyyy"}}' -H "Content-Type: application/json" -X PUT "xxxxxxxxxxxxxxxx"

Налаштування гучності шару, який має регулятор гучності звуку

За допомогою цієї команди скручування можна змінити гучність звуку шару, який має регулятор налаштування звуку (наприклад, шар Россыпний шар). Значення "volume" може приймати значення від 0.0 до 1.0.

ххххххххххххххххх буде API кінцева точка шару (наприклад, http://10.101.2.2:8989/api/v1/documents/13195157/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B)

curl -d '{"volume": 0.5}' -H "Content-Type: application/json" -X PUT "xxxxxxxxxxxxxxxx"

Налаштування кольору фонового шару

ххххххххххххххххх буде API кінцева точка певного варіанту шару. (e.g. http://172.28.30.202:8989/api/v1/documents/2014814935/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B/variants/AA868701-8131-49CB-8EDD-8C7E6E7CD60A)

curl -d '{"input-values":{"tvGroup_Appearance__Color_1":{"red": 1.0, "blue": 0.5, "green": 0, "alpha": 0.5}}}' -H "Content-Type: application/json" -X PUT "xxxxxxxxxxxxxxxx"

Очищення шляху до файлу джерела відео з останнім записом

У вашій Репозиторій вихідних текстівти можеш випити Джерело останнього запису який надасть доступ до останнього запису, який буде оголошено будь-яким пунктом призначення виводу файлового запису. У програмі для кіоску необхідно очистити шлях до останнього запису, щоб наступний користувач станції не зміг переглянути запис попереднього користувача. Для цього потрібно виконати такі дії Команда рівня автоматизації ви можете видалити цю інформацію з джерела останнього запису:

httpRequest(http://127.0.0.1:8989/api/v1/documents/2014814935/sources/2014814935-413AC0A3-AC43-4A7D-A228-6D0181BF1476?update=%7B%22filepath%22%3A%22%22%7D)

Зберігання JSON Дані в документі mimoLive

За допомогою кінцевого пункту "datastores" ви можете зберігати будь-які дані у документі mimoLive, щоб зберегти їх при перезавантаженні документа. Вам потрібно використовувати "PUT" запит на збереження даних і "GET", щоб прочитати його назад. Ви можете зберігати будь-який тип даних, однак у цьому прикладі ми зберігаємо JSON Data, тому що це дуже поширений випадок використання. Якщо ви хочете зберігати інші дані, вам потрібно відповідно налаштувати параметр -H.

Команда Curl для збереження даних:
bc. curl -data '{"myData1": 1.5, "myData2": "Якийсь текст"}' -H "Content-Type: application/json" -X PUT http://127.0.0.1:8989/api/v1/documents/1643911183/datastores/myDataStore1

Команда Curl для зчитування даних назад:
bc. curl -X GET http://127.0.0.1:8989/api/v1/documents/1643911183/datastores/myDataStore1

Оновлення шляху до вихідного файлу джерела медіафайлу

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

Переконайтеся, що режим посилання на файл у медіа-джерелі встановлено на "Абсолютний шлях". Отримайте файл API для цього джерела, клацнувши на ньому правою кнопкою миші в лівому стовпчику і вибравши "Copy Source's API Кінцева точка в буфер обміну" у контекстному меню. Створіть URL наступної форми:

http://127.0.0.1:8989/api/v1/documents/<YOUR DOCUMENT ID>/sources/<SOURCE API ENDPOINT>?update={"filepath":"<LOCAL FILE PATH>"}

Переконайтеся, що ви закодували JSON дані в URL щоб отримати дійсну URL які можна використовувати у команді curl ось так:

curl -X GET http://127.0.0.1:8989/api/v1/documents/1748069974/sources/1748069974-334DA2E4-DFF3-4225-8F4A-D09D40A6BD5D?update=%7B%22filepath%22:%22~/Desktop/Screen%20Recording%202022-07-27%20at%2012.18.23.mov%22%7D

*Зверніть увагу, що ви можете використовувати "~" на початку шляху до файлу для посилання на домашній каталог поточного користувача.

Керування mimoLive за допомогою Apple Script

Наразі mimoLive не підтримує Apple Script. Однак ви можете скористатися обхідним шляхом, щоб отримати доступ до mimoLive: У apple script є команда "do shell script", яка дозволяє виконувати команди bash, такі як "curl". У попередньому розділі пояснюється, як створити команду curl для маніпулювання певним шаром або значенням шару.

Після того, як ви переконалися, що ваша команда curl готова, вам потрібно обернути її в команду "do shell script" в Apple Script:

*Підводні камені в Apple Script
В Apple Script є два підводні камені при перенесенні команди терміналу, наприклад, "curl", в команду скрипта оболонки do:
1. До всіх " слід додати префікс \, щоб синтаксичний аналізатор Apple-Script знав, що вони не є кінцевими маркерами для команди do сценарію оболонки. Символ \ є символом екранування, який вказує синтаксичному аналізатору ігнорувати наступний символ.
2. Якщо ви об'єднаєте кілька текстових частин за допомогою &, то для Apple Script це буде "список тексту", а не один текст. Команда оболонки do не працюватиме з "списком тексту", тому вам потрібно перетворити його назад в один текст за допомогою "as text" в кінці тексту команди curl.

У цьому прикладі показано, як встановити заголовок нижньої третини:

*Переконайтеся, що ви замінили xxxxxxxxxxx на ваш конкретний шар API Кінцева точка!

set layerAPIEndpoint to "xxxxxxxxx" -- in our example this would be "http://172.28.30.202:8989/api/v1/documents/458706932/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B"
set lowerThirdTitle to "Hello World!"
do shell script "curl -d '{\"input-values\":{\"tvGroup_Content__Title\":\"" &amp; lowerThirdTitle &amp; "\"}}' -H \"Content-Type: application/json\" -X PUT \"" &amp; layerAPIEndpoint &amp; "\"" as text

Наступний приклад скрипта Apple показує, як вмикати шар кожні півгодини на годину: Це може бути корисним для комерційних накладок. Переконайтеся, що ви використовуєте шар, який вимикається через певний час (наприклад, шар-розсип з нециклічним джерелом відео).

*Переконайтеся, що ви замінили xxxxxxxxxxx на ваш конкретний шар API Кінцева точка!

-- configure your Layer API Endpoint:
set layerAPIEndpoint to "xxxxxxxxx" -- in our example this would be "http://172.28.30.202:8989/api/v1/documents/458706932/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B"
-- repeat endlessly:
repeat
	-- get the seconds last in this hour
	set currentDate to current date
	set secondsToNextHour to 3600 - ((minutes of currentDate) * 60 + (seconds of currentDate))
	-- --------------------------------------------
	-- The following code snippet is useful only if you want to
	-- switch the layer live on half hours also.
	-- if you don't want this behaviour you can delete this part.
	-- --------------------------------------------
	-- check if we are currently in the first half of the hour
	if secondsToNextHour &gt; 1800 then
		-- yes, we are in the first half of the hour, so only wait half the time
		set secondsToNextHour to secondsToNextHour - 1800
	end if
	-- --------------------------------------------
	-- wait until the time to trigger the layer
	delay secondsToNextHour
	-- set the specified layer to live:
	do shell script "curl \"" &amp; layerAPIEndpoint &amp; "/setLive\"" as text
	-- wait a couple of seconds to make sure we don't glitch in time
	delay 5
end repeat

Перетворення CURL команду з JSON Дані до HTTP URL для простих HTTP Запити

Іноді можна надіслати лише простий HTTP запит до mimoLive, а не за допомогою команди curl, наприклад, у випадку сторонніх програм автоматизації або самого шару автоматизації mimoLive. Для цього потрібно перетворити блок даних команди curl, щоб він став частиною URL. Ви можете зробити це наступним чином:

Припустимо, у нас є наступна команда curl:

curl --data '{"data": { "attributes": {"settings": {"rtmpurl":"rtmp://mystreaminghost.com", "streamingkey":"MYTOTALLYSECRETSTREAMKEY"} } } }' --request PATCH http://192.168.0.100:8989/api/v1/documents/458706932/output-destinations/4D072496-1CE3-418E-B73E-59A2927A2110

Ти візьмеш HTTP частина спочатку:

http://192.168.0.100:8989/api/v1/documents/458706932/output-destinations/4D072496-1CE3-418E-B73E-59A2927A2110

Додати ?update= до нього:

http://192.168.0.100:8989/api/v1/documents/458706932/output-destinations/4D072496-1CE3-418E-B73E-59A2927A2110?update=

Отримати всі -рядок даних і видаліть усі зайві пробіли:

{"data":{"attributes":{"settings":{"rtmpurl":"rtmp://mystreaminghost.com","streamingkey":"MYTOTALLYSECRETSTREAMKEY"}}}}

Закодуйте це в його URL заповніть форму за посиланням екранування символів, що не відповідають URL-адресі (наприклад, за допомогою https://www.urlencoder.org/)

%7B%22data%22%3A%7B%22attributes%22%3A%7B%22settings%22%3A%7B%22rtmpurl%22%3A%22rtmp%3A%2F%2Fmystreaminghost.com%22%2C%22streamingkey%22%3A%22MYTOTALLYSECRETSTREAMKEY%22%7D%7D%7D%7D

Нарешті, покладіть все це після ?update= ось так:

http://192.168.0.100:8989/api/v1/documents/458706932/output-destinations/4D072496-1CE3-418E-B73E-59A2927A2110?update=%7B%22data%22%3A%7B%22attributes%22%3A%7B%22settings%22%3A%7B%22rtmpurl%22%3A%22rtmp%3A%2F%2Fmystreaminghost.com%22%2C%22streamingkey%22%3A%22MYTOTALLYSECRETSTREAMKEY%22%7D%7D%7D%7D

Тепер ви можете використовувати це URL у простій HTTP прохання.

Ваш відгук

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

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

Українська

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

*необхідно*

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

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