Vn c с WebRT C для удаленного управления экраном - PullRequest
0 голосов
/ 18 марта 2020

Обзор

Можно ли использовать VN C (RFB) с WebRT C для реализации дистанционного управления экраном с использованием Node Js? Я получаю кадры удаленного экрана из RFB и хочу преобразовать его в MediaStream, а затем отправить на сторону клиента. Я пытался найти какое-либо решение в net, но не нашел ничего, что я мог бы использовать.

Возможные решения, которые я нашел

  1. ffmpeg кодирование кадров (я не уверен, что могу кодировать кадры в нечто подходящее для MediaStream)
  2. поместить кадры в элемент canvas, а затем записать их в MediaStream

Основной вопрос

Как кодировать кадры rfb, подходящие для Mediastream и WebRT C

То, что я использовал до сих пор

Я просто преобразовываю rfb-кадры в картинки png, отправляю клиенту и визуализирую его, используя canvas. Проблема - низкая частота кадров, довольно большая задержка

Есть ли другие решения, кроме WebRT C?

1 Ответ

0 голосов
/ 18 марта 2020

Я думаю, WebRT C - отличное решение для этого, этот проект с открытым исходным кодом neko уже делает это. Они не используют VN C (но вместо этого используют GStreamer для захвата X11), но это вполне возможно изменить.

Поскольку png без потерь, вы тратите на это большую пропускную способность, если возможно, я бы кодировать в VPx или H264.

Вы транспортируете эти png через канал данных? Я бы также использовал RTP, если это возможно. Браузер откажется от поздних кадров (и других оптимизаций), чтобы убедиться, что вы получаете лучший опыт.

...