Grafikartefakt beim Live-Streaming des Desktops mit ffmpeg (über UDP)

622
Andrea Grossi

Ich versuche, meine Vollbildanwendung live zu streamen und von einem anderen Computer im selben Netzwerk aus anzuzeigen.

Ich benutze diesen Befehl, um das Streaming zu starten, es funktioniert gut und ich kann den Livestream mit einer Verzögerung von 2/3 Sekunden sehen:

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

Wenn ich jedoch versuche, das Video abzuspielen, kann ich manchmal Grafik-Artefakte mit dem Desktop-Hintergrund (ein Teil davon) der Streaming-Maschine (die meine Anwendung im Vollbildmodus hat, sehen. Sie können den Desktop-Hintergrund nicht auf der Realität sehen.) Maschine).

Ich nehme an, dass dies kein Problem im Zusammenhang mit dem UDP-Stream ist, sondern bei der Bildschirmaufzeichnung (es gibt kein anderes grafisches Artefakt wie einen grünen Bildschirm, der auf einen Paketverlust hindeutet). Während des Streamings ist die CPU- und RAM-Last minimal.

Ich verwende Ubuntu 16.04 auf beiden Computern.

Es gibt einige Flags, die ich versuchen kann, das "Desktop-Hintergrund-Artefakt" aufzulösen.

0
Hinweis: Bitte veröffentlichen Sie Ihre Änderungen in einer Antwort. Auf diese Weise ist die Lösung für das Problem viel sichtbarer Tiago Caldeira vor 6 Jahren 0

1 Antwort auf die Frage

0
Andrea Grossi

Dieses Problem scheint von Zimt auf der Streaming-Maschine verursacht zu sein. Selbes Problem hier

Zwei mögliche Lösungen, beide funktionieren für mich:

  1. Ändern Sie die DE. Ich habe sowohl Gnome3 als auch Unity ausprobiert, Streaming funktioniert einwandfrei.
  2. Deaktivieren Sie in den Nvidia-Einstellungen die Option "Flipping zulassen". Damit kann ich das Problem mit Cinnamon beheben. Beispiel