LINUX.ORG.RU

PeerTube 1.0

 , , , ,


9

5

В течение девяти месяцев сообщество и некоммерческая организация Framasoft трудились над разработкой и теперь рады представить первую стабильную версию PeerTube — федеративного видео-хостинга, использующего стандартизированный W3C протокол ActivityPub и написанный на веб-технологиях с помощью NodeJS.

За время существования проект успел организовать успешную краудфандинг-кампанию по сбору средств на разработку и построить сеть из нескольких сотен экземпляров независимых серверов, поддерживаемых сообществом.

Из особенностей программы можно отметить:

  • простой веб-интерфейс, построенный на фреймворке Angular и способный адаптироваться под размер экрана пользователя, что делает его пригодным для использования на мобильных устройствах;
  • веб-плеер с использованием технологии WebTorrent, распределяющий нагрузку при просмотре видео, раздавая его между пользователями путём P2P или напрямую с сервера, если раздающих нет;
  • поддержка субтитров, тегов, поиска и фильтров, плашки «NSFW» и последующего цензурирования превью, нескольких каналов для одного пользователя, отображения рекомендуемых и популярных видео;
  • подписка на канал или пользователя с помощью ActivityPub, RSS и JSON-ленты, комментирование и взаимодействие (лайк, репост) помощью любой ActivityPub-совместимой сети (Mastodon и Pleroma);
  • формирование федеративной ленты видео с помощью подписок сервера на другие сервера, а также возможность кэширования видео между серверами для достижения отказоустойчивости и максимальной доступности;
  • загрузка видео напрямую, с помощью torrent-файла, magnet-ссылки и ссылки на любой ресурс, поддерживаемый youtube-dl.

>>> Подробности

★★★

Проверено: Shaman007 ()
Ответ на: комментарий от Vsevolod-linuxoid

Какая может быть цензура на твоём сервере? Тебя разве что из федерации на отдельных серверах выпнут, вот и всё.

В псто упоминалась NSFW-плашка, если ты об этом. Ещё можно засунуть видео в «unlisted».

commagray ★★★ ()
Последнее исправление: commagray (всего исправлений: 3)

Я одобряю подбор видео на скриншоте. :-D

P.S. А если серьёзно, смотрел я этот PeerTube недавно. Подтормаживает он по понятным причинам, но в целом вроде неплохо. Однако, чего не понимают пока на youtube, как и здесь: Видео нужна возможность иметь несколько звуковых дорожек. Несколько субтитров для одного языка. (Например для полных, только дубляж надписей, режиссёрские комментарии, альтернативный перевод и т.д.)

atrus ★★★★★ ()
Ответ на: комментарий от Vitovt95

Никто не мешает смотреть напрямую файл с сервера, например. https://vault.mle.party/download/videos/44de1418-0e03-42a6-adb9-7b87bdc9a260-...

В Firefox с media.peerconnection.enabled;false тоже работает, так что можно и без него.

commagray ★★★ ()
Последнее исправление: commagray (всего исправлений: 1)

Чтож вы все не пишете, что оно на TypeScript. Это прям придает ему нехило плюсиков.

А насчет WebRTC, сейчас прикрутили работу и с отключенным WebRTC, так что не критично. Да и по хорошему надо устранять webrtc leak, вместо того чтобы отключать.

anonymous ()
Ответ на: комментарий от goingUp

Тем, что твой бложик, если будет популярен, нагенерит трафика over 9000 и всё будет тормозить, вынуждая тебя хостить видео на ютубе, прогибаться под его правила и приносить ему доход.

Legioner ★★★★★ ()
Ответ на: комментарий от eR

чё там с цензурой?

Видео хранится на конкретных нодах, конкретных хостингов. Цензуры в рамках сети нет, но не факт, что подо всё тебе интересное, но не правокорректное ты сможешь найти хостинг :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от yvv

А как же IPFS? Столько шума было.

Это вещи из разных миров с разными задачами. PeerTube — это инструмент видеохостинга. IPFS — протокол передачи файлов.

И IPFS нормально поживает... Хм. Полез дать ссылку на то, как CloudFlare недавно за поддержку IPFS взялась, а на ЛОРе про это новости нет. Что-то ЛОР не торт становится…

https://tproger.ru/news/cloudflare-announced-ipfs/

KRoN73 ★★★★★ ()
Ответ на: комментарий от Vitovt95

То есть, нужен включенный в браузере webrtc? Тогда не нужно.

Только если хочешь обмениваться p2p. Например, куча народа смотрит видео, чтобы сервер не затыкался, обмен данными идёт между зрителями. Правда, пример гипотетический, поскольку такого числа зрителей ни на одном видео ни одного узла нет :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от goingUp

А если допустим я поставлю на нем p2p видеоплеер на жаваскрипт и webrtc как у сабжа, но без федерации?

Ну, по сути ты в итоге сделаешь тот же самый PeerTube, только свой и без федерации :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от goingUp

Просто хочу понять, что даёт федерация.

Видео там централизованное. Лежит на конкретном хосте и раздаётся только с него. Хотя при наличии множества зрителей, они по p2p ещё обмениваются. Инфо о самих видео распространяется между узлами по подпискам. Комментарии сделаны на федеративном ActivePub. Можно читать их и отвечать, сидя в том же Мастодонте.

Есть ли глобальный поиск?

На твоей ноде можешь искать среди всего видео тех нод, на которые подписана твоя.

Можно ли тянуть видео по хешу с разных серверов?

Если видео будет на разных нодах одинаковое и если его будут смотреть зрители. WebRTC работает только между браузерами.

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

Это вещи из разных миров с разными задачами. PeerTube — это инструмент видеохостинга. IPFS — протокол передачи файлов.

Ну, типа видеохостинг подразумевает какой-то протокол передачи файлов в основе. Почему-то PeerTube не стал IPFS использовать.

yvv ★★★ ()

В сабже как-то отслеживается работа p2p? Можно посмотреть что сколько пользователи друг-другу раздали? Торрент-клиент отправляет анонсеру отчёты о количестве скаченного и розданного, тут такое есть?
Хочу проверить будет-ли в конкретном случае профит от p2p наворотов

MrClon ★★★★★ ()
Ответ на: комментарий от MrClon

Показывается количество пиров и скорость соединения. Статистики нет, так как видео раздаётся только при просмотре, но при желании можно раздавать обычным торрент-клиентом, стянув видео по сгенерированному torrent-файлу или magnet-ссылке.

commagray ★★★ ()
Последнее исправление: commagray (всего исправлений: 1)