web-dev-qa-db-ja.com

avconvを使用して2番目のモニターをキャプチャするにはどうすればよいですか?

このコマンドで:

avconv -f x11grab -s 2560x1440 -i :0.0

メインモニターからビデオをストリーミングできます。また、ゲームを行う2番目の1080pモニターもあります。 thatモニターからストリーミングしたい。これは機能しません:

avconv -f x11grab -s 1920x1080 -i :0.1

-i :0.0を使用する必要があると想定し、X位置2560とY位置0から1920x1080ピクセルをキャプチャするように指定します。ゲームモニターはメインモニターの右側に配置されています。残念ながら、avconvのマニュアルページは何マイルも長いので、これを自分で理解することはできませんでした。

私が試してみました

-vfcropとともに次のように使用します。

-vcodec libx264 ... -vf "crop=$IN_WIDTH:$IN_HEIGHT:2560:360"

しかし、それは私のメインディスプレイの左上隅から1080pのビデオしか表示しませんでした。

2
Hubro

x = your_left_monitor_x-サイズ;
y = if_you_want_to_crop_from_top/bottom;
bitrate = 8192;
avconv -f alsa -i Pulse -acodec libmp3lame -ab 192k -f x11grab -r 60 -s 1920x1080 -i:0.0 + $ {x}、$ {y} -vcodec libx264 -vb $ {bitrate} kスレッド4-y video.mp4

1
Dorian MJ

私はそれを行うための1つの方法を考え出しました。私のコマンドは次のようになります。

avconv \
  -f x11grab -s "4480x1440" -r "30" -i :0.0 \
  -vcodec libx264 -s "1280x720" -preset slow -vf "crop=1920:1080:2560:360"

これは基本的に両方私のモニターをキャプチャし、出力を2番目のモニターにトリミングします。これにより、PCに不要な作業が追加されると思いますが、これまでのところ、これが唯一の方法です。

1
Hubro