pojarcky
@pojarcky

Проблема при захвате через ffmpeg скрипт на node.js. Или какие инструменты для захвата могут помочь?

Всем доброго времени суток! Сразу хочу извиниться за лонгрид, но по другому вопрос не описать.
Есть задача, написать мастер-скрипт для записи трансляций с чатом на игровом ресурсе, чтобы на выходе получался цельный mkv/webm файл.

С течением времени, в плане логики, было проработано несколько вариантов:
1) Всё началось с идеи что можно захватывать m3u8 поток видео самой трансляции. Визуализировать данные чата через канвас, захватывать его, а потом пост-рендерингом соединять это в один файл. Первым VPS на который пришлась нагрузка был хост Джино с двумя неизвестными ядрами по 2Ггц и 4Гб ОЗУ, в итоге следующая картина:
5f951e59c3cff074857823.jpegА это при захвате одного потока, а их может быть до 4. При этом на выходе трансляция выдавала 20fps максимум, требуется хотя бы 25 в идеале 30.

Было принято решение перейти а VPS с Xeon на площадке REGRU, потому что информация о ЦП первого хостера неизвестна, грешили на них. На Xeon 2.2ГГц, ситуация изменилась немного в лучшую сторону, но нужного результата даже для одной трансляции достигнуто не было.
2) И в этом моменте началась проработка второй гипотезы, взять браузер в хэдлесс и захватить его FFmpeg, но и при этом варианте оказалась слишком большая нагрузка.
5f9520011fd0b018134842.jpeg

Возникло ощущение того, что VPS попросту не хватает видео памяти для обработки видео.
Был осуществлён переход на VPS c 256мб видео памяти на сервере с GPU.
Но и тут при тесте ожидало фиаско.
5f9521e41e6cc148118628.jpeg
5f9521edee312291767124.jpeg
Плюс ответ от службы поддержки хостера 1Gbru:
"то, что вы хотите, не будет работать на gpu того типа, что предоставляется в услуге что вы берете"

Теперь собственно суть вопроса, возможно кто-то сталкивался с подобной проблемой при захвате видео или может подсказать более подходящий инструмент? А возможно кто-то даже знает о неучтённой специфике происходящего.
Потому что остались просто самые экстремальные варианты в духе взять ПК с i5, GTX960 и превратить его в сервер.
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы