Skip to content

PeerTube

За этой категорией можно следить из открытой социальной сети, используя идентификатор peertube@baseinfo.nbics.net

4 Темы 35 Сообщения
  • Федерация PeerTube - отличие от Matrix

    Прикреплена Перенесена
    3
    0 Голоса
    3 Сообщения
    6 Просмотры
    A
    В Matrix есть воркеры. В PeerTube существует аналогичный механизм, но он называется по-другому и решает немного другую проблему, исходя из архитектуры самого PeerTube. Вместо того, чтобы называть их Воркерами (Workers), в PeerTube (Node.js) эта функция реализуется через систему Фоновых задач (Job Runners), которые работают с очередями Redis. Вот как это работает в сравнении с Synapse: Архитектурное различие Главное отличие в том, что Synapse (Python) — это исторически синхронный монолит, который нужно было принудительно разбивать на части (Воркеры), чтобы использовать многоядерные процессоры. PeerTube написан на Node.js, который изначально асинхронен и неблокирующий. Он лучше справляется с одновременными сетевыми подключениями. Поэтому ему не нужен "воркер" для разгрузки сетевого трафика. Его основная проблема — тяжелые CPU-задачи, а не сетевая конкуренция. Аналог Воркеров в PeerTube: Job Runners В PeerTube используется принцип разделения процессов для выделения самых ресурсоемких задач: Процесс/Роль Synapse (Matrix Workers) PeerTube (Job Runners) Главный сервер Обработка клиентских API, запись в БД. Обслуживание интерфейса, стриминг видео (Web Server). Фоновые процессы Federation Sender/Reader, Event Signer (разрешение состояний). Транскодирование видео (самая тяжелая задача), Обработка ActivityPub. Инструмент связи Redis (для обмена данными и очередями). Redis (для очередей задач). Основная нагрузка PeerTube: Перекодирование Самая тяжелая задача в PeerTube — это перекодирование (transcoding) видео, загружаемого пользователями, в разные форматы и разрешения (1080p, 720p, 480p). Это операция, которая может нагружать CPU на 100% в течение длительного времени. В PeerTube эта задача помещается в очередь Redis. Вы запускаете отдельные процессы (Job Runners) — часто на отдельном физическом сервере, чтобы не мешать основному сайту — которые извлекают эти задачи из очереди и выполняют перекодирование с помощью ffmpeg. Результат: Ваша основная веб-страница (там, где пользователи смотрят видео и общаются) остается быстрой и отзывчивой, в то время как другие машины или ядра обрабатывают тяжелые видеозадачи в фоновом режиме. Вывод В обоих случаях (Matrix и PeerTube) архитектура масштабирования сводится к одному и тому же принципу: Отделить медленные, ресурсоемкие фоновые операции от быстрых, ориентированных на пользователя операций. В Matrix это Федерация/Разрешение состояний. В PeerTube это Перекодирование видео.
  • Основные команды PeerTube

    2
    0 Голоса
    2 Сообщения
    12 Просмотры
    A
    Информация о версии PeerTube Вариант 1. cd /var/www/peertube/peertube-latest && node dist/server --version Вариант 2. cd /var/www/peertube/peertube-latest && yarn --cwd . peertube --version Информация о версии PostgreSQL psql --version
  • Общая инструкция пользователя PeerTube

    25
    1
    0 Голоса
    25 Сообщения
    10 Просмотры
    A
    Чтобы добавлять комментарии, нужно авторизоваться. Причём благодаря тому, что PeerTube - это федеративный сервис, ваш аккаунт не обязательно должен быть привязан к этому серверу с PeerTube. Вы можете быть зарегистрированы на другом сервере с PeerTube, и даже в других федеративных сервисах (социальные сети, сервисы микроблогов, форумы, и прочее). Единственный нюанс - сервер с PeerTube, видео которого вы хотите прокомментировать, должен быть настроен на федерацию администратором сервера. Иначе возможность комментирования будет только у пользователей данного конкретного сервера. [image: 1764854522764-pt-25.jpg]
  • Установка PeerTube на Debian 12

    5
    0 Голоса
    5 Сообщения
    7 Просмотры
    A
    3. Конфигурационный файл для Nginx Создаём файл, не забываем сделать симлинк. Вот сам конфиг: ## ВНИМАНИЕ !! Для LXC контейнера лучше из этого конфига убрать комментарии с кириллицей, иначе certbot будет ругаться на кодировку server { listen 80; listen [::]:80; server_name peertubevideo.nbics.net; # Замените на ваш домен access_log /var/log/nginx/peertube.access.log; error_log /var/log/nginx/peertube.error.log; # Проксирование всех запросов к PeerTube location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; client_max_body_size 24G; # Увеличиваем лимит до 24 ГБ для всех запросов proxy_pass http://10.0.3.171:3025; proxy_connect_timeout 10m; proxy_send_timeout 10m; proxy_read_timeout 10m; send_timeout 10m; } # WebSocket для PeerTube (socket.io и tracker) location /socket.io { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_http_version 1.1; proxy_pass http://10.0.3.171:3025; } location /tracker/socket { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_http_version 1.1; proxy_read_timeout 15m; # Для долгоживущих WebSocket-соединений proxy_pass http://10.0.3.171:3025; } } Меняем 10.0.3.171:3025 на нужные ip и порт. Меняем peertubevideo.nbics.net на свой домен Создаём сертификат