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

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

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

Типы данных

Оглавление

Сокращение API ответы с разреженной фильтрацией

Если API отвечает слишком много данных, вы можете сузить круг данных, которые вы хотите получить обратно, с помощью фильтрации Sparse Filtering. Для фильтрации с разреженной фильтрацией у вас есть два поля, которые помогут вам в этом:

- "include=" будет описывать, какие категории JSON должны быть включены респонденты. Можно указать несколько путей, разделенных запятыми.
- "field[]=" будет описывать, какие значения должны быть включены в данную конкретную категорию. Вы можете использовать несколько определений полей, чтобы указать разные значения для каждой категории.

Пример: Вы хотите прочитать, если определенный Запись файлов Назначение вывода записывается в данный момент или нет. В данном случае нас интересует значение "live-state" категории "attributes" в корневой категории "data". Это означает, что нам нужно указать путь к категории include как "data.attributes". Категория "attributes" содержит множество значений, но мы хотим видеть только "live-state" в респондентах, поэтому мы сужаем список по параметру "fields[attributes]=live-state".

Таким образом, получается следующая команда curl: (Пожалуйста, не забудьте заменить символы и на свои собственные значения!)

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

Ответы будут выглядеть следующим образом:

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

Документы

Тип "documents" соответствует объекту документа, который 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
  }
}

Слои

Тип "layers" представляет слои, которые используются в конвейере рендеринга для создания видеовыхода 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 
  }
}

*Атрибут "volume" был добавлен в mimoLive 5.2.

Варианты

Тип "variants" моделирует один экземпляр конфигурации слоя. Большинство слоев имеют только один вариант, но для некоторых слоев (например, 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.

Фильтры

Тип "фильтры" представляет собой фильтры, которые можно назначить источникам видео для обработки видео перед использованием в слоях.

{
  // 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
  }
}

Направления вывода

Доступно с версии: mimoLive 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" записи файла

Место для размещенияПояснение
1TP9Документимя документа, включая расширение .tvshow (в зависимости от системных настроек пользователя)
%showназвание шоу
%extensionmov, без префикса .
%year4-х значный год, например, 2018
%month2-значный месяц, например, 01 для января
yДень с двумя цифрами, например, 31
%hour2-значный час (24-часовые часы), например, 15
%minute2 цифры минут, например, 45
%second2 цифры секунд, например, 50

Наборы слоев

Доступно с версии: mimoLive 4.8
Тип "layer-sets" моделирует наборы слоев, которые пользователь может создавать и управлять ими в 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

Состояние "TallyState" представляет собой состояние, в котором может находиться источник. Степень активности упорядочивается, и в отчет попадает только самое высокое использование. Возможные значения (от низкого к высокому):

ЗначениеПояснение
с сайтаИсточник в настоящее время не используется mimoLive
в использованииВ настоящее время источник используется где-то внутри mimoLive
эффектИсточник в настоящее время используется для отображения в предварительном просмотре фильтра
предварительный просмотрИсточник в настоящее время используется для вывода предварительного просмотра
программаИсточник в настоящее время используется внутри программного вывода

Ваши отзывы

Как бы вы оценили свой опыт использования этой функции mimoLive®?

Рассылка по электронной почте

Русский

Присоединяйтесь к круглосуточной демонстрации Zoom® в режиме реального времени

*необходимо

Вам нужно загрузить содержимое из reCAPTCHA чтобы отправить форму. Пожалуйста, обратите внимание, что при этом данные будут переданы сторонним поставщикам.

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