Состоялся первый продакшн-релиз децентрализованной платформы PeerTube для организации видеохостинга и видеовещания. PeerTube представляет собой независимую легковесную масштабируемую альтернативу для YouTube, Dailymotion и Vimeo и использует браузеры посетителей в реальном времени для создания сети распространения контента. Наработки проекта распространяются на GitHub под свободной лицензией AGPLv3.
Идея PeerTube состоит в том, чтобы создать технологию, способную объединить разрозненные серверы с видео в общую федеративную сеть с взаимным обменом информацией, в которой посетители участвуют в доставке контента и имеют возможность подписки на каналы и получения уведомлений о новых видео.
PeerTube основывается на принципе Peer-to-Peer. Создатели объясняют свой выбор тем тем, что хостинг и сетевые каналы для видеосервиса является затратными, поэтому эту нагрузку они переложили на множество пользователей. Для решения проблемы расходов на пропускную способность в случаях, когда видео становятся популярными и могут создать большую нагрузку на серверы и каналы связи, PeerTube использует технологию WebTorrent.
WebTorrent представляет собой торрент-клиент, который работает на чистом JavaScript и не требует установки каких-либо плагинов или расширений в браузер (правда, браузер нужен достаточно современный, на IE11 не заработает). Для пользователей это означает, что если несколько человек одновременно смотрят одно и то же видео, то их браузеры будут отправлять друг другу фрагменты этого видео. Таким образом, при росте аудитории ролика растет и пропускная способность сети.
К сожалению, Хабр еще не умеет узнавать веб-плеер PeerTube, поэтому видео будет с YouTube:
Разработкой первой стабильной версии PeerTube — федеративного видео-хостинга, использующего стандартизированный W3C протокол ActivityPub и написанный на веб-технологиях с помощью NodeJS (бэкенд) и Angular (фронтенд) — в течение девяти месяцев занималась некоммерческая организация Framasoft. Разработка ПО и развертывание сети из нескольких сотен экземпляров независимых серверов были профинансированы успешной краудфандинговой кампанией.
Каждый видео-сервер играет роль BitTorrent-трекера, на котором хранятся учётные записи пользователей данного сервера и их видео. Прием данных при просмотре осуществляется непосредственно из браузеров других посетителей, просматривающих тот же самый ролик. Если в данный момент видео никто не просматривает, то по протоколу WebSeed организуется его отдача сервером, на который изначально загружено видео.
Кроме перераспределения трафика между зрителями, просматривающими видео, PeerTube также дает серверам, создаваемым авторами для первичного размещения видео, кэшировать видео других авторов с других узлов сети, формируя распределённую сеть не только из клиентов, но и из серверов, что обеспечивает отказоустойчивость и доступность сети и контента в ней. А еще это позволяет противостоять цензуре, ведь на каждом узле только его администратор определяет все правила хранения контента. Любой желающий может поднять свой собственный сервер «с преферансом и официантками», если его не устраивают правила ни одного из существующих узлов сети.
Вам нравится эта технология? А может быть вы уже подняли свой сервер на ее основе? Пишите в комментариях!