Disponibile un nuovo aggiornamento per Switch Remote Play, lo strumento ci permette di riprodurre la console Switch da remoto o in locale tramite un altro dispositivo dotato di tastiera, mouse, controller o dispositivo touchscreen chiaramente ispirato a In-Home-Switching e SkyNX.
Questo nuovo aggiornamento aggiunge un nuovo menu per la configurazione del decoder, un menu contenente le opzioni di configurazione del controller e il supporto per l’utilizzo del controller X360.
L’obiettivo è quello di creare una comoda applicazione streamer/client da utilizzare per riprodurre in remoto i giochi per PC sulla console Switch.
In-Home-Switching e SkyNX offrono già la possibilità di farlo, tuttavia lamentano la mancanza di alcune funzionalità utili che sono state introdotte in Switch Remote Play.
Note
Il flusso video dipende dalla CPU poiché al momento utilizza l’opzione ffmpeg di hwaccel auto che di solito si traduce in ffmpeg che sceglie la CPU per il processo di cattura dello schermo.
Nella mia fase di prototipazione iniziale ho scoperto che la scelta dell’opzione GPU AMD per ffmpeg ha portato a risultati di streaming incoerenti. In futuro cercherò di rendere configurabile l’opzione hwaccel, ma per ora tieni presente che la CPU è importante.
Se stai giocando a un gioco ad alta intensità di CPU, c’è un’alta probabilità che lo streaming abbia salti o singhiozzi. Se la tua CPU è debole, sarà difficile produrre e spingere i frame abbastanza velocemente.
Per il mio PC, quando gioco a Nier Automata non ci sono intoppi e posso avvicinarmi a 60 fps a seconda delle impostazioni di streaming (risoluzione desktop 1280 x 720 e bitrate di 5 MB/s). Ma quando ho provato a giocare a Resident Evil 3 2020 a 30 o 56 fps ho avuto singhiozzi e salti. Quindi tienilo a mente.
Caratteristiche
♦ Presente ♦ Non presente
- Nessun arresto anomalo del sistema durante la sospensione (lo streaming si disconnetterà e l’applicazione è chiudibile).
- Applicazione desktop per ospitare il flusso di connessione remota.
- Trasmetti l’input dallo switch alla connessione remota.
- Streaming audio dalla connessione remota allo switch.
- Connetti automaticamente la console Switch e le applicazioni di flusso del PC.
- Disattiva automaticamente il PC quando l’audio è in streaming sullo Switch.
- Consenti la configurazione manuale del passaggio alla connessione PC.
- Configura le impostazioni di streaming dalla console switch.
- Disconnetti/ricollega stream a piacimento.
- Attiva la modalità di input con il mouse.
- Attiva la modalità di input per il controller DS4 (PS4).
- Attiva la modalità di input per il controller Xbox.
Switch-Project
Questo progetto consiste in un’applicazione scritta per la console Switch che decodificherà i dati stream ricevuti da FFMPEG e invierà il suo input a un’applicazione per emulare un controller. Il rendering viene eseguito con SDL2 e il progetto è scritto in C++.
Testato su:
- Atmosphère 0.14.1 – FW 10.1.0 (switch-remote-play 0.7.2).
- Atmosphère 0.16.2 – FW 10.1.0 (switch-remote-play 0.7.2).
Windows-Project
Questo progetto consiste in un’applicazione scritta per Windows che lancerà un flusso FFMPEG per codificare e inviare dati. L’applicazione, dopo aver avviato il flusso FFMPEG, ascolterà per ricevere i dati di input ed emulerà un controller tramite ViGEm Client SDK.
ViGEm Client SDK si aspetta che il driver del kernel ViGEm Bus sia installato sulla macchina per funzionare. Per maggiori informazioni sul codice del driver del kernel vedere la pagina gitHub di ViGEmBus. Per l’installazione del driver, vedere la repository di ViGEmBus.
Anche il progetto Windows è scritto in C++ e utilizza Winsock per la comunicazione socket con l’applicazione Switch.
Testato su:
- Windows 10 64 bit
- Ryzen 5 2600 3.4GHz
- AMD Radeon RX 5600 XT 6GB
- 16GB RAM
Problemi noti
Prestazioni in streaming
Le prestazioni di streaming dipendono fortemente dalla connettività di rete e dalle prestazioni della CPU del PC. Le impostazioni di configurazione dovranno essere riprodotte con Trova ciò che funziona bene con la tua rete + ambiente PC.
Si consiglia di giocare con i valori “Encoder Preset” e “Quality Control Factor” mantenendo il bitrate a 8192 o meno.
Suggerimenti generali
- Il valore preimpostato controlla come dovrebbe funzionare il codificatore: ultraveloce significa che il codificatore esegue per ottenere l’immagine il più velocemente possibile ignorando la qualità, e molto lento significa che il codificatore può impiegare del tempo per preservare la qualità dell’immagine.
- Il valore del codec può aiutare le prestazioni, tuttavia ho testato sia l’AMF che lo standard h264 e non ho notato molta differenza.
- Il fattore di controllo della qualità è ciò che controlla la qualità dell’immagine. Più basso è il valore, più il tuo PC deve lavorare per mantenere la qualità (questo valore e ‘Preset’ sono ciò che determinerà il carico di lavoro della CPU).
- Per maggiori informazioni vedere la documentazione di ffmpeg.
Esempi di configurazione
- Ottima configurazione della qualità dell’immagine:
- Preset – veryslow.
- Fattore di controllo della qualità – inferiore a 10 (0 = immagine perfetta).
- Bitrate – circa 5000-8000.
- Vsync Mode – frame rate variabile.
- Configurazione orientata alla latenza:
- Preset – ultrafast.
- Fattore di controllo qualità – 20+.
- Bitrate – circa 5000.
- Vsync Mode – frame rate variabile.
Non ho testato tutte le combinazioni di configurazione (e queste dipendono dalle specifiche del mio PC), quindi se ne trovi una che funziona alla grande, sentiti libero di inviarmela con le specifiche del tuo PC e la configurazione dell’ambiente di rete.
Raro arresto anomalo durante l’apertura di alcune app homebrew
Il problema di arresto anomalo nella v0.7.2 è stato trovato e corretto. (era dovuto al fatto che la funzione di rilevamento della rete non veniva arrestata correttamente).
L’app si arresta ancora in modo anomalo, tuttavia è più difficile riprodurla ora e non ho ancora trovato un modo corretto al 100% per riprodurre l’arresto anomalo.
L’attuale problema di arresto anomalo è raro e blocca hbloader/hbmenu solo quando si apre un’app dopo lo streaming per un certo periodo. Non posso riprodurlo ma per ora è andato. Se qualcuno capisce come riprodurre il bug, fammelo sapere.
Aggiornate le istruzioni con ulteriori informazioni sulla risoluzione dei problemi relativi al rilevamento automatico della rete (link esterno): https://github.com/Moehammered/switch-remote-play/blob/master/instructions/Instructions.md
Changelog v0.8.1
- Aggiunte opzioni extra nel menu di configurazione del controller.
- Il pulsante sinistro del mouse può essere mappato su uno qualsiasi dei pulsanti dorsali della Switch.
- Il pulsante destro del mouse può essere mappato su uno qualsiasi dei pulsanti dorsali della Switch.
Ora puoi praticamente controllare il PC eseguendo semplici attività con il solo joy-con sinistro o destro.
Changelog v0.8.0
- Riscritto come funziona il sistema di menu per rendere meno complicato aggiungere più schermate di configurazione.
- Aggiunto menu di configurazione del decoder.
- Sono disponibili le opzioni di decodifica che possono modificare il modo in cui lo Switch decodifica il flusso ffmpeg.
- Offre alcune buone opzioni di prestazioni per consentire flussi di qualità migliore.
- Aggiunte opzioni di configurazione del controller.
- Sensibilità del mouse spostata nella schermata Configurazione controller.
- Aggiunta opzione per attivare/disattivare se il mouse è la modalità di input predefinita durante la connessione del flusso.
- Aggiunta l’opzione Tipo di controller per scegliere tra controller X360 o DS4.
- Aggiunte opzioni di inversione dei pulsanti per XYAB.
- Aggiunto supporto controller X360 all’applicazione PC (grazie theosirian).
Changelog v0.7.4
- Aggiunta la sensibilità del mouse come opzione di configurazione.
- Le impostazioni di configurazione ora vengono salvate all’avvio di un flusso.
- Le ultime impostazioni di configurazione salvate vengono caricate all’avvio dell’applicazione.
[stextbox id=’info’]Nota: Questa versione include alcuni refactoring del polling di input per utilizzare le funzioni HID di LibNX aggiornate.[/stextbox]
Aggiunto il polling per Switch Gyro (utilizzando le funzioni HID deprecate per ora), tuttavia ViGEmSDK non supporta la funzionalità giroscopica, quindi non può ancora essere utilizzato. Dovrà ricercare un driver/SDK sostitutivo o supplementare per emulare un controller PS4.
Changelog v0.7.3
Questa versione corregge il crash dell’homebrew loader insieme ad altri bug. Include anche altre opzioni di configurazione.
- Aggiunte le opzioni Encoder Preset, Codec, Control Rate Factor e HWAccel ffmpeg all’app Switch.
- Corretto un bug nella mappatura dei controlli per le direzioni diagonali sul D-Pad che venivano capovolte accidentalmente.
- Velocità di trasmissione in ingresso aumentata da 60 fps a 100 fps.
- Interfaccia utente aggiornata per essere più concisa e fare spazio per le opzioni di configurazione aggiuntive.
Download: Switch Remote Play v0.8.1 (ZIP)
Download: Switch Remote Play v0.8.1 (7z)
Download: Source code Switch Remote Play v0.8.1
Fonte: gbatemp.net