Я могу нормально запустить экземпляр xvfb
Xvfb :1 -screen 0 800x600x24
Затем я могу запустить firefox и загрузить его правильно, но окно всегда меньше разрешения, которое я установил во время команды xvfb.
firefox http://www.ebay.com --display=:1
Вы можете видеть черную полосу, это полное разрешение. Похоже, что он соответствует тому, что хочет страница, но никогда не заполнит ее полностью.
Вот решение, не красивое, но работает. Использует xdotool
для установки размера после запуска Firefox
.
Сначала:
xdotool search --onlyvisible firefox
Это отобразит идентификатор одного окна, windowid
. Затем:
xdotool windowmove windowid 0 0
xdotool windowsize windowid 1280 720
Сначала вы должны выполнить windowmove
, а затем следовать windowsize
.
В некоторых случаях, как только я это сделал, размер и положение были правильными навсегда, в других случаях приходилось запускать снова каждый раз, когда я бегал Firefox
.
Предположим, что граница есть, и компенсируйте соответственно при захвате. Если вам нужно 1024x768, установите размер экрана 1034x778 и снимите 1024x768
Xvfb :1 -screen 0 1034x778x24 > /dev/null &
ffmpeg -t 1 -s 1024x768 -f x11grab -i :1.0+10,10 -f mjpeg screenshot.png