mimoLive® - Руководство пользователя

Общие селекторы
Только точные совпадения
Поиск по названию
Поиск в содержании
Селекторы типов сообщений

Руководство - оглавление

Примеры использования API

Оглавление

Управление mimoLive с помощью php

У нас есть хорошо документированный пример PHP-скрипта на GitHub:
https://github.com/boinx/mimoLive-HTTP-Demo

Управление mimoLive с помощью CURL

Чтобы управлять mimoLive через HTTP вы можете использовать команду bash "curl". Чтобы команды curl работали, вам нужно найти ID документа mimoLive, с которым вы хотите работать.

Управление mimoLive с помощью слоя автоматизации

Сайт Уровень автоматизации можно выполнить несколько простых команд для запуска действий в mimLive с помощью их API Конечные точки. В нем также есть команда httpRequest() для выполнения любых действий. ПОЛУЧИТЬ запросить действия HTTP API на что способен.

Пререквизиты

- Откройте документ, с которым вы хотите работать в mimoLive.
- Убедитесь, что документ находится в завершенном состоянии, чтобы конечные точки API, такие как Layers, больше не изменялись. Имейте в виду, что если вы удалите слой и добавите его снова, то при обращении к нему через API этот слой будет иметь другой Layer ID. Однако переупорядочивание слоев или добавление вариантов слоев не приведет к изменению идентификатора слоя.
- Включить HTTP-Сервер в настройках удаленного управления mimoLive. Отметьте опцию "Разрешить доступ к удаленному управлению":

9e0a2b0b 6a64 4093 b15b 24aa12dead32

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

Получение API Конечная точка

До mimoLive 5.5 было сложно получить ID документа и, например, Layer ID с помощью команд терминала, просматривая длинные 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 это идентификатор конкретного слоя в данном документе.

Включение и OFF a Слой

С полученными API Endpoint для определенного слоя можно включить или выключить с помощью следующих команд терминала.

*

Убедитесь, что вы заменили xxxxxxxxx на конечную точку 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 URL для простых HTTP-запросов".

Изменение значения слоя

- Все параметры слоя можно задать с помощью функции HTTP API. Чтобы задать новое значение, необходимо найти нужный ключ. В нашем примере мы установим название Слой Lower Third с ключом tvGroup_Content__Title. Поскольку нам нужно отправить новое значение в JSON файл в HTTP сервер с PUT запрос команды curl становится немного тесноватым.

*Пожалуйста, замените xxxxxxxxx на ваш конкретный слой 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

Настройка источника видеосигнала для слоя россыпи

yyyyyyyyyyyyyyyy будет 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"

Настройка громкости слоя, имеющего регулятор громкости звука

С помощью этой команды curl можно изменить громкость звука в слое, имеющем регулятор настройки звука (например, в слое Пласт россыпи). Значение "объем" может принимать значения от 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"

Очистка пути к файлу источника видеозаписи Last Recording

В вашем Репозиторий источниковВы можете получить Источник последней записи что обеспечит доступ к последней записи, которую объявит любое место вывода записи файла. В киоске необходимо очистить путь последней записи, чтобы следующий пользователь станции не смог просмотреть запись предыдущего пользователя. С помощью следующего Команда Automation Layer вы можете удалить эту информацию из Источника последней записи:

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" запрос на сохранение данных и "ПОЛУЧИТЬ", чтобы прочитать его обратно. Вы можете хранить любые данные, однако в данном примере мы храним JSON Данные, потому что это, по-видимому, очень распространенный вариант использования. Если вы хотите хранить другие данные, вам нужно соответствующим образом настроить параметр -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 ПОЛУЧИТЬ http://127.0.0.1:8989/api/v1/documents/1643911183/datastores/myDataStore1

Обновление пути к исходному файлу источника медиафайлов

Вы можете поменять воспроизводимый фильм или заменить показываемую рекламу на Источник медиафайла. Это можно сделать с помощью команды обновления, выполняемой на источнике API конечная точка.

Убедитесь, что режим ссылки на файл в источнике мультимедиа установлен на "Абсолютный путь". Получите API конечную точку для этого источника, щелкнув правой кнопкой мыши на нем в левом столбце и выбрав "Копировать источник API Endpoint to Clipboard" в контекстном меню. Создайте 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
В Apple Script есть два подводных камня при переносе терминальной команды типа "curl" в команду do shell script:
1. Все " должны быть снабжены префиксом \, чтобы парсер Apple-Script знал, что это не маркеры конца команды сценария оболочки do. Символ \ - это управляющий символ, который указывает парсеру игнорировать следующий символ.
2. Если вы соединяете несколько частей текста с помощью &, то для Apple Script это будет "список текстов", а не один текст. Команда do shell не будет работать со "списком текста", поэтому вам нужно будет преобразовать его обратно в одиночный текст с помощью "as text" в конце текста команды curl.

В этом примере показано, как задать заголовок нижней трети:

*Пожалуйста, замените xxxxxxxxx на ваш конкретный слой 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 показывает, как включать слой каждые полчаса по часам: Это может быть полезно для коммерческих наложений. Убедитесь, что вы используете слой, который сам выключится через определенное время (например, слой Placer Layer с незацикленным источником видео).

*Пожалуйста, замените xxxxxxxxx на ваш конкретный слой 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 чтобы отправить форму. Пожалуйста, обратите внимание, что при этом данные будут переданы сторонним поставщикам.

Дополнительная информация