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

汎用セレクタ
完全一致のみ
タイトルで検索
コンテンツで検索
ポストタイプセレクタ

マニュアル - コンテンツの表

データ型

目次

を削減する。 エーピーアイ スパースフィルタリングで対応

の場合は エーピーアイ の回答が多すぎる場合、スパースフィルタリングによって、どのようなデータを取得するかを絞り込むことができます。スパースフィルタリングには2つのフィールドがあり、これを利用します:

- "include="には、どのカテゴリの JSON のレスポンスが含まれるようにします。カンマで区切って複数のパスを指定することができます。
- "field[]=, "は、その特定のカテゴリのどの値を含むべきかを記述します。複数のフィールドを定義して、カテゴリーごとに異なる値を指定することができます。

例あるものを読み上げたい ファイル記録出力先 が現在録画中かどうか。この場合、ルート・カテゴリー「data」内の「attributes」カテゴリーの「live-state」値に関心があります。つまり、インクルード・カテゴリーのパスを「data.attributes」と指定する必要があります。attributes」カテゴリには複数の値が含まれますが、私たちはレスポンスの「live-state」を見たいだけなので、「fields[attributes]=live-state」で絞り込んでいます。

これで、以下のようなcurlコマンドが構成されます:(andは必ず自分の値で置き換えてください!)

curl "http://192.168.0.107:8989/api/v1/documents//output-destinations/?include=data.attributes&fields[attributes]=live-state"

レスはこのようになります:

{"data":{"attributes":{"live-state":"preview"}}}

ドキュメント

ドキュメント」タイプは、mimoLiveが「.tvshow」ファイルとしてディスクに書き込むドキュメントオブジェクトに対応します。

{
  // Unique Identifier of the document
  "id": String,
  // Always "documents" (see the JSON-API documentation for more information on this field)
  "type": "documents",
  // See the JSON:API specification for more information on this field
  "relationships": {
    // The layer contained in the document
    "layers": Relationship,
    // The sources used by the document
    "sources": Relationship,
    // The output destinations used by this document
    "output-destinations": Relationship
  },
  // The link to the resource itself (see the JSON:API specification for more information on this field)
  "links": Object,
  // This is probably the data you are after
  "attributes": {
    // The name of the document
    "name": String,
    // Metatdata of the document
    "metadata": {
      // Comments as entered in the show metadata panel in mimoLive
      "comments": String,
      // The height of the document in pixels
      "height": Integer,
      // The width of the document in pixels
      "width": Integer,
      // The author of the document as entered in the show metadata panel in mimoLive
      "author": String,
      // The title of the show as entered in the show metadata panel in mimoLive
      "title": String,
      // The proposed show length (timer) as entered in the show metadata panel inmimoLive (in seconds)
      "duration": Integer,
      // The framerate of the document in frames per second
      "framerate": Float,
      // The generic show name as entered in the show metadata panel in mimoLive
      "show": String,
      // The audio samplerate of the document in hz
      "samplerate": Integer
    },
    // The live state of the document/show (see LiveState for possible values and their meaning)
    "live-state": LiveState,
    // If the show is currently live, the current length of the show in seconds
    "duration": Integer,
    // If the show is currently live, timestamp when the show went live (can be used together with "metadata.duration" and "duration" to compute a countdown)
    "show-start": Integer
  }
}

レイヤー

レイヤー」タイプは、mimoLiveのビデオ出力を生成するレンダリングパイプラインで使用されるレイヤーを表します。

