Выпуск платформы PeerTube 3.0 с поддержкой децентрализованного потокового вещания

Доступен выпуск децентрализованной платформы для организации видеохостинга и видеовещания PeerTube 3.0. PeerTube предлагает независимую от отдельных поставщиков альтернативу YouTube, Dailymotion и Vimeo, использующую сеть распространения контента на базе P2P-коммуникаций и связывания между собой браузеров посетителей. Наработки проекта распространяются под лицензией AGPLv3.

Ключевым новшеством релиза стала поддержка потокового вещания (live streaming) с доставкой контента в режиме P2P. Для управления стримингом могут использоваться типовые программы, такие как OBS. Задержка при получении контента составляет от 30 до 60 секунд. В зависимости от мощности оборудования PeerTube может обеспечить обработку на одном сервере сотен одновременных просмотров (до тысяч пока не масштабируется, но это обещают исправить).

Для владельцев серверов предоставляются настойки для администрирования потокового вещания. Поддерживается два режима — short-lived и permanent. В первом разрешается повторное воспроизведение по уникальному идентификатору и сохранение видео, а во втором режиме возможен только просмотр текущего состояния, как в Twitch.

Другие изменения в новом выпуске:

  • Предложено новое оформление бокового меню, уведомлений, инструментов модерирования и панели администратора.

    В меню добавлены новые секции «My settings», «My library» и «Administration» для доступа к контенту и настройкам пользователя. В разделе «My library» собраны каналы, видео, импорты, изменения, списки воспроизведения, подписки и история просмотра. В «My settings» предложены настойки учётной записи и инструменты для модерирования и управления уведомлениями. В блок, выпадающий при клике на имени пользователя, добавлена секция «My notifications». Горизонтальное меню учётной записи разделено на две части.

  • Для администратора реализована новая страница для управления комментариями к видео, в котором показана сводка с последними комментариями и предоставлены кнопки для удаления всех комментариев определённого пользователя или удаления типовых комментариев по маске.
  • В интерфейсе администратора предоставлена опция для автоматической блокировки новых видео.
  • Модератору предоставлена возможность просмотра всех видео, включая неопубликованные и приватные, для определённых каналов и учётных записей.
  • Добавлена возможность загрузки аватаров в формате GIF.
  • Предоставлена возможность повторения загрузки, завершившейся сбоем. Добавлены более понятные сообщения об ошибках при загрузке.
  • Добавлена возможность указания оригинального URL для видео, которое не является локальным.

Напомним, что PeerTube базируется на применении BitTorrent-клиента WebTorrent, запускаемого в браузере и использующего технологию WebRTC для организации прямого P2P-канала связи между браузерами, и протокола ActivityPub, позволяющего объединить разрозненные серверы с видео в общую федеративную сеть, в которой посетители участвуют в доставке контента и имеют возможность подписки на каналы и получения уведомлений о новых видео. Предоставляемый проектом web-интерфейс построен с использованием фреймворка Angular.

Федеративная сеть PeerTube образуется как содружество связанных между собой небольших серверов хостинга видео, на каждом из которых имеется свой администратор и могут быть приняты свои правила. Каждый сервер с видео выполняет роль BitTorrent-трекера, на котором размещены учётные записи пользователей данного сервера и их видео. Идентификатор пользователя формируются в форме «@имя_пользователя@домен_сервера». Передача данных при просмотре осуществляется непосредственно из браузеров других посетителей, просматривающих контент.

Если видео никто не просматривает, отдача организуется сервером, на который изначально загружено видео (используется протокол WebSeed). Помимо распределения трафика между пользователями, просматривающими видео, PeerTube также позволяет узлам, запущенным авторами для первичного размещения видео, кэшировать видео других авторов, формируя распределённую сеть не только из клиентов, но и из серверов, а также обеспечивая отказоустойчивость.

Для начала вещания через PeerTube пользователю достаточно загрузить на один из серверов видеоролик, описание и набор тегов. После этого ролик станет доступен во всей федеративной сети, а не только с сервера первичной загрузки. Для работы с PeerTube и участия в распространении контента достаточно обычного браузера и не требуется установка дополнительного ПО. Пользователи могут отслеживать активности в выбранных видеоканалах, подписавшись на интересующие каналы в федеративных социальных сетях (например, в Mastodon и Pleroma) или через RSS. Для распространения видео с использованием P2P-коммуникаций пользователь также может добавить на свой сайт специальный виджет со встроенным web-плеером.

В настоящее время для размещения контента функционирует около 700 серверов, поддерживаемых разными добровольцами и организациями. Если пользователя не устраивают правила размещения видео на определённом сервере PeerTube, он может подключиться к другому серверу или запустить свой собственный сервер. Для быстрого развёртывания сервера предоставляется преднастроенный образ в формате Docker (chocobozzz/peertube).

Источник: http://www.opennet.ru/opennews/art.shtml?num=54372