Я использую Xvfb для запуска X-сервера на дисплее 1, а x11vnc также установлен для -display: 1 вместе с fluxbox в качестве оконного менеджера в Ubuntu 20.04 LTS, как показано ниже commands
sudo -i -u ubuntu Xvfb :1 +extension GLX -screen 0 1440x1080x16 -ac
sudo -i -u ubuntu DISPLAY=:1 fluxbox
sudo -i -u ubuntu x11vnc -forever -display :1
, и когда я запускаю команду:
ffmpeg -video_size 1440x1080 -framerate 25 -f x11grab -i :1.0 -c:v libx264rgb -crf 0 -preset ultrafast sample.mp4
, она запускается, однако, когда я выполняю программно через processbuilder, я вижу, что в файле журнала потока выходного буфера: 1: Неверный аргумент и запись не начинается,
Команда отправлена to processBuilder, как показано ниже:
pb = new ProcessBuilder(ffmpegLocation,
"-video_size", "1440x1080x16",
"-f", "x11grab",
"-i", ":1",
"-c:v libx264 -crf 0 -preset ultrafast",
"-framerate","25",
outputfilepath());
-FYI Я попытался установить переменную окружения как export DISPLAY =: 1
, но все еще та же ошибка, и мне также нужно установить DISPLAY =: 1
, так как я настраиваю номер дисплея при запуске Xvfb? Раньше это работало с использованием avconv в более старой версии Ubuntu, но я застрял на отображении проблемы с ffmpeg, кто-нибудь знает, как ее решить?
Обновление: изменение video_size
на 1440x1080 помогло.