Pokud mohu říci, neexistuje způsob, jak vybrat jednu obrazovku pro sdílení v aplikaci Linux Slack, když máte více než jednu obrazovku. Takže v mém nastavení na 3 obrazovky je sdílení obrazovky prakticky nepoužitelné.
Tak mě napadlo, jestli existuje způsob, jak „napálit“ Slacka (nebo jakoukoli jinou linuxovou aplikaci), aby si myslel, že mám pouze jednu obrazovku přes nějaký konfigurační soubor/proměnnou prostředí atd.?
Zkoušel jsem zamknout Slack na jednu obrazovku pomocí funkce KDE „Special Application Settings“, ale nepomohlo to.
Nějaké další návrhy?
Používám Kubuntu 18.04.
Díky!
Přijatá odpověď:
Není to moje odpověď, ale fungovalo to pro mě:
Našel jsem řešení pomocí „v4l2loopback“. Podobně jako v následujícím textu, pomocí „v4l2loopback“ může ffmpeg odeslat film zachycený na obrazovce do zařízení v4l2. Poté můžete v aplikaci Slack sdílet svou obrazovku jako vstup fotoaparátu.
$ sudo modprobe v4l2loopback exclusive_caps=1
$ ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 \
-i :0.0+0,0 -f v4l2 -vcodec rawvideo -pix_fmt rgb24 /dev/video1
- Změňte „1920×1080“ na velikost obrazovky, kterou chcete zachytit.
- Změňte „+0,0“ na počáteční bod obrazovky.
- Změňte
/dev/video1
do vašeho zařízení v4l2loopback vytvořenéhosudo modprobe v4l2loopback exclusive_caps=1
.
Pokud tedy vytvoříte /dev/video1
od v4l2loopback a mají dvě obrazovky monitoru velikosti „1920×1080“ vlevo a vpravo.
Pro získání levé obrazovky:
$ ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 -i :0.0+0,0 -f v4l2 \
-vcodec rawvideo -pix_fmt rgb24 /dev/video1
Pro získání správné obrazovky:
$ ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 -i :0.0+1920,0 -f v4l2 \
-vcodec rawvideo -pix_fmt rgb24 /dev/video1
Tento kolega také vytvořil následující nástroj příkazového řádku pro snazší provádění těchto příkazů:https://github.com/BlueSkyDetector/set_v4l2loopback_screen
Poznámky:
-
Musel jsem nainstalovat
v4l2loopback-dkms
na Ubuntu 18.04:$ sudo apt-get install v4l2loopback-dkms
-
modprobe
vytvořeno/dev/video0
pro mě, protože nemám nainstalovanou žádnou jinou kameru