J'utilise Xvfb pour démarrer le serveur X sur l'écran 1 et x11vnc est également configuré pour -display :1 avec fluxbox comme gestionnaire de fenêtres sur Ubuntu 20.04 LTS en utilisant les commandes ci-dessous.
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
et quand je lance la commande :
ffmpeg -video_size 1440x1080 -framerate 25 -f x11grab -i :1.0 -c:v libx264rgb -crf 0 -preset ultrafast sample.mp4
il s'exécute, mais lorsque je l'exécute de manière programmatique via processbuilder, je vois que dans le fichier journal du flux tampon de sortie :1 : Invalid argument and doesn't start recording,
La commande envoyée à processBuilder est la suivante :
pb = new ProcessBuilder(ffmpegLocation,
"-video_size", "1440x1080x16",
"-f", "x11grab",
"-i", ":1",
"-c:v libx264 -crf 0 -preset ultrafast",
"-framerate","25",
outputfilepath());
-J'ai essayé de définir la variable d'environnement comme export. DISPLAY=:1
mais toujours la même erreur. De plus, dois-je définir l'option DISPLAY=:1
Cela fonctionnait en utilisant avconv sur une ancienne version d'Ubuntu mais je suis bloqué sur le problème d'affichage pour ffmpeg, quelqu'un a une idée de comment résoudre ce problème ?