mimoLive® - ユーザーマニュアル

APIの使用例

目次

前提条件

- 操作したいドキュメントをmimoLiveで開きます。
- レイヤーなどのAPIエンドポイントが変更されないように、ドキュメントが終了した状態であることを確認してください。レイヤーを削除して再度追加した場合、API 経由でレイヤーと通信する際に、このレイヤーは異なるレイヤー ID を持つことに注意してください。ただし、レイヤーの順序を入れ替えたり、レイヤーのバリアントを追加しても、レイヤー ID は変わりません。
- を有効にする。 HTTP-mimoLiveリモートコントロール環境設定の「サーバー」をクリックします。リモートコントロールアクセスを許可する」にチェックを入れます:

9E0A2B0B 6A64 4093 B15B 24AA12DEAD32

で作業する際に使用するため、IP番号またはIPアドレスとmimoLiveのポート番号を控えておいてください。 HTTP エーピーアイ.

mimoLiveを遠隔操作する方法

リモコンサーフェスでmimoLiveをコントロール

最も効果的な方法は、mimoLiveドキュメントのカスタムリモートコントロールサーフェスを作成することです。

phpでmimoLiveをコントロールする

GitHubにPHPスクリプトのサンプルがあります:
https://github.com/boinx/mimoLive-HTTP-デモ

でmimoLiveを制御する カール

mimoLiveをコントロールするには HTTP を使用するには、bashコマンド "curl "を使用します。curlコマンドを使用するには、操作したいmimoLiveドキュメントのIDを見つける必要があります。

オートメーションレイヤーでmimoLiveを制御する

があります。 オートメーション層 のアクションをトリガーする簡単なコマンドを実行することができます。 エーピーアイ エンドポイント。また、httpRequest() コマンドも用意されている。 ゲット リクエストアクション HTTP エーピーアイ は可能だ。

アップルスクリプトでmimoLiveをコントロールする

現在、mimoLiveはApple Scriptをネイティブサポートしていません。しかし、あなたはmimoLiveに到達するための回避策を使用することができます:アップルスクリプトには、"curl "のようなbashコマンドを実行できる "do shell script "コマンドがあります。前のセクションでは、特定のレイヤーまたはレイヤー値を操作するためのcurlコマンドの作成方法を説明しました。

アップルスクリプトの落とし穴

Apple Scriptでは、"curl "のようなターミナルコマンドをシェルスクリプトコマンドで実行する場合、2つの落とし穴があります:1.Apple-Scriptのパーサーに、"curl "のようなターミナルコマンドをdoシェルスクリプトコマンドに変換する場合、2つの落とし穴があります。これは、次の文字を無視するようにパーサーに伝えるためのエスケープ文字です。2.複数のテキスト部分を & で連結した場合、Apple Script にとってこれは 1 つのテキストではなく「テキストのリスト」になります。do shellコマンドは "list of text "では動作しないので、curlコマンドのテキストの最後に "as text "を付けて、単一のテキストに変換する必要があります。

curlコマンドに満足したら、それをApple Scriptの「シェルスクリプトを実行」コマンドでラップする必要がある:

*

必ず 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\":\"" & lowerThirdTitle & "\"}}' -H \"Content-Type: application/json\" -X PUT \"" & layerAPIEndpoint & "\"" as text

次のアップルスクリプトの例では、30分ごとにレイヤーをオンにする方法を示している:これは商業的なオーバーレイに便利です。一定時間が経過すると自動的にオフになるレイヤーを使ってください(例えば、ループしないムービーソースを使ったプレーサーレイヤーがそうです)。

*

必ず 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 > 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 \"" & layerAPIEndpoint & "/setLive\"" as text
	-- wait a couple of seconds to make sure we don't glitch in time
	delay 5
end repeat

mimoLiveのユーザーインターフェース要素の制御

を取得する エーピーアイ エンドポイント

APIエンドポイントは、mimoLiveドキュメントの特定の要素に対応するために不可欠です。利用可能なAPIエンドポイントのリストについては、以下を参照してください。 APIエンドポイント.

mimoLive 5.5以前では、ドキュメントIDやレイヤーIDをターミナルコマンドで取得するのは困難でした。 JSON データを使用します。mimoLive 5.5以降、より簡単になりました:

