Estou tentando passar o buffor Xvfb diretamente para o ffmpeg dentro do Docker. Esta é uma abordagem que me oferece benefícios muito grandes de desempenho.
É assim que eu faço:
Xvfb escreve a saída da tela:
sudo Xvfb $DISPLAY -ac -screen 0 1680x900x24 -fbdir /tmp/screen/test.xwd > /dev/null 2>&1 &
comando ffmpeg read:
ffmpeg -hide_banner -loglevel debug -loop 1 ' \
'-re -i /tmp/screen/test.xwd ' \
'-f alsa -i default -strict -2 -ac 2 -preset ultrafast -f ' \
'-c:av copy ' \
'output_file.mkv'
O problema é: o ffmpeg perdeu muitos quadros e o vídeo deve ter 3 minutos de duração, mas é metade do tempo esperado (o vídeo acelera em algum momento). No vídeo a seguir, você pode ver o problema: link
Eu acho que há um problema com o comando ffmpeg e isso requer alguns ajustes, mas não tenho idéia de como configurá-lo corretamente.
Obrigado!