Запущенный сервер Peertube, а так же обновленная версия установки так сказать лайт к сожалению стар и немощен. Ему нужна помощь в кодировании видео. В этом ему будет помогать десктоп с видеокартой от Nvidea и осью виндовс. Все они живут в одной сети, но это не мешает настроить и очень удаленную машину в помощь через интернет, главное что бы был тырнет.
Суть в следующем на сервере Peertube есть такая функция в русском переводе она называется Включить удаленных участников
. Такая возможность предоставляется для транслируемого видео, загруженного видео или запись трансляции, а так же если включена видеостудия. По сути все транскодирование видео перекладывается на удаленную машину с хорошим ТТХ, в моем случае это комп с видяхой и дохрена памяти.
Что необходимо установить для работы сервера Peertube Runner в Windows
Итак понадобится:
- Node.js (v20.x или выше).
- FFmpeg (v4.3 или выше) и FFprobe.
- Python (для задач транскрипции, если включено).
- NSSM (для запуска средства выполнения тестов в качестве службы Windows).
- Драйверы NVIDIA CUDA (для использования ускорения графического процессора).
- Git (для клонирования репозиториев, если это необходимо).
Про все это как устанавливать писать не буду, у меня уже давно все поставлено причем ставилось постепенно по мере надобности выполнения других задач и вот оно пригодилось еще и для этого случая.
Все пути приложений прописаны в PATCH чтобы не парицо.
Как проверить установленные приложения
Если хочется быстро проверить наличие и версии этих приложений в Windows, можно сделать это через командную строку.
Node.js (v20.x или выше)
node -v
- Вывод должен быть вроде
v20.1.0
. - Если версия < 20 или ошибка — Node.js либо не установлен, либо старая версия.
FFmpeg и FFprobe (v4.3 или выше)
ffmpeg -version
ffprobe -version
- FFmpeg и FFprobe обычно идут вместе.
- Версия должна быть ≥ 4.3.
Python (для транскрипции)
python --version
- Вывод, например,
Python 3.12.0
. - Если Python не установлен или не добавлен в PATH — появится ошибка.
NSSM (для запуска как служба)
Если будет желание автоматически запускать сервер при старте системы, у меня такого желания пока нет могу и ручками все сделать.
nssm version
- Если команда не найдена — NSSM не установлен или не в PATH.
Драйверы NVIDIA CUDA
nvidia-smi
- Показывает версию драйвера и версию CUDA.
- Если команда не найдена — либо нет драйвера NVIDIA, либо CUDA не установлена.
Git
git --version
- Например,
git version 2.41.0.windows.1
. - Если команда не найдена — Git не установлен.
Установка Peertube Runner сервер в Виндовс 10
npm install -g @peertube/peertube-runner
Проверка установки:
peertube-runner --version
Запуск сервера Peertube Runner
Открыть PowerShell запустить сервер:
peertube-runner server
После запуска в одной из строк будет прописан путь, где живет конфиг, это пригодится. Примерно такая строка Using C:\Users\ИМЯ-ПОЛЬЗОВАТЕЛЯ\AppData\Roaming\peertube-runner-nodejs\Config\default\config.toml as configuration file
Регистрация сервера Peertube Runner
Зайти в вебморду сервера Peertube под пользователем root
Для того чтобы помощь заработала нужно поставить галки в требуемых местах:
Настройки-Конфигурация-VOD ✔️ Включить удаленных участников для VOD или в моем случае https://video.wildserver.ru/admin/settings/config/vod
Там же, если включена Включить видеостудию поставить ✔️ Включить удаленных участников для студии
Нажать кнопку Сохранить
Тоже сделать для Трансляции ✔️ Включить удаленных участников для трансляций https://video.wildserver.ru/admin/settings/config/live
Появится вкладка Настройки-Runners выбрать Регистрационные токены https://video.wildserver.ru/admin/settings/system/runners/registration-tokens-list
Скопировать существующий токен или создать новый.
Запустить еще одно окно с PowerShell и выполнить команду с адресом сервера , полученным токеном и желаемым именем сервера Peertube Runner
peertube-runner register --url https://video.wildserver.ru --registration-token ТОКЕН --runner-name my-desktop
Проверка регистрации сервера Peertube Runner
peertube-runner list-registered
В вебморде сервера Peertube во вкладке Настройки-Runners-Удаленные участники появится так сказать данные о помошнике. https://video.wildserver.ru/admin/settings/system/runners/runners-list
Мониторинг выполнения задач сервера Peertube Runner
Так же в отдельном окне PowerShell не трогать окно с запущенным сервером. Можно посмотреть выполняемые задачи, если они есть. Проверить можно во время стрима или загрузив файл с видео. Все это так же доступно в вебморде Настройки-Runners-Задания участника https://video.wildserver.ru/admin/settings/system/runners/jobs-list
. В последнем варианте удобнее, можно посмотреть наличие ошибок, если таковые имеются или какие то аномалии, что бы весело провести время решая их.
Файл конфигурации сервера Peertube Runner
В данном случае универсального конфига не могу предоставить, поскольку составлял его для своих задач и исходя из своего железа. Естественно в процессе эксплуатации необошлось без ошибок и непоняток, которые решились правкой конфига. Открыть удобным текстовым редактором я юзаю VisualStudioCode
C:\Users\ИМЯ-ПОЛЬЗОВАТЕЛЯ\AppData\Roaming\peertube-runner-nodejs\Config\default\config.toml
[jobs]
concurrency = 2
[ffmpeg]
threads = 4
nice = -10
hwaccel = "cuda"
[transcription]
engine = "whisper-ctranslate2"
model = "small"
[[registeredInstances]]
url = "https://video.wildserver.ru"
runnerToken = "ТОКЕН"
runnerName = "my-desktop"
[live]
maxRetries = 0
checkIntervalSeconds = 10
Итог:
Загружаемые видео действительно обрабатываются на десктопной винде, а вот в режиме трансляции у меня так и не получилось настроить транскодирование, OBS постоянно перезапускает трансляцию ровно через минуту. Много чего попробовал решения пока не нашел.
Комментарии