まずミモライブをコピーする HTTP サーバーベース URL mimoLiveプリファレンスウィンドウのリモートコントロールセクション(上のスクリーンショットを参照)。テキストエディタ(AppleのTextEditなど)を開き、クリップボードの内容を新しく作成したテキストドキュメントに貼り付けます。その際 いいえ の最後のバックスラッシュは URL!結果はこのようになるはずだ:

http://172.28.30.202:8989

mimoLiveドキュメントウインドウでマウスを使い、興味のあるオブジェクト(レイヤー、ソース、レイヤーコントロールのボタンなど)を右クリック(またはコントロールクリック、または2本指クリック)すると、コンテキストメニューが表示されます。をコピーできるメニューが1つあります。 エーピーアイ macOSクリップボードへのエンドポイント。 エーピーアイ プロジェクトに参加している。

BC6C7E19 E991 48A0 A9B8 B56D690F19B4

レイヤー全般ではなく、特定のレイヤーのバリアントに対処することが重要な場合もあります。レイヤーのパラメータを右クリックすると、レイヤーごとに異なる エーピーアイ 現在のライブレイヤーか、特定のレイヤーバリアントのエンドポイント:

6120370f a575 43db 891b ef3a91d5aec5

テキストエディタに戻り、コピーしたファイルを貼り付けます。 エーピーアイ エンドポイント HTTP サーバーベース URL.これで URL をテキストブラウザで表示すると次のようになる:

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

これが最後だ。 エーピーアイ ドキュメント内のレイヤーを指定するエンドポイント。この例では 458706932 は文書IDで BA868701-8131-49CB-8EDD-8C7E6E7CD60B は、この文書内の特定のレイヤーのレイヤーIDである。

特定のユーザー・インターフェース要素を右クリックすると、特定のAPIエンドポイントを取得するためのコンテキスト・メニューが表示されます:

  • 情報源
  • レイヤー
  • レイヤーのバリエーション
  • レイヤパラメータ
  • 出力先
  • レイヤーセット
スクリーンショット 2024 10 08 at 10.19.00

例スイッチのオンとオフ オフ レイヤー

検索された エーピーアイ 特定のレイヤーのエンドポイントをオン・オフするには、以下のターミナル・コマンドを使用する。

*

xxxxxxxxxを前のステップのAPI Endpointに置き換えてください!

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を押すと、ブラウザがmimoLive HTTPサーバーを呼び出し、指定したコマンドを実行します。APIエンドポイントに送信する必要があるJSONデータがある場合、これをURLに追加することもできます。

レイヤーのライブ状態をオンまたはオフに切り替えるための完全な HTTP URL を取得する簡単な方法は、レイヤーのライブボタンを右クリックしてコンテキストメニューを表示し、「レイヤーをライブに設定する URL をコピー」を選択することです。これでURLがクリップボードにコピーされます。スクリーンショットでは、Lower Thirdレイヤーのライブボタンのコンテキストメニューが表示されています。

スクリーンショット 2024 10 08 at 10.13.16

例レイヤーの値の変更

- レイヤーのすべてのパラメーターは HTTP エーピーアイ.新しい値を設定するには、正しいキーを見つける必要があります。この例では Lower Thirdレイヤー をキーに設定します。新しい値を JSON ファイルを HTTP サーバーに プット リクエストのcurlコマンドは少し混雑する。

*必ず xxxxxxxxx を特定のレイヤーに置き換えてください。 エーピーアイ 終点!

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

レイヤープロパティの更新のトリガーとなる完全な HTTP URL を取得する簡単な方法は、プロパティの名前を右クリックしてコンテキストメニューを表示し、"Copy URL To Change '....「このメニューコマンドは HTTP URL をクリップボードにコピーし、(インターネットブラウザなどで)呼び出すと、プロパティが現在の値に設定されます。URLを調べることによって、このプロパティにあなた自身のデータを送るために、URLのどの部分を修正する必要があるかを決定することができます。スクリーンショットでは、Lower Thirdレイヤーの字幕を変更するためにURLをコピーするためのコンテキストメニューが表示されています。

