Artefato gráfico durante a transmissão ao vivo da área de trabalho com ffmpeg (via UDP)

Artefato gráfico durante a transmissão ao vivo da área de trabalho com ffmpeg (via UDP)

Estou tentando transmitir ao vivo meu aplicativo em tela cheia e visualizá-lo em outra máquina na mesma rede.

Estou usando este comando para iniciar a transmissão, funciona bem e consigo ver a transmissão ao vivo com 2/3 segundos de atraso:

ffmpeg -video_size 1920x1080 -r 10 -f x11grab -i :0.0 -f mpegts -b:v 4096k udp://othermachineaddress:8554

Mas quando tento reproduzir o vídeo às vezes consigo ver alguns artefatos gráficos com o fundo da área de trabalho (alguma parte dela) da máquina de streaming (que tem meu aplicativo na modalidade tela cheia, você não consegue ver o fundo da área de trabalho no real máquina).

Suponho que não seja um problema relacionado ao fluxo UDP, mas sim à captura de tela (não há outro artefato gráfico como a tela verde que sugira perda de pacotes). Durante o streaming, a carga da CPU e da RAM é mínima.

Estou usando o Ubuntu 16.04 em ambas as máquinas.

Existem alguns sinalizadores que posso tentar resolver o "artefato de fundo da área de trabalho"?

Responder1

Este problema parece ser causado pelo Cinnamon na máquina de streaming. Mesmo problema aqui

Duas soluções possíveis, ambas funcionam para mim:

  1. Mude o DE. Eu tentei o Gnome3 e o Unity, o streaming funciona bem.
  2. Desative a opção "Permitir inversão" nas configurações da Nvidia. Isso me permite resolver o problema com o Cinnamon.Exemplo

informação relacionada