web-dev-qa-db-ja.com

Slackをだましてマルチモニターがないと考えさせる

私が知る限り、複数の画面がある場合、Linux Slackアプリで共有する単一の画面を選択する方法はありません。したがって、私の3つの画面設定では、画面共有は実質的に使用できません。

したがって、Slack(または他のLinuxアプリ)を「だまして」、ある種の構成ファイルや環境変数などを介して1つの画面しかないと考える方法があるのだろうかと思いました。

KDEの「特別なアプリケーション設定」機能を使用してSlackを1つの画面にロックしようとしましたが、それはできませんでした。

他に何か提案はありますか?

Kubuntu 18.04を実行しています。

ありがとう!

11
exfizik

私の答えではありませんが、 this は私のために働きました:

「v4l2loopback」を使用して回避策を見つけました。以下のように、「v4l2loopback」を使用することにより、ffmpegは画面キャプチャされたムービーをv4l2デバイスに出力できます。次に、Slackアプリケーションで、画面をカメラ入力として共有できます。

$ 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
  • 「1920x1080」をキャプチャしたい画面サイズに変更します。
  • 「+0,0」を画面の始点に変更します。
  • /dev/video1Sudo modprobe v4l2loopback exclusive_caps=1によって作成されたv4l2loopbackデバイスに変更します。

したがって、v4l2loopbackで/dev/video1を作成し、左と右に2つの「1920x1080」サイズのモニター画面があるとします。

左の画面を取得するには:

$ ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 -i :0.0+0,0 -f v4l2 \
 -vcodec rawvideo -pix_fmt rgb24 /dev/video1

正しい画面を取得するには:

$ ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 -i :0.0+1920,0 -f v4l2 \
  -vcodec rawvideo -pix_fmt rgb24 /dev/video1

フェローは、これらのコマンドをより簡単に実行するための次のコマンドラインツールも作成しました。 https://github.com/BlueSkyDetector/set_v4l2loopback_screen

注:

  • Ubuntu 18.04にv4l2loopback-dkmsをインストールする必要がありました。

    $ Sudo apt-get install v4l2loopback-dkms

  • 他のカメラがインストールされていないため、modprobe/dev/video0を作成しました

1
mistapink