スクリーンショット 2024 10 08 at 10.05.39
http://127.0.0.1:8989/api/v1/documents/xxxxxxxxxxxx/layers/yyyyyyyyyyyy/variants/zzzzzzzzzzzz?include=data.attributes.input-values&fields[input-values]=tvGroup_Content__Subtitle&update=%7B%22input-values%22:%7B%22tvGroup_Content__Subtitle%22:%22mimoLive%20User%22%7D%7D

URLの新しい値はURLエンコードされていなければなりません!

この例では、"mimoLive "と "User "の間のスペースはとしてエンコードされています。

ベストプラクティス

便利なコレクション エーピーアイ 探索のためのコマンド

セッティング アールティーエムピー URL およびライブ・ストリーミング出力先のストリーミング・キー:

curl --data '{"data": { "attributes": {"settings": {"rtmpurl":"rtmp://mystreaminghost.com", "streamingkey":"MYTOTALLYSECRETSTREAMKEY"} } } }' --request PATCH http://192.168.0.100:8989/api/v1/documents/xxxxxxxxx/output-destinations/yyyyyyyyyyyyy

ファイルライターの出力先のファイル名とパスの設定

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/xxxxxxxxxxxx/output-destinations/yyyyyyyyyyyy

プレーサーレイヤーのビデオソースを設定する

yyyyyyyyyyyyyyyが UUID ビデオソースの(e.g CCAF4418-367A-415F-AD25-6536C3EF3512)

xxxxxxxxxxxは、以下のようになる。 エーピーアイ 特定のレイヤーのバリアントのエンドポイント。(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 コマンドを使うと、オーディオ調整ノブがあるレイヤー (Placer layer のようなレイヤー) のオーディオボリュームを変更することができます。値 "volume" には 0.0 から 1.0 までの値を指定できます。

xxxxxxxxxxxは、以下のようになる。 エーピーアイ レイヤーのエンドポイント (例: 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"

背景レイヤーの色を設定する

xxxxxxxxxxxは、以下のようになる。 エーピーアイ 特定のレイヤーのバリアントのエンドポイント。(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"

最終録画ビデオソースのファイルパスをクリアする

ソース リポジトリでは、最終録画ソースを持つことができ、ファイル録画出力先がアナウンスする最新の録画へのアクセスを提供します。キオスク アプリケーションでは、ステーションの次のユーザーが前のユーザーの録音を確認できないように、最後の録音パスをクリアする必要があります。次のAutomation Layerコマンドで、Last Recording Sourceからこの情報を消去できます:

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 ミモライブ・ドキュメントのデータ

datastores "エンドポイントを使用すると、mimoLiveドキュメントにあらゆる種類のデータを保存し、ドキュメントの再読み込み時にそれを持続させることができます。を使用する必要があります。プット「データを保存するための"ゲット"リクエストで読み返すことができる。どのようなデータでも保存することができるが、この例では以下のデータを保存している。 JSON これは非常に一般的な使用例だと思われるからだ。異なるデータを保存したい場合は、-Hパラメータを適宜調整する必要がある。

データを保存するCurlコマンド:

curl —data '{"myData1": 1.5, "myData2":"Some text"}' -H "Content-Type: application/json" -X PUT http://127.0.0.1:8989/api/v1/documents/1643911183/datastores/myDataStore1

Curlコマンドでデータを読み戻す:

curl -X GET http://127.0.0.1:8989/api/v1/documents/1643911183/datastores/myDataStore1

メディアファイルソースのソースファイルパスの更新

再生されるムービーを交換したり、表示される広告を メディア・ファイル・ソース.これは、ソース上で実行される更新コマンドで行うことができます。 エーピーアイ エンドポイントである。

メディアソースのファイル参照モードが「絶対パス」に設定されていることを確認する。メディア・ソースの エーピーアイ ソースのエンドポイントを右クリックし、"ソースのコピー "を選択する。 エーピーアイ コンテキストメニューの「クリップボードへのエンドポイント」。エンドポイントを 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

ファイルパスの先頭に"~"を付けると、現在のユーザーのホームディレクトリを参照できることに注意してください。

を変換する カール コマンドを使用する。 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 をリクエストする。

ご意見・ご感想

ミモライブのこの機能を使ってみて、どのように評価されますか?

ユーザーマニュアル最近の更新

言語の選択