使用此命令:
avconv -f x11grab -s 2560x1440 -i :0.0
我可以从主显示器流式传输视频。我还有第二个 1080p 显示器,我用它来玩游戏。我想从那监视器。这不起作用:
avconv -f x11grab -s 1920x1080 -i :0.1
我假设我必须使用-i :0.0
并以某种方式指定它应该从 X 位置 2560 和 Y 位置 0 捕获 1920x1080 像素。我的游戏显示器放在主显示器的右侧。不幸的是,手册页avconv
很长,所以我自己没能弄清楚这一点。
我努力了
-vf
像crop
这样使用:
-vcodec libx264 ... -vf "crop=$IN_WIDTH:$IN_HEIGHT:2560:360"
但它只显示了主显示屏左上角的 1080p 视频。
答案1
x = your_left_monitor_x-size;
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 -threads 4 -y video.mp4
答案2
我估计一这样做。我的命令现在看起来像这样:
avconv \
-f x11grab -s "4480x1440" -r "30" -i :0.0 \
-vcodec libx264 -s "1280x720" -preset slow -vf "crop=1920:1080:2560:360"
这基本上捕捉到了两个都我的显示器并将输出裁剪到第二台显示器。我猜这会给我的电脑增加一些不必要的工作,但这是我迄今为止设法做到这一点的唯一方法。