optimization
This commit is contained in:
20
README.md
20
README.md
@@ -1,8 +1,11 @@
|
||||
# OBS WebKit Browser Source (без CEF)
|
||||
|
||||
Нативный input source для OBS Studio на Alpine Linux. Страницы рендерит системный
|
||||
WebKitGTK 4.1 в отдельном процессе на приватном Xvfb-дисплее; Chromium/CEF в проекте
|
||||
нет. Кадры передаются в OBS напрямую как BGRA, без FFmpeg и захвата рабочего стола.
|
||||
WebKitGTK 4.1 в отдельном процессе; Chromium/CEF и Xvfb в проекте нет. Renderer
|
||||
использует X11/XWayland-сессию OBS и держит WebView в полностью прозрачном
|
||||
неинтерактивном нативном окне. Нативная surface нужна WebKitGTK для импорта GPU
|
||||
DMA-BUF. Кадры передаются в OBS напрямую как BGRA, без FFmpeg и захвата рабочего
|
||||
стола.
|
||||
|
||||
Поддерживается:
|
||||
|
||||
@@ -10,18 +13,17 @@ WebKitGTK 4.1 в отдельном процессе на приватном Xvf
|
||||
- прозрачный фон с alpha-каналом;
|
||||
- пользовательский CSS;
|
||||
- размер 2–8192 px и 1–60 FPS;
|
||||
- аппаратный WebKit compositor через DRM/DMA-BUF (Mesa `radeonsi` на AMD),
|
||||
при этом Xvfb используется только как изолированный невидимый дисплей;
|
||||
- прямой XShm-захват итогового кадра Xvfb для непрозрачных страниц и
|
||||
XComposite/XShm-захват с alpha для прозрачных;
|
||||
- XDamage-пропуск чтения framebuffer, пока содержимое страницы не меняется;
|
||||
- аппаратный WebKit compositor через DRM/DMA-BUF (Mesa `radeonsi` на AMD);
|
||||
- прямой XComposite/XShm-захват скомпозированного GPU-кадра с alpha;
|
||||
- XDamage-пропуск чтения backing pixmap, пока содержимое страницы не меняется;
|
||||
- shared-memory транспорт кадров без многомегабайтной записи в pipe;
|
||||
- мышь, прокрутка, фокус и базовый ввод с клавиатуры через окно Interact OBS;
|
||||
- перезагрузка страницы и остановка renderer-процесса у скрытого source.
|
||||
|
||||
Звук страницы намеренно выключен: добавьте в OBS отдельный Application Audio Capture.
|
||||
Renderer всегда использует отдельный приватный Xvfb-дисплей и не создаёт окон на
|
||||
рабочем столе. WebKit принудительно включает аппаратный compositor и выбирает доступный
|
||||
Renderer наследует X11/XWayland-дисплей OBS; его нативное окно имеет нулевую opacity,
|
||||
пустую input shape и не появляется на рабочем столе. Дополнительный display server не
|
||||
запускается. WebKit принудительно включает аппаратный compositor и выбирает доступный
|
||||
DRM render node; для него нужен доступ к `/dev/dri/renderD*`.
|
||||
Для тяжёлого полноэкранного `filter: blur()` всё ещё разумно выбирать реальный размер
|
||||
виджета вместо рендера 4K/1080p с последующим уменьшением в сцене. Пользовательские
|
||||
|
||||
Reference in New Issue
Block a user