Ссылки на медиафайлы
Ссылки на медиафайлы
Frame.io хранит и обрабатывает файлы, добавленные в ваши проекты — изображения, видео, документы PDF и многое другое. Когда вы запрашиваете файл через API-интерфейс, базовый ответ содержит основные метаданные, такие как имя файла, его статус и ссылку view_url для открытия в приложении Frame.io. Для получения доступа к фактическому содержимому файла (оригинала, копии для предпросмотра или версий различного качества) используются включения (includes). В этом руководстве подробно описываются включения для ссылок на медиафайлы, доступные в конечных точках Список файлов и Получить файл, а также какие данные возвращает каждое из них и в каких случаях их следует применять.
Что такое включения?
Включения — это дополнительные поля, которые можно запросить вместе с ответом по файлу. По умолчанию API-интерфейс возвращает только основные метаданные файла: имя, статус, тип, временные метки и view_url. Включения позволяют получать дополнительные данные, сохраняя ответы краткими, когда вам не нужна вся информация целиком.
Как добавлять включения
Передайте список имен включений через запятую в параметре include в любом запросе Получить файл или Список файлов.
Включения работают одинаково как для конечной точки получения отдельного файла, так и для конечной точки вывода списка. При использовании в конечной точке «Список файлов» включения применяются к каждому файлу в ответе.
Примеры SDK
Включения, которые не были запрошены, полностью исключаются из ответа.
Обзор включений для ссылок на медиафайлы
Добавленный исходный файл в том самом виде, в каком он был добавлен
Изображение для предпросмотра в формате PNG
Лучшая из доступных обработанных версий
Самая маленькая из доступных версий для использования при низкой пропускной способности сети
Перекодированное видео в низком разрешении 180p H264 для потоковой передачи и воспроизведения
Спрайт-лист в формате WebP, содержащий миниатюры кадров видео для реализации интерфейса перемотки
media_links.original
Возвращает подписанные URL-адреса, указывающие на исходный файл в том самом виде, в каком он был добавлен, без обработки и конвертации.
Поля
Когда использовать
Используйте включение media_links.original, когда нужен исходный файл, например, чтобы пользователь мог загрузить оригинальные файлы MOV, MP4, MXF, AVI, PSD, PNG или TIFF, или чтобы передать исходные байты в другую систему.
Пример запроса
Пример ответа
Эти URL-адреса являются временными подписанными ссылками S3 — у них есть срок действия. Не кэшируйте и не сохраняйте их. Запрашивайте новый URL-адрес каждый раз, когда он необходим.
media_links.thumbnail
Возвращает изображение ресурса для предпросмотра в формате PNG с максимальной высотой 540 пикселей. Это обработанная версия, а не исходный файл. В зависимости от настроек вашей учетной записи на нее могут быть наложены водяные знаки.
Поля
Когда использовать
Используйте включение media_links.thumbnail, когда нужна визуализация для предпросмотра ресурса, например в виде сетки, галереи или средства выбора файлов. Миниатюры загружаются быстрее, чем исходный файл, и всегда представлены в безопасном для веб-интерфейсов формате PNG.
Пример запроса
Пример ответа
media_links.high_quality
Возвращает URL-адрес для загрузки лучшей из доступных обработанных версий ресурса. Frame.io обрабатывает добавляемые файлы по шкале разрешений с максимальным значением 2160p. API-интерфейс возвращает самую качественную версию, доступную на момент выполнения запроса. Таким образом, если на момент выполнения запроса завершилась обработка только версии 540p, API-интерфейс будет возвращать ссылку на нее до тех пор, пока не будут готовы версии в более высоком качестве.
Поля
Когда использовать
Используйте включение media_links.high_quality, когда нужна версия лучшего качества без необходимости загружать исходный файл, например для экспорта версии в высоком разрешении для последующей обработки или для предпросмотра в полном разрешении. Если требуется максимально возможное качество, проверьте поле состояния файла (status) и запросите данное включение только после перехода файла в состояние «готов» (ready). Это гарантирует, что файл прошел обработку по всей шкале разрешений.
Пример запроса
Пример ответа
media_links.efficient
Возвращает URL-адрес для загрузки самой маленькой из доступных обработанных версий. Это включение работает противоположно включению high_quality — Frame.io выбирает версию с самым низким разрешением из всех доступных на данный момент.
Поля
Когда использовать
Используйте включение media_links.efficient, когда пропускная способность сети или размер файла важнее качества, например для обеспечения быстрого предпросмотра в условиях слабого сетевого соединения или для отправки файла в цепочку обработки миниатюр, которой не требуется полное разрешение.
Пример запроса
Пример ответа
media_links.video_h264_180
Возвращает URL-адреса для потоковой передачи и загрузки перекодированного видео в низком разрешении 180p H264.
Это устаревшее включение. Его значение будет null, если для данного ресурса не было создано перекодированное видео 180p. Для большинства сценариев использования рекомендуется выбирать включение media_links.efficient, которое автоматически подбирает лучшую из доступных версий низкого качества, а не требует перекодирования.
Поля
Когда использовать
Используйте включение media_links.video_h264_180, когда вам нужно перекодированное видео в формате H264 180p, например для интеграции с устаревшим проигрывателем или цепочкой обработки, которым требуется именно этот формат. Если для данного ресурса такого перекодированного видео нет, оба URL-адреса будут иметь значение null.
В файле video_h264_180 нет аудио. Он предназначен исключительно для обеспечения максимально экономичного и быстрого предпросмотра при возникновении такой необходимости.
Пример запроса
Пример ответа
media_links.scrub_sheet
Возвращает спрайт-лист в формате WebP — одно изображение, содержащее сетку из миниатюр кадров видео, взятых через равные промежутки времени на протяжении всей длительности видеоролика. Это включение используется для реализации интерфейса перемотки, когда проигрыватель показывает кадр для предпросмотра по мере того, как пользователь перемещает ползунок по шкале времени.
Спрайт-листы для перемотки создаются только для видеоресурсов. Для изображений, документов PDF и других типов файлов, которые не являются видео, это включение вернет значение null для всех URL-адресов.
Поля
Когда использовать
Используйте включение media_links.scrub_sheet при создании пользовательского видеопроигрывателя или интерфейса временной шкалы, когда нужен предпросмотр миниатюр по мере перемотки. Вместо того чтобы выполнять отдельный запрос для каждого кадра, спрайт-лист объединяет все кадры для предпросмотра в одно изображение для загрузки.
Пример запроса
Пример ответа
Извлечение кадра из спрайт-листа
Спрайт-лист представляет собой сетку из tile_x столбцов × tile_y строк. Чтобы отобразить миниатюру для заданного индекса кадра (начиная с нуля), вычислите его положение в изображении.
Затем можно использовать CSS-свойство background-position, чтобы отобразить нужную плитку из спрайт-листа.
Чтобы сопоставить позицию воспроизведения (в секундах) с индексом кадра, используйте общую длительность видео и количество кадров на листе.
Поле metadata доступно только в экспериментальной версии API. В стабильной версии API-интерфейса v4 включение scrub_sheet возвращает только download_url и url.
Объединение нескольких включений
Можно запросить несколько включений в одном вызове API-интерфейса.
Выбор подходящего включения
Ссылка view_url, которая доступна в каждом ответе по файлу без необходимости в использовании включений, является постоянной прямой ссылкой на веб-приложение Frame.io. Это не ссылка на медиафайл. Она открывает интерфейс Frame.io и не имеет срока действия. Используйте ее, когда вам нужно направить пользователя для рецензирования или комментирования ресурса непосредственно в Frame.io, а не тогда, когда требуется программным путем отобразить или загрузить файл.
Доступность включений
Включения в ссылках на медиафайлы заполняются только после того, как Frame.io завершит обработку добавленного файла. Если вы запросите включение сразу после добавления, URL-адреса могут иметь значение null, пока выполняется перекодирование. Проверяйте поле состояния (status) объекта файла — включения станут доступны, как только состояние изменится на «готов» (ready).