Artefacto gráfico durante la transmisión en vivo del escritorio con ffmpeg (a través de UDP)

Artefacto gráfico durante la transmisión en vivo del escritorio con ffmpeg (a través de UDP)

Estoy intentando transmitir en vivo mi aplicación en pantalla completa y verla desde otra máquina en la misma red.

Estoy usando este comando para iniciar la transmisión, funciona bien y puedo ver la transmisión en vivo con 2/3 segundos de retraso:

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

Pero cuando intento reproducir el video, a veces puedo ver algunos artefactos gráficos con el fondo del escritorio (una parte del mismo) de la máquina de transmisión (que tiene mi aplicación en modalidad de pantalla completa, no se puede ver el fondo del escritorio en la pantalla real). máquina).

Supongo que no es un problema relacionado con el flujo UDP sino con la captura de pantalla (no hay ningún otro artefacto gráfico como una pantalla verde que sugiera pérdida de paquetes). Durante la transmisión, la carga de CPU y RAM es mínima.

Estoy usando Ubuntu 16.04 en ambas máquinas.

¿Hay algunas opciones que puedo intentar para resolver el "artefacto de fondo del escritorio"?

Respuesta1

Este problema parece ser causado por Cinnamon en la máquina de transmisión. El mismo problema aqui

Dos posibles soluciones, ambas funcionan para mí:

  1. Cambie el DE. Probé tanto Gnome3 como Unity, la transmisión funciona bien.
  2. Desactive la opción "Permitir volteo" en la configuración de Nvidia. Me permite solucionar el problema con Cinnamon.Ejemplo

información relacionada