Философия «С камеры в облако»

Что такое API-интерфейс «С камеры в облако»?

API-интерфейс «С камеры в облако» (C2C) обеспечивает безопасный способ передачи медиафайлов напрямую в Frame.io сразу после завершения записи без дополнительного ввода данных пользователем. Команда Frame.io стремится сделать медиафайлы доступными для просмотра и совместной работы сразу после остановки записи или ввода метаданных.

В ходе разработки мы поняли, что для максимально удобной работы как интеграторов, так и пользователей API-интерфейс C2C должен функционировать как собственная специализированная серверная система, отдельная от основной экосистемы Frame.io. Хотя это архитектурное решение может показаться неинтуитивным на первый взгляд, в этом документе изложены наши аргументы и основные принципы, на которых построен C2C.

Не только отснятый материал

Хотя API-интерфейс называется для простоты «С камеры в облако», его возможности не ограничиваются материалом с камер. API-интерфейс C2C обрабатывает множество типов цифрового контента. Frame.io может работать с аудио, видео, PDF и любыми другими типами файлов, которые создает ваше устройство. API-интерфейс максимально упрощает передачу любого созданного вами цифрового ресурса в облачное хранилище.

Запись, но не чтение

Frame.io поддерживает строгие стандарты безопасности, и при появлении подключаемых устройств необходимо рассмотреть возможные угрозы. Многим устройствам захвата медиа не хватает традиционных функций безопасности, таких как пароль или блокировка экрана, поскольку изначально они не предназначались для подключения к сети. Предоставление этим устройствам полного доступа к API-интерфейсу Frame.io может создать уязвимости, если не принять необходимые меры.

Кроме того, операторам устройств часто нужен доступ не ко всему проекту, а только к некоторым его элементам. Их роль может ограничиваться созданием конкретных медиа-ресурсов, а не управлением целым проектом.

Так мы сформулировали основной принцип проектирования: записывающие устройства существуют в первую очередь для создания медиа, а не для просмотра или комментирования контента из других источников. Лучшим подходом к безопасности была разработка API-интерфейса, специально ограниченного его основной функцией — добавлением данных в облако. Лучшим подходом к безопасности была разработка API, специально ограниченного его основной функцией — добавлением данных в облако.

Проектирование для устройств с ограниченными интерфейсами

При разработке существующих API-интерфейсов Frame.io предполагалось, что они будут взаимодействовать с приложениями, имеющими графические пользовательские интерфейсы. В этих приложениях пользователи могли выбрать параметры, которые затем отправлялись на сервер.

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

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

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

Обеспечение работы при прерывающемся подключении

Помимо ограничений интерфейса, многие устройства в экосистеме C2C работают в средах с непредсказуемым качеством подключения к сети. Мы разработали наш API-интерфейс таким образом, чтобы минимизировать связь с сервером, сократив количество необходимых вызовов во время работы и тем самым обеспечив надежную работу в местах со слабым WiFi или сотовой связью.

Упрощение интеграции

Нашим приоритетом было сделать интеграцию максимально простой. Мы разработали специализированный API-интерфейс с минимальным набором конечных точек, ограниченными требованиями к связи с сервером и четко определенной областью применения, соответствующей нашим целям. Мы понимаем, что для некоторых интеграторов это может быть первым опытом реализации сетевых вызовов третьих сторон. Независимо от того, являетесь ли вы опытным разработчиком, стремящимся к эффективной реализации, или новичком в REST API, мы разработали этот процесс так, чтобы он был доступным и понятным.

Дальнейшие шаги

Рекомендуем обращаться к нашей команде по любым вопросам. Теперь можно переходить к следующему руководству в этой серии. Будем рады помочь вам в интеграции C2C.

Если требуется технический обзор, см. руководство по архитектуре интеграции.