Link Search Menu Expand Document

Выгрузка видеозаписи и аналитики проведенного вебинара или конференции

API livedigital предоставляет возможность LMS автоматически выгружать аналитику в формате JSON/XLSX, получать доступ к видеозаписи мероприятия и получать транскрибацию/саммаризацию после доставки webhook о завершении конференции или вебинара.

Выгрузка видео с записью вебинара или конференции

Метод RedirectToDownloadRoomRecord позволяет получить ссылку на загрузку видео с проведенным вебинаром или конференцией. Ссылка будет действительна в течении 24 часов.

В строке запроса RedirectToDownloadRoomRecord обязательно передаются идентификаторы группы, комнаты и записи - параметры spaceId, roomId и recordId. Идентификаторы группы и комнаты для заданной вебинарной комнаты должны быть известны (см. раздел Создание групп и комнат). А получить идентификатор записи можно двумя способами: с помощью вебхуков или с помощью специального метода (см. описание обоих способов ниже).

Полная спецификация метода приведена в Swagger.

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

GET https://moodhood-api.livedigital.space/v1/spaces/{spaceId}/rooms/{roomId}/records/download/{recordId}

В результате выполнения запроса возвращается текстовая строка, содержащая URL записи, вида https://some.url/record.mp4.

Как получить идентификатор записи вебинара/конференции

Как было сказано выше, идентификатор записи можно получить, если настроен механизм отправки обратных запросов (вебхуков) с уведомлением о наступлении в системе определенного события (см. Отслеживание событий в группе). Так для событий record_finished или record_started в теле обратного запроса возвращается идентификатор законченной или начатой видеозаписи (recordId).

Пример обратного запроса для отслеживания события record_finished:

{
  "signature": "ae6edba49d063002f2957d94e47f5ff5de3dda0a5c1ce98848d15c777b9df7ce",
  "body": {
    "eventName": "record_finished",
    "roomId": "649c18e086b915cae33041a2",
    "spaceId": "64217150224cd9e040e114d1",
    "recordId": "64b6544f7b3b4f29d70afec2" 
  }
}

В теле обратного запроса передается значение recordId, которое и нужно использовать в качестве идентификатора записи в строке запроса RedirectToDownloadRoomRecord.

Если вебхуки для отслеживания событий не настроены, то можно использовать метод getRecords для получения списка идентификаторов всех записей. После чего выбрать нужный идентификатор и использовать его в методе RedirectToDownloadRoomRecord.

В строке запроса для метода getRecords передаются обязательные параметры spaceId и roomId - идентификаторы группы и комнаты, записи для которых нужно получить, а также дополнительные параметры для фильтрации записей, например, dateFrom и dateTo - ограничения по датам начала и конца периода, за который нужны записи. Полная спецификация метода приведена в Swagger.

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

GET https://moodhood-api.livedigital.space/v1/spaces/{spaceId}/rooms/{roomId}/records

В результате выполнения запроса возвращается JSON, содержащий список items, где каждый элемент списка это объект типа RoomRecord, а поле id этого объекта это идентификатор записи.

{
  "items": [
    {
      "id": "60d55c0eb9ef88ab17b0aabb",
      "name": "string",
      "fileSize": 0,
      "roomId": "60d55c0eb9ef88ab17b0aabb",
      "spaceId": "60d55c0eb9ef88ab17b0aabb",
      "callId": "60d55c0eb9ef88ab17b0aabb",
      "state": "new",
      "createdAt": "2023-08-08T07:05:59.369Z",
      "startedAt": "2023-08-08T07:05:59.369Z",
      "finishedAt": "2023-08-08T07:05:59.369Z"
    }
  ],
  "total": 0
}

Для каждой записи также возвращаются различные параметры, например, callId - идентификатор события, startedAt, finishedAt - время начала и конца записи; по которым можно идентифицировать нужную запись.

Значение id для нужной записи необходимо передать в качестве параметра recordId в вызове метода RedirectToDownloadRoomRecord для получения ссылки на запись.

Примечание! Помимо получения списка записей и загрузки записи с видео API позволяет проводить другие операции с видео: стартовать и останавливать запись для комнаты, удалять видеозаписи и др. Полный набор методов для работы с видео можно посмотреть в Swagger.

Выгрузка аналитики по проведенному вебинару или конференции

Для выгрузки аналитики по вебинару\конференции используется метод getRoomAnalyticsReport, который возвращает данные аналитики в формате JSON или XLSX. В параметрах метода указывается идентификатор вызова callId, который можно получить с помощью метода analyticsCalls. В отличие от записи видео идентификатор callId для аналитики нельзя получить с помощью вебхука для события call_finished. Но обратный вызов для этого события означает формирование аналитики после мероприятия (т.е. нет смысла запрашивать аналитику, пока не получено уведомление о событии call_finished).

В строке запроса getRoomAnalyticsReport как часть URL обязательно передается идентификатор группы spaceId, а также в качестве обязательных параметров запроса передается идентификатор комнаты и идентификатор вызова - параметры roomId и callId. Также указывается параметр format, который определяет формат выгрузки отчета и может принимать значение xlsx или json.

Идентификаторы группы и комнаты для заданной вебинарной комнаты должны быть известны (см. раздел Создание групп и комнат). А получить идентификатор вызова callId можно с помощью метода analyticsCalls (см. описание ниже).

Полная спецификация метода getRoomAnalyticsReport приведена в Swagger.

Пример выполнения запроса getRoomAnalyticsReport:

