Выпуск децентрализованной видеовещательной платформы PeerTube 1.3

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

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

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

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

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

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

Основные новшества выпуска 1.3:

  • Добавлена поддержка списков воспроизведения видео при помощи которых пользователь может создать список для отложенного просмотра.
    Возможно создание как приватных так и публичных плейлистов. Каждая запись может не только определять видеоролик, но и ссылаться на позицию для начала и завершения воспроизведения. В отличие от каналов списки воспроизведения не могут быть объектом подписки, а являются средством индивидуальной организации просмотра. В плейлист можно включать не только свои, но и чужие видео. В файл конфигурации production.yaml добавлена настройка streaming_playlists, определяющая каталог для сохранения плейлистов;

  • Добавлена функция помещения видео в карантин (при включении загруженные видео автоматически добавляются в чёрный список и исключаются из него после рецензирования);
  • Добавлена экспериментальная поддержка протокола HLS (HTTP Live Streaming), позволяющего адаптивно управлять потоком в зависимости от полосы пропускания. Для использования HLS для каждого разрешения требуется загрузить отдельный файл с видео. Поддерживается при наличии FFmpeg 4 или более новой версии;
  • Расширены возможности управления подписчиками. Добавлена поддержка удаления подписчика, блокировки создания новых подписок, ручного добавления подписчиков и отправки уведомлений о новых подписчиках;
  • Улучшен интерфейс пользователя. Увеличена высота области воспроизведения, изменено оформление кнопок, увеличен размер миниатюр,
    в меню добавлена секция «Моя библиотека», улучшено отображение на мобильных устройствах, добавлены новые анимированные эффекты;

  • В интерфейсе администратора появились возможности отключения трекера (запрет работы в режиме P2P), смены/сброса паролей пользователей, просмотра серверных логов, диагностики сетевых проблем, ограничения размера истории просмотренных видео и удаления старых записей о внешних видео.

Источник: opennet.ru