Состоялся выпуск децентрализованной платформы для организации видеохостинга и видеовещания PeerTube 3.1. PeerTube предлагает независимую от отдельных поставщиков альтернативу YouTube, Dailymotion и Vimeo, использующую сеть распространения контента на базе P2P-коммуникаций и связывания между собой браузеров посетителей. Наработки проекта распространяются под лицензией AGPLv3.
Основные новшества:
- Расширены возможности перекодирования звука и видео из одного формата в другой для обеспечения доступности контента на всех устройствах (перекодирования осуществляется в фоне, поэтому новое видео становится доступно для всех устройств не сразу, а через какое-то время, необходимое для завершения перекодирования). В новом выпуске добавлена поддержка профилей перекодирования, которые можно использовать для изменения правил перекодирования на определённом узле PeerTube. Профили оформляются в виде плагинов, и, как правило, предоставляют разные настройки FFmpeg. Администратор узла теперь может выбрать профиль перекодирования, отвечающий текущим задачам. Например, можно создать профили перекодирования для оптимизации пропускной способности или для отдачи звука в наивысшем качестве.
Модернизированы процессы управления задачами перекодирования. Ранее контент помещался в очередь и перекодировался в порядке добавления пользователем. В новом выпуске администратору предоставлены инструменты для настройки приоритета выполнения работ и добавлена возможность автоматического снижения приоритета в зависимости от числа загруженных видео (в первую очередь будут перекодироваться единичные загрузки, сдвигая пользователей, загрузивших разом большое число роликов). Администратор может наблюдать за прогрессом перекодирования и настраивать число одновременно запускаемых задач.
- В web-интерфейсе из боковой панели исключена категория «most liked», на смену которой пришёл раздел «trending», предлагающий три варианта выборки наиболее востребованных роликов: hot (недавние видео, с которыми больше всего взаимодействовали пользователи), views (наиболее просматриваемые видео за последние 24 часа) и likes (видео, у которых больше всего лайков).
- В интерфейсе администратора узла изменены некоторые элементы, например, изменена вкладка со списком пользователей и перенесена в левую часть кнопка создания пользователя. Добавлена возможность настройки общей и ежедневной квоты на объём загружаемых данных.
- Упрощено оформление подписки на учётные записи, размещённые на другом узле, при наличии собственной учётной записи на том узле — для подписки теперь достаточно нажать кнопку «subscribe» под видео и ввести свой идентификатор.
- В интерфейс администратора узла добавлена настройка одновременно запускаемых задач импорта (с загрузкой по URL или через torrent).
- Реализована система создания торрентов для загруженных видео, работающая в асинхронном режиме.
- Прекращена поддержка выпуска PostgreSQL 9.6, объявлена устаревшей поддержка Node.js 10 и добавлена поддержка новых веток Node.js14 и 15.
Напомним, что PeerTube базируется на применении BitTorrent-клиента WebTorrent, запускаемого в браузере и использующего технологию WebRTC для организации прямого P2P-канала связи между браузерами, и протокола ActivityPub, позволяющего объединить разрозненные серверы с видео в общую федеративную сеть, в которой посетители участвуют в доставке контента и имеют возможность подписки на каналы и получения уведомлений о новых видео. Предоставляемый проектом web-интерфейс построен с использованием фреймворка Angular.
Федеративная сеть PeerTube образуется как содружество связанных между собой небольших серверов хостинга видео, на каждом из которых имеется свой администратор и могут быть приняты свои правила. Каждый сервер с видео выполняет роль BitTorrent-трекера, на котором размещены учётные записи пользователей данного сервера и их видео. Идентификатор пользователя формируются в форме «@имя_пользователя@домен_сервера». Передача данных при просмотре осуществляется непосредственно из браузеров других посетителей, просматривающих контент.
Если видео никто не просматривает, отдача организуется сервером, на который изначально загружено видео (используется протокол WebSeed). Помимо распределения трафика между пользователями, просматривающими видео, PeerTube также позволяет узлам, запущенным авторами для первичного размещения видео, кэшировать видео других авторов, формируя распределённую сеть не только из клиентов, но и из серверов, а также обеспечивая отказоустойчивость. Имеется поддержка потокового вещания (live streaming) с доставкой контента в режиме P2P (для управления стримингом могут использоваться типовые программы, такие как OBS).
Для начала вещания через PeerTube пользователю достаточно загрузить на один из серверов видеоролик, описание и набор тегов. После этого ролик станет доступен во всей федеративной сети, а не только с сервера первичной загрузки. Для работы с PeerTube и участия в распространении контента достаточно обычного браузера и не требуется установка дополнительного ПО. Пользователи могут отслеживать активности в выбранных видеоканалах, подписавшись на интересующие каналы в федеративных социальных сетях (например, в Mastodon и Pleroma) или через RSS. Для распространения видео с использованием P2P-коммуникаций пользователь также может добавить на свой сайт специальный виджет со встроенным web-плеером.
В настоящее время для размещения контента функционирует около 700 серверов, поддерживаемых разными добровольцами и организациями. Если пользователя не устраивают правила размещения видео на определённом сервере PeerTube, он может подключиться к другому серверу или запустить свой собственный сервер. Для быстрого развёртывания сервера предоставляется преднастроенный образ в формате Docker (chocobozzz/peertube).
Источник: opennet.ru