GET https://moodhood-api.livedigital.space/v1/spaces/60d55c0eb9ef88ab17b0aabb/analytics/report?roomId=60d55c0eb9ef88ab17b0aabb&callId=60d55c0eb9ef88ab17b0aabb&format=xlsx

В результате выполнения запроса возвращается аналитика по событию в формате JSON или XLSX.

Для получения callId нужно использовать метод analyticsCalls. В строке запроса как часть URL обязательно передается идентификатор группы spaceId, а также в качестве обязательных параметров запроса передается идентификатор комнаты и дата, за которую надо получить аналитику - параметры roomId и date. Дополнительно можно указать, например, фильтр по минимальному количеству участников события.

Полная спецификация метода приведена в Swagger.

Пример выполнения запроса analyticsCalls:

GET https://moodhood-api.livedigital.space/v1/spaces/60d55c0eb9ef88ab17b0aabb/analytics/calls?roomId=60d55c0eb9ef88ab17b0aabb&date=2023-08-01T12%3A25%3A40.253Z

В результате выполнения запроса возвращается JSON со списком завершенных вызовов за указанную дату.

{
  "items": [
    {
      "id": "60d55c0eb9ef88ab17b0aabb",
      "active": true,
      "roomId": "60d55c0eb9ef88ab17b0aabb",
      "participantsCount": 0,
      "isBreakoutRoom": true,
      "planAlias": "string",
      "roomType": "lesson",
      "totalParticipantsCount": 0,
      "uniqueParticipantsCount": 0,
      "startedAt": "2023-08-12T12:26:51.553Z",
      "finishedAt": "2023-08-12T12:26:51.553Z"
    }
  ]
}

Значение id - это и есть идентификатор вызова, который необходимо передать в качестве параметра callId, в методе getRoomAnalyticsReport для получения аналитики.

Важно! Мы рекомендуем собирать данные аналитики после окончания мероприятия, добавив небольшой дополнительный промежуток времени. Также можно делать это после получения вебхука (webhook) о завершении, которое приходит только после начала мероприятия. Это поможет избежать ситуации, когда вы получаете пустые данные, например, если администратор случайно зашел в комнату до начала мероприятия и вышел, а затем вернулся к старту встречи. В этом случае звонок завершится, и уведомление придет, но данные будут не по самому мероприятию.

Получение и выгрузка транскрибации и саммаризации видеозаписи

Транскрибация представляет собой процесс преобразования аудиозаписей или видео в текстовый формат, что позволяет сохранить важные детали обсуждений, лекций или интервью. Саммаризация, в свою очередь, заключается в сокращении объемного текста до его основных идей и ключевых моментов. Это особенно актуально в условиях избытка информации, когда необходимо быстро извлечь суть без необходимости прочтения всего материала. Саммаризация помогает пользователям сосредоточиться на наиболее значимых аспектах текста, экономя время и усилия.

Важно! Подготовка транскрибации видеозаписи занимает некоторое время (обычно 10-15 минут), т.е. моменьтально после завершения встречи транскрибацию и саммари получить невозможно. Если функция транскрибации и саммаризации недоступна, то обратитесь в технческую поддержку livedigital или к персональному менеджеру.

Получение и выгрузка

Для получения транкрипции и саммаризации видеозаписи прошедшей встречи используется метод GetRoomRecordTranscription, в котором требуется указать идентификатор группы (spaceId), идентификатор комнаты (roomId) и идентификатор записи, которую требуется транскрибировать (recordId). Полная спецификация метода приведена в Swagger.

В результате выполнения в ответе будет возвращена сама транскрипция встречи в кодировке base64 и саммари в текстовом формате.

Пример выполнения запроса GetRoomRecordTranscription
GET https://moodhood-api.livedigital.space/v1/spaces/60d55c0eb9ef88ab17aabb12/rooms/60d55c0eb9ef88ab17aabb12/records/60d55c0eb9ef88ab17aabb12/transcription

Тело ответа:

{
    "transcription": {
        "segmentsBufferString": "H4sIAAAAAAAAA9XRQWpbMRAG4KuEAe8eYkbSaGberml6ilKM7CdT09Rp/Z6hELIvdNNFL9AbeG+aMyg3Knp1EnoEI/iZxSD45n9/D+OU9xP0wan3ZmYcvQ8phA7KboA+uoSMiEiGEqKmDqbybYIerurvenr68fS9/qmPDjoYv5T8qeyhv4dd/lygh8UNLt74ltc659s53y1uaKFxnnlOgw62A/SQZBVzjCV7G6hEY",
        "segmentsCount": 5,
        "summary": "1. **Введение**: - Максим представил компанию, занимающуюся разработкой программного обеспечения с 2008 года. - Компания начала работать в сфере видеоконференц-связи во время пандемии COVID-19, понимая потребности рынка образования. 2. **Партнеры**: - Среди партнеров компании: Geekbrains, Яндекс.Практикум, Skill Factory. - Яндекс постепенно переходит к использованию сервиса от компании, так как их собственный сервис Яндекс.Телемост не совсем подходит для качественного образования. 3. **Опыт использования видеоконференц-связи**: - Перспектива использует видеоконференции для обучения, важны вебинарный формат, возможность записи, численность участников (иногда до 100) и обратная связь от учащихся. - Встречи проходят как в формате больших групп (50-100 человек), так и параллельно (до 5-6 занятий одновременно)."
    }
}

Пример кода для cURL:

curl -X 'GET' \
  'https://moodhood-api.livedigital.space/v1/spaces/60d55c0eb9ef88ab17aabb12/rooms/60d55c0eb9ef88ab17aabb12/records/60d55c0eb9ef88ab17aabb12/transcription' \
  -H 'accept: application/json'