該方案能夠解決的問題
1、遠端連線不受距離限制,透過tailscale實現,但是一定要保證網路的穩定
2、免費高畫質串流,透過sunshine和moonlight實現
3、安全,本方案中安全指的是遠端的電腦螢幕在串流期間能夠保持黑屏,能有效保護隱私,透過ParsecVDisplay誘騙電腦分屏實現
1、基本原理
透過上面的幾個工具,大概能夠推測出實現的原理 串流指的是將遠端計算機的桌面環境、應用程式介面、音訊和滑鼠鍵盤輸入等實時傳輸到另一臺計算機或裝置的過程。 在本方案中,透過ParsecVDisplay誘騙遠端的分屏,然後將分屏串流到本地電腦,串流透過sunshine和moonlight實現。 在電腦上設定只在分屏顯示,就可以實現主螢幕全程黑屏,保護隱私。然後透過tailscale將兩個裝置拉到同一個虛擬區域網中,實現不受距離限制的遠端連線。
基本原理如下圖所示(畫的比較糙了)

相較於已有的方法,這個設定起來比較麻煩,但是免費、高畫質和安全還是非常誘人的。
同時,這個方案有一個非常之名的缺點,這是由於分屏工具的一個BUG引起的。需要按照嚴格步驟才能防止意外地發生。
2、工具安裝
這個工具的安裝沒有什麼特別的,按照步驟進行安裝即可,,可以點選下面的連結找到工具下載地址,如果是在Windows的環境中執行,可以按照圖中的版本進行下載,實測有效。
注意: 1、sunshine要安裝在遠端的電腦上
2、moonlight要安裝在本地的電腦上
3、ParsecVDisplay要安裝在遠端的電腦上
4、tailscale在兩個電腦上都要安裝,註冊完成後,登陸同一個賬號即可
3、實施步驟
在工具安裝完成後,我們能夠實現基本的串流,然後就是我們方案的實施
3.1、透過moonlight遠端連線電腦
開啟moonlight,在右上角點選新增計算機,然後在框中輸入遠端主機的IP地址即可。

關於ip地址的獲取:Win+R,輸入cmd,回車,輸入ipconfig,回車,找到IPv4地址即可。

同時為了能夠更好的實現遠端的連線推薦使用tailscale安裝完成後分配的地址嗎,這樣可以實現更穩定的遠端連線,電腦的ip地址離開區域網之後就不能用了。會自動更換其他地址,這會導致遠端連線的失敗。
點選計算機列表中需要遠端的電腦,第一次需要輸入一個驗證碼,看到驗證碼後,在遠端主機點選sunshine彈出的框,在框中輸入就行。

輸入完成後,就能實現最基本的電腦遠端了。
設定分屏
保持遠端連線的狀態下,開啟ParsecVDisplay,右下角新增分屏,不過要記住分屏的名稱

需要注意的是,分屏名稱會發生變化,這也是 必要按照這個步驟執行的原因
設定sunshine串流的螢幕為分屏
開啟sunshine
在配置中選擇Audio/Video,將輸出名稱改成之前設定分屏的名稱,然後重啟sunshine


這個時候會斷連一次
重新moonlight遠端連線電腦
等待遠端電腦的感嘆號消失,連線回復正常,連線遠端電腦

設定只在屏2顯示
在設定裡設定螢幕只在屏2顯示,然後就可以實現遠端電腦全程黑屏了。

結束連線
先在設定中將原本的只在屏2顯示改成複製這些螢幕,然後關閉ParsecVDisplay,然後將遠端的電腦鎖定,保證下次能正常連線。

之後用ctrl+alt+shift+Q退出moonlight就可以了
只有按照上部步驟才能實現穩定連線,不然分屏工具會隨機改變分屏名稱,這是導致出現意外地原因,可以使用其他分屏工具進行實驗 還有關於tailscale的配置和安裝,可以參照相關教程
總結
這件事的靈感來源於跟師兄的聊天,由於初次接觸遠端連線,感覺很有趣,然後產生了能不能保護隱私的想法,從網上沒找到合適方案。由此問師兄,師兄說不能實現嗎,串流本質就是投屏,螢幕亮著才能實現嗎,然後我就想起了可以藉助分屏工具實現,最後測試一番才成功。 個人感覺很有趣,但是限制比較多,也很容易失敗,但是也很實用不是嗎。



