使用 ffmpeg 即時串流桌面時的圖形工件(透過 UDP)

使用 ffmpeg 即時串流桌面時的圖形工件(透過 UDP)

我正在嘗試直播我的全螢幕應用程式並從同一網路中的另一台電腦查看它。

我使用這個命令來啟動串流媒體,它運作良好,我可以看到有 2/3 秒延遲的直播:

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

但是,當我嘗試播放影片時,有時我可以看到串流媒體的桌面背景(其中的一部分)有一些圖形偽影(我的應用程式處於全螢幕模式,您無法在真實的桌面背景上看到桌面背景)機器)。

我認為這不是與 UDP 流相關的問題,而是與螢幕擷取相關的問題(沒有其他圖形工件(例如綠幕)表明資料包遺失)。在串流期間,CPU 和 RAM 負載最小。

我在兩台機器上都使用 Ubuntu 16.04。

有一些標誌我可以嘗試解決“桌面背景工件”?

答案1

這個問題似乎是由串流媒體機上的 Cinnamon 引起的。 這裡同樣的問題

兩種可能的解決方案,都適合我:

  1. 更改DE。我嘗試了 Gnome3 和 Unity,串流媒體工作正常。
  2. 從 Nvidia 設定中停用「允許翻轉」選項。它讓我可以用肉桂來解決這個問題。例子

相關內容