{
  // Unique identifier of the layer
  "id": String,
  // Always "layers" (see the JSON-API documentation for more information on this field)
  "type": "layers",
  // See the JSON:API specification for more information on this field
  "relationships": {
    // The document this layer is part of
    "document": Relationship,
    // All the layer variants for this layer
    "variants": Relationship,
    // The variant that is currently live (null otherwise)
    "live-variant": Relationship,
    // The variant that is active/selected for that layer
    "active-variant": Relationship
  },
  // The link to the resource itself (see the JSON:API specification for more information on this field)
  "links": Object,
  // Attributes of the layer (this is probably the data you are after)
  "attributes": {
    // The composition identifier for the layer, this can be used to differentiate the various layer types
    "composition-id": String,
    // The live state of the layer (see LiveState for possible values and their meaning)
    "live-state": LiveState,
    // The name of the layer as displayed in the mimoLive layer stack
    "name": String,
    // The user-controlled volume of the layer, as seen in the layer stack
    // where 0.0 means silence and 1.0 is full volume.
    // If the layer has no volume control, the value is null.
    "volume": Float | null,
    // The inputs used for the layer (composition). The keys come directly from the underlying QuartzComposition. Check out the custom layer protocol for more information on the key names and their meaning. The layer reports the "input-values" from either "live-variant" or the "active-variant" if the layer is not live.
    "input-values": Object,
    // Description object for each of the keys returned in "input-values"
    "input-descriptions": {
      (String): {
        // Whether the input is currently hidden in the mimoLive user interface
        "hidden": Bool,
        // The type of the input ("string", "number", "index", "bool", "color", "image", "structure")
        "type": String,
        // If applicable: The minimum value the input accepts
        "value-min": Float,
        // If applicable: The maximum value the input accepts
        "value-max": Float,
        // For dropdowns a list of names for the individual values
        "value-list": Array,
        // By which ammount a value should be increased or decreased
        "value-step": Float,
        // String that declares in which unit the value is (eg. "°C")
        "value-unit": String,
        // Label that is shown next to the input
        "label": String,
        // The index of the input (for sorting)
        "index": Integer
    	}
    },
    // Outputs from the last render cycle that were returned from QuartzComposer, including the original keys
    "output-values": Object,
    // The index of the layer in the layer stack (zero relates to the top of the stack)
    "index": Integer 
  }
}

*mimoLive 5.2で "volume "属性が追加されました。

バリエーション

variants」タイプは、レイヤー構成の1つのインスタンスをモデル化します。ほとんどのレイヤーは1つのバリアントしか持ちませんが、いくつかのレイヤー(例えばLower Thirds)では、異なるテキストコンテンツを持つ複数のバリアントを持つことが一般的です。
バリアントは「レイヤー」タイプと多くの情報を共有しています。実際、レイヤーはほとんど現在アクティブなバリアントへのプロキシとして機能します。

{
  // Unique identifier of the variant
  "id": String,
  // Always "variants" (see the JSON-API documentation for more information on this field)
  "type": "variants",
  // See the JSON:API specification for more information on this field
  "relationships": {
    // The layer this variant belongs to
    "layer": Relationship
  },
  // The link to the resource itself (see the JSON:API specification for more information on this field)
  "links": Object,
  // Attributes of the variant (this is probably the data you are after)
  "attributes": {
    // The live state of the variant (see LiveState for possible values and their meaning). If the layer is not live, the value will always be "off".
    "live-state": LiveState,
    // The name of the variant as displayed in the mimoLive layer stack
    "name": String,
    // The inputs used for the variant (composition). The keys come directly from the underlying QuartzComposition. Check out the custom layer protocol for more information on the key names and their meaning. The layer reports the "input-values" from either "live-variant" or the "active-variant" if the layer is not live.
    "input-values": Object,
    // Description object for each of the keys returned in "input-values"
    "input-descriptions": {
    	(String): {
        // Whether the input is currently hidden in the mimoLive user interface
        "hidden": Bool,
        // The type of the input ("string", "number", "index", "bool", "color", "image", "structure")
        "type": String,
        // If applicable: The minimum value the input accepts
        "value-min": Float,
        // If applicable: The maximum value the input accepts
        "value-max": Float,
        // For dropdowns a list of names for the individual values
        "value-list": Array,
        // By which ammount a value should be increased or decreased
        "value-step": Float,
        // String that declares in which unit the value is (eg. "°C")
        "value-unit": String,
        // Label that is shown next to the input
        "label": String,
        // The index of the input (for sorting)
        "index": Integer
      }
    },
    // Outputs from the last render cycle that were returned from QuartzComposer, including the original keys
    "output-values": Object
  }
}

情報源

sources」タイプは、レイヤー、フィルター、その他のソースで使用され、mimoLiveにオーディオとビデオの入力を提供するソースをモデル化しています。

{
  // Unique identifier of the source
  "id": String,
  // Always "sources" (see the JSON-API documentation for more information
  // on this field).
  "type": "sources",
  // See the JSON:API specification for more information on this field
  "relationships": {
    // The document this source is part of
    "document": Relationship,
    // The filters that process this source's video
    "filters": Relationship
  },
  // The link to the resource itself (see the JSON:API specification for
  // more information on this field).
  "links": Object,
  // Attributes of the variant (this is probably the data you are after)
  "attributes": {
    // The tally state of the source (see tally-state for possible values
    // and their meaning)
    "tally-state": TallyState,
    // The name of the source as displayed in mimoLive
    "name": String,
    // Whether the source supplies video
    "video": Bool,
    // [optionally] If the associated video hardware is currently connected
		// (Available since 5.5)
    "video-device-connected": Bool,
    // Whether the source supplies audio
    "audio": Bool,
    // [optionally] If the associated audio hardware is currently connected
		// (Available since 5.5)
    "audio-device-connected": Bool,
    // Summary text of the source as displayed in mimoLive
    "summary": String,
    // The identifier of the composition if the source is based on a QuartzComposition
    "composition-id": String,
    // The gain that is applied to audio comming from this source, as
    // controlled in the source settings view where 0.0 means silence,
    // 1.0 is the default and 2.0 means doubled volume.
    // Null if a source has no audio.
    "gain": Float | null,
    // The inputs used for the underlying composition (if it is a composition
    // source). Check out the custom layer protocol for more information on
    // the key names and their meaning.
    "input-values": Object,
    // Description object for each of the keys returned in "input-values"
    "input-descriptions": {
      (String): {
        // Whether the input is currently hidden in the mimoLive window
        "hidden": Bool,
        // The type of the input ("string", "number", "index", "bool",
        // "color", "image", "structure")
        "type": String,
        // If applicable: The minimum value the input accepts
        "value-min": Float,
        // If applicable: The maximum value the input accepts
        "value-max": Float,
        // For dropdowns a list of names for the individual values
        "value-list": Array,
        // By which ammount a value should be increased or decreased
        "value-step": Float,
        // String that declares in which unit the value is (eg. "°C")
        "value-unit": String,
        // Label that is shown next to the input
        "label": String,
        // The index of the input (for sorting)
        "index": Integer
      }
    },
    // Outputs from the last render cycle that were returned from
    // QuartzComposer, including the original keys
    "output-values": Object
  }
}
*

*mimoLive 5.2より "gain "属性が追加されました。

フィルター

filters」タイプは、レイヤーで使用する前にビデオを処理するために、ビデオソースに割り当てることができるフィルタを表します。

{
  // Unique identifier of the filter
  "id": String,
  // Always "filters" (see the JSON-API documentation for more information on this field)
  "type": "filters",
  // See the JSON:API specification for more information on this field.
  "relationships": {
    // The source that this filter belongs to
    "source": Relationship
  },
  // The link to the resource itself (see the JSON:API specification for more information on this field)
  "links": Object,
  // Attributes of the variant (this is probably the data you are after)
  "attributes": {
    // The name of the filter as displayed in mimoLive
    "name": String,
    // The identifier of the filter's QuartzComposition
    "composition-id": String,
    // The inputs used for the underlying composition (if it is a composition source). Check out the custom layer protocol for more information on the key names and their meaning.
    "input-values": Object,
    // Description object for each of the keys returned in "input-values"
    "input-descriptions": {
      (String): {
        // Whether the input is currently hidden in the mimoLive user interface
        "hidden": Bool,
        // The type of the input ("string", "number", "index", "bool", "color", "image", "structure")
        "type": String,
        // If applicable: The minimum value the input accepts
        "value-min": Float,
        // If applicable: The maximum value the input accepts
        "value-max": Float,
        // For dropdowns a list of names for the individual values
        "value-list": Array,
        // By which ammount a value should be increased or decreased
        "value-step": Float,
        // String that declares in which unit the value is (eg. "°C")
        "value-unit": String,
        // Label that is shown next to the input
        "label": String,
        // The index of the input (for sorting)
        "index": Integer
      }
    },
    // Outputs from the last render cycle that were returned from QuartzComposer, including the original keys
    "output-values": Object
  }
}

出力先

発売日:ミモライブ4.2
output-destinations」タイプは、録画、ストリーミングなど、mimoLiveショーが持つさまざまな出力先をモデル化しています。

{
  // Unique identifier of the output destination
  "id": String,
  // Always "output-destinations" (see the JSON-API documentation for more information on this field)
  "type": "output-destinations",
  // See the JSON:API specification for more information on this field
  "relationships": {
    // The document that this output destination belongs to
    "document": Relationship
  },
  // The link to the resource itself (see the JSON:API specification for more information on this field)
  "links": Object,
  // Attributes of the variant (this is probably the data you are after)
  "attributes": {
    // The name of the output destination as displayed in mimoLive
    "title": String,
    /*
     The concrete type of output destination:
     - "File Recording"
     - "Audio Aux"
     - "Live Streaming"
     - "Virtual Camera"
     - "Fullscreen"
     - "Blackmagic Design"
     - "NDI®" (including the "®")
     */
    "type": String,
    // A summary containing the most important settings
    "summary": String,
    // Whether the output destination is properly configured
    "ready-to-go-live": Bool,
    // Whether the output destination is set to start when the mimoLive show starts
    "starts-with-show": Bool,
    // Whether the output destination is set to stop when the mimoLive show ends
    "stops-with-show": Bool,
    // Individual settings depending on the "type" of output destination (see below for reference)
    "settings": Object,
    // The current live state of the output destination (see below for how to interpret the values)
    "live-state": LiveState
  }
}

個別設定

出力先の種類によって、設定が異なります。
以下は、「設定」オブジェクトの種類です。リストにない出力先のタイプについては、辞書は空となります。

{
  // Path to the folder that will contain the recording. Can be set to "null" to reset to initial value ("~/Movies').
  "location": String,
  // Filename that will be given to the recording. See below for placeholder values. Can be set to "null" to reset to initial value ("%document %year-%month-%day %hour-%minute-%second.%extension").
  "filename": String
}
{
  // Available since: mimoLive 5.5:
  // Ofuscated URL of the streaming endpoint.
  "rtmpurl": String,
  // Ofuscated steaming key.
  "streamingkey": String,
   // Public broadcast URL.
  "publicurl": String
}
*

rtmpurl」と「streamingkey」の値が難読化されていても、PATCHリクエストでその値を設定することができます。

ファイル録音の "filename "属性のプレースホルダー値

プレースホルダー説明
%document拡張子.tvshowを含む文書名(ユーザーシステムの設定によります。)
%show番組名
%extensionmov、接頭辞なし
%year4桁の年号(例:2018年
%month(月2桁の月、例:01は1月
y2桁の日(例:31
%hour2桁の時(24時間時計)、例:15
%minute2桁の分数(例:45
%second2桁の秒数(例:50

レイヤーセット

発売日:ミモライブ4.8
レイヤーセット」タイプは、ユーザーがmimoLiveで作成・管理できるレイヤーセットをモデル化しています。

{
  // Unique identifier of the layer set
  "id": String,
  // Always "layer-sets" (see the JSON-API documentation for more information on this field)
  "type": "layer-sets",
  // See the JSON:API specification for more information on this field
  "relationships": {
    // The document that this layer set belongs to
    "document": Relationship
  },
  // The link to the resource itself (see the JSON:API specification for more information on this field)
  "links": Object,
  "attributes": {
    // The name of the layer set as displayed in mimoLive
    "name": String,
    // Wheter the layer stack currently matches the configuration represented by the layer set
    "active": Bool
  }
} 

ライブステート

LiveState" タイプは、ドキュメント、レイヤー、バリアントが持つことのできる状態を表します。可能な値は以下の通りです:

価値観説明
オフレイヤーです:レイヤーはオフになっており、レンダリングされません。
 ドキュメントを見る番組が流れていない。
 出力先です:出力先が正しく設定されていないため、本稼働できない。
生きるレイヤーです:バリアントでは、レイヤーがライブで、バリアントがライブであることを意味します。
 ドキュメント現在、番組が進行中です。
 出力デスティネーションです:出力先がアクティブで、データを送信/記録しています。
プレビューレイヤーです:レイヤーはプレビュー欄に表示され、すぐにライブに切り替わる可能性があります。
 出力先です:出力先は本番の準備が整い、コマンドを待っている状態です。
シャットダウンレイヤーです:レイヤーは現在生きているが、シャットダウン中である(例:発信移行)。
スタートアップ出力先です:出力先が起動中(外部サービスへの接続など)である。

タリーステート

TallyState」は、ソースが存在し得る状態を表す。アクティビティの程度は順序付けられ、最も高い使用だけが報告されます。可能な値(低から高まで)は以下の通りです:

価値観説明
オフ現在、ミモライブではソースを使用していません
使用中ソースは現在mimoLiveの中のどこかで使用されています
効能フィルタープレビューでレンダリングされるソースは現在使用されています。
プレビューソースは現在、プレビュー出力内で使用されています
プログラムソースは現在、プログラム出力内で使用されています

ご意見・ご感想

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

メールマガジン

日本語

24/7 Live Zoom®デモに参加する

*必須

からコンテンツを読み込む必要があります。 reCAPTCHA をクリックしてフォームを送信してください。この場合、第三者のプロバイダーとデータを共有することになりますのでご注意ください。

詳細情報