Pull to refresh

Clickberry — пожалуй самая мощная видео-платформа на MS Azure теперь open source

Reading time4 min
Views10K
Сколько существует индустрия разработки ПО, столько и идет вечная битва закрытого кода с открытым. Сколько копий было сломано, не пересчитать. Мы, в Clickberry, тоже в этой битве, 3 года на одной стороне, а вот теперь, можете считать нас перебежчиками, мы на другой. Встречайте нас в стане open source. Для тех кто не знает, Clickberry — это платформа создания, хранения и дистрибуции видео в общем и интерактивного видео в частности.

image

Для начала, обсудим, что такое интерактивное видео. Это то, что позволяет зрителю взаимодействовать с видео потоком. Аннотации на Youtube — самый простой тому пример. Ссылки внутри видео на внешние страницы, дополнительная информация во всплывающих окнах, Facebook лайки, прикрепленные к объектам (это уже наша технология), все это есть и доступно в разных продуктах от различных разработчиков: Videoclix, Wirewax, Interlude и многих других. У всех у них, даже достаточно продвинутых и популярных, есть один недостаток. Они заточены под одну конкретную задачу, будь то реклама, музыкальное видео или e-commerce. Набор функционала обычно сильно ограничен именно выбранной специализацией. Нравится платформа, но она заточена под другое? Ищи такую же, «но с перламутровыми пуговицами».

Систем много, все разные. Стандартов нет. В одних хорошо одно, в других — другое. Мы много смотрели на эту картину и с одной стороны и с другой. Каждая из систем борется за клиента. Оберегает свои технологии. Старается сделать себя еще более проприетарной и привязать пользователя к себе как можно сильнее.

А что, если будет платформа интерактивного видео, открытая, базисная, на основе которой можно будет сделать то, что нужно конкретному разработчику. Хочешь — модифицируй под e-commerce. Хочешь – под музыкальные видео. Хочешь… да что угодно. Фактически, гибкая система, в которой заложены базовые элементы, на основе которых можно построить любую видео систему, в том числе и интерактивную. Вот мы и решили, что наш продукт Clickberry Video Portal подходит для такой роли. За 3 года мы вложили в него тысячи часов проектирования, разработки и тестирования. Создали все необходимые базовые модули, которые позволят используя нашу (вернее уже общую) систему, создавать видео платформы любой сложности и архитектуры.

Clickberry Video Portal

Видео портал — это распределённая программная система, предназначенная для быстрой доставки видео для различных программных платформ. Общая схема основных компонентов системы:
image

Портал имеет многозвенную архитектуру, в которой выделяются основные сервисы Front-end, Middle-end и Back-end. Клиентские приложения при помощи REST API портала могут выполнять пользовательские сценарии, например, создание видео проектов или управление файлами. В частности, пользователи в браузере, посредством SPA, могут аутентифицироваться через соцсети или пару логин/пароль и просматривать, комментировать чужие и управлять своими видео.

Так как с самого начала мы использовали технологический стэк Microsoft, то и технологии лежащие в основе Clickberry Video Portal соответствующие: облачные службы и виртуальные машины Azure, Blob Storage, CDN, ACS, .NET 4.5, ASP.NET MVC, Web API, AngularJS. Однако, со временем Azure Table Storage, переставший удовлетворять бизнес требованиям, был заменён на MongoDB, а для сбора статистики и лайков стала использоваться Cassandra.

Front-end

Данная веб роль состоит из следующих виртуальных приложений IIS:
  • Web — это ASP.NET MVC приложение, занимающееся передачей статики (Web UI).
  • API — это ASP.NET Web API приложение, предоставляющее REST API для клиентских приложений.


Front-end был спроектирован и реализован с поддержкой вертикального и горизонтального масштабирования. Основная его задача — публичная точка доступа для клиентских приложений.

Middle-end

Данная роль состоит из следующих приложений:
  • API — это ASP.NET Web API приложение, предоставляющее REST API для Back-end серверов.
  • Scheduler — это фоновый сервис, выполняющий ежедневную агрегацию статистической информации.


Back-end

Данная рабочая роль содержит службы, занимающиеся обработкой видео файлов, например, кодирование видео в webm и mp4 форматы или создание снэпшотов из видео.

Back-end был спроектирован и реализован с поддержкой вертикального и горизонтального масштабирования.

Наш продукт, изначально разрабатывался под Microsoft Azure, и на данный момент является, наверное одним из самых продвинутых в плане функционала и технологичности в Azure, ну а уж как open source video платформа для Azure и вообще, возможно, единственный.

Итак, почему мы решили перевести наш продукт в open source?

Мы считаем, что в таком виде у технологии намного больше шансов завоевать место под солнцем. Как бы мы не старались, не возможно сделать продукт который бы был хорош и применим ко всем видам видео и всем потребностям клиентов. Однако, сделав продукт открытым, мы даем возможность появиться новым модулям, возможностям применения и даже новым (почему нет?) сегментам рынка. У много раз видели как клиентов и партнеров, не устраивает одно, или хочется доработать другое, под свои конкретные нужды, но закрытость платформы останавливает.

Теперь это не так. Первая open source видео платформа с функциями интерактивности для Azure доступна как партнерам, так и энтузиастам. Все, что раньше требовало разработки с нуля, теперь можно получить, взяв за основу нашу систему и доработав под свои нужды, внеся свой вклад в развитие интерактивного видео. Мы со своей стороны готовы оказать помощь в разработке, настройке инфраструктуры и запуске, а также открыты для совместных проектов в любой области связанной с видео в Azure в общем и с интерактивным видео в частности.

Посмотреть работу Clickberry Video Portal вы можете по адресу:
https://clickberry.tv/

Найти репозиторий проекта, а также принять участие в развитии платформы можно по адресу:
https://github.com/clickberry/video-portal

Документацию по продукту вы сможете найти на страницах:
https://github.com/clickberry/video-portal/wiki

Мы всегда рады обратной связи, поэтому ждём ваших вопросов и предложений на info@clickberry.com, а также открыты для совместной работе над проектом.
Tags:
Hubs:
+11
Comments7

Articles