Screen Capture - CESNET/UltraGrid GitHub Wiki

You can grab computer screen and send it with UltraGrid.

Linux, macOS and Windows

In Linux, macOS and currently also Windows there is screen capture card you can use to capture desktop:

uv -t screen <receiver>

Those capturers have options to specify at least FPS, see -t screen:help for individual options.

Only Linux with Wayland (using PipeWire) currently supports capturing individual windows.

Windows remarks

Windows screen capture works via DirectShow as described in further section so that it behaves slightly different, see following notes:

  • If "screen-capture-recorder" DirectShow filter is not registered, UltraGrid tries to register by itself, and for that it asks superuser privileges. After installing, UG runs a new process as a regular user. The filter stays installed but can be unregistered by running uv -t screen:unregister. Alternatively you can install the filter manually as described below.
  • Whole screen is captured, separate window is very limited (contact us for details).
  • Options added to the capturer like capture_width are persistent because those are written to Windows registers. All preferences can be purged by -t screen:clear_prefs.

Manual Windows setup

In current version of UltraGrid, the screen capture can be used similarly as with other platforms described above (although it internally still uses the mechanism described below). For manual DirectShow filter setup please read bellow.

Via DirectShow grabber

You can use DirectShow filter which can be obtained as a part of this package. After installing that, one of DirectShow capture devices will be "screen-capture-recorder". Provided that it is first device (determined by "uv -t dshow:help"), you should be capture with following command:

uv -t dshow:1 <receiver>

Note: In Windows 7 you may want to disable Aero for better performance (Start->Control panel->Appearance and Personalization->Personalization and select "Windows 7 Basic" instead of "Windows 7").

Customizing video properties

The screen-capture-recorder DirectShow capture filter goes with predefined frame rate 30 and also capped video dimensions. This, however, can be increased by changing values in Windows register (eg. using regedit) – find a key HKEY_CURRENT_USER\Software\screen-capture-recorder (create if unset) and in that, you can add following DWORD subkeys:

  • default_max_fps
  • capture_width
  • capture_height

For more details you can refer here. More parameters that can be set by the regedit can be found in this Ruby source (members of array Settings).

⚠️ **GitHub.com Fallback** ⚠️