[Scena Switch] Rilasciato SysDVR v3.0

Disponibile un nuovo aggiornamento per il modulo di sistema personalizzato SysDVR, il sysmodule sviluppato dal developer exelix11 ci permette di catturare l’output dei giochi in esecuzione su console Switch.

Questa nuova versione aggiunge lo streaming RTSP. ciò significa che ora l’audio e il video saranno finalmente sincronizzati. Ci saranno anche altri player, come OBS Studio. Tuttavia mpv è ancora raccomandato (non usare VLC). Un lettore compatibile con RTSP può essere utilizzato anche per connettersi direttamente alla Switch nella rete locale.

“UsbStream” è stato inoltre rinominato in “SysDVR-Client” e la vecchia modalità di streaming TCP è stata rimossa.

Caratteristiche e limitazioni

  • La qualità video è fissata a 720p @30fps con compressione h264 (limite hardware).
  • La qualità audio è fissata su stereo PCM a 16 bit a 48 kHz. Non compresso.
  • Funziona solo su giochi con registrazione video abilitata (ad esempio puoi premere a lungo il pulsante di acquisizione per salvare un video).
  • Il video e l’audio sono due flussi diversi, probabilmente si desincronizzano poiché richiedono due diverse istanze del lettore. VLC supporta un flusso audio secondario ma non sono riuscito a farlo funzionare correttamente.
  • Cattura solo l’output di gioco. L’interfaccia utente del sistema, il menu principale e gli homebrew in esecuzione come applet non verranno acquisiti.
  • Il feed video non è in tempo reale, ci sarà sempre un ritardo di almeno 1 secondo.
  • La qualità del flusso dipende fortemente dall’ambiente, i cavi USB difettosi o il basso segnale wifi possono influire in modo significativo.
  • Lo streaming USB non è disponibile quando collegato.
  • Richiede firmware >= 6.0.0.

Chiaramente con queste limitazioni questo sistema non consente la “riproduzione remota” e non sostituisce una scheda di acquisizione.

Guida

Nota: Questa guida è solo per la versione 3.0 di SysDVR, se si desidera utilizzare una versione precedente fare riferimento a questa guida.

Impostazione del sysmodule

Nota: Prima di continuare assicuratevi di utilizzare l’ultima versione di atmosphere (altri Custom Firmware dovrebbero funzionare bene anche, ma non viene fornito alcun supporto).

Sono due le versioni che si possono attualmente scaricare:

  • SysDVR.zip è la versione “completa”, può eseguire lo streaming utilizzando entrambe le modalità di rete e USB e viene fornita con un’app homebrew per passare da una all’altra.
  • SysDVR-USB-Only.zip eseguirà lo streaming solo tramite USB ma utilizza meno memoria e dovrebbe funzionare insieme a più sysmodule.

Si consiglia di utilizzare la versione completa a meno che non si disponga di requisiti specifici.

Scegliere e scaricare una delle build ed estrarla all’interno della scheda SD, il file .zip contiene già la struttura dei file corretta. Se hai aggiunto il modulo con la console accesa, dovrai riavviare la console per caricare il modulo.

Per impostazione predefinita, SysDVR eseguirà lo streaming su RTSP (rete), per passare da una modalità all’altra e impostare quella predefinita è possibile utilizzare l’homebrew Impostazioni SysDVR incluso nell’archivio.

Modalità streaming

Ci sono 3 diverse modalità di streaming, ognuna con punti di forza e punti di debolezza diversi qui spiegati dal più semplice da configurare al più coinvolto.

Si consiglia di utilizzare mpv player in quanto è il più semplice da configurare, anche altri player possono funzionare ma non li sto supportando.

Lo streaming funziona solo mentre è in esecuzione un gioco compatibile, ciò significa che prima di poter eseguire lo streaming è necessario avviare il gioco.

Per le modalità streaming di rete si consiglia di utilizzare un adattatore LAN o almeno un wifi da 5 GHz, 2,4 GHz va bene anche se la ricezione è ottima sia per console Switch che per PC.

Modalità RTSP di rete

Questa modalità è la più semplice da configurare, selezionare Stream over RTSP all’interno delle configurazioni. Per iniziare lo streaming, aprire il prompt dei comandi nella directory mpv ed eseguire il comando mpv rtsp://<SwitchIpAddress>:6666/, (sostituire <SwitchIpAddress> con l’indirizzo IP della console).

Il server RTSP in SysDVR supporta due modalità, TCP e UDP, questo di solito non importa ma ho trovato programmi diversi che si collegheranno usando modalità diverse, ad esempio mpv utilizzerà sempre TCP mentre obs proverà prima UDP e poi TCP.

A seconda del tuo ambiente di rete, puoi trovare uno con prestazioni peggiori rispetto agli altri, quindi dovrai testare quale funziona meglio per te.

In mpv puoi forzare la modalità udp eseguendo il comando: mpv rtsp://<SwitchIpAddress>:6666/ --rtsp-transport=udp.

Nota: Su Windows 10, in passato ho consigliato di utilizzare la modalità hotspot di Windows 10 nel caso in cui non si disponga di un adattatore LAN, si scopre che il firewall di Windows bloccherà i pacchetti UDP dallo switch se lo streaming via UDP, come soluzione alternativa è possibile eseguire lo streaming solo tramite TCP o disabilitare temporaneamente il firewall di Windows durante lo streaming.

Installazione del client SysDVR

Le seguenti modalità richiedono SysDVR-Client (precedentemente chiamato UsbStream, è stato rinominato in quanto ora viene utilizzato anche per una delle modalità di rete).

Il file SysDVR-Client.7z, contiene due eseguibili:

  • SysDVR-Client.exe è il vero client, funziona su PC Windows, Linux e Mac, è un’applicazione da riga di comando, quindi potrebbe essere un po’ difficile da usare per alcuni utenti.
  • SysDVR-ClientGUI.exe questo è un launcher grafico per SysDVR-Client, questo è solo per Windows ed è pensato per rendere le cose più facili per gli utenti meno esperti.

Nota: Per poter eseguire SysDVR-Client avrete bisogno di .NET core 3, nota che non è lo stesso del framework .NET che potreste aver già installato in passato.

Il vantaggio principale di .NET Core è che funziona anche su Linux e Mac, quindi potrete utilizzare anche SysDVR-Client.

Su PC Windows potrete avviare SysDVR-Client semplicemente digitando il suo nome nel prompt dei comandi, per gli utenti linux/mac dovrete digitare dotnet UsbStream.dll e aggiungere successivamente gli argomenti.

Su Windows potrete scegliere di utilizzare anche SysDVR-ClientGUI, configurerà automaticamente le modalità di streaming da un’interfaccia utente intuitiva e creerà scorciatoie per esse.

Modalità Network TCP Bridge

In questa modalità SysDVR andrà ad inviare dati audio e video a SysDVR-Client e li trasmetterà entrambi come server RTSP.

Ci sono due vantaggi con questo approccio, in primo luogo è possibile scegliere di trasmettere in streaming solo un canale (in modo da ottenere una maggiore larghezza di banda) e in secondo luogo tutto l’overhead RTSP viene gestito dal PC in modo che funzioni leggermente meglio, soprattutto quando si utilizza un sistema Wi-Fi non molto veloce.

Per utilizzare questa modalità selezionare Stream over TCP Bridge in SysDVR Config.

Ora, se stai usando SysDVR-ClientGUI, selezionare TCP Bridge (Relay network via RTSP), digitare l’indirizzo IP della console Switch (che si trova nelle impostazioni), selezionare il percorso mpv e fare clic su launch. Tra qualche secondo dovrebbe iniziare lo streaming.

Per SysDVR-Client dovrete avviarlo in questo modo, digitare: SysDVR-Client bridge <switch ip address> (sostituire <switch ip address> con l’indirizzo IP della console), non è necessaria alcuna porta.

Una volta in esecuzione potrete eseguire mpv da un altro terminale come questo: mpv rtsp://127.0.0.1:6666/ (questa volta 127.0.0.1 è l’indirizzo IP locale fisso del PC e non è necessario sostituirlo).

Streaming USB

Per lo streaming via USB è necessario selezionare Stream over USB in SysDVR Config o scaricare la versione USB-Only.

Ora per lo streaming via USB è necessario configurare il driver personalizzato. Questo passaggio è necessario solo la prima volta e non interferirà con altri homebrew USB poiché utilizza un ID dispositivo personalizzato.

Configurazione del driver su Windows

Collegare la Switch al PC mentre si esegue SysDVR in modalità USB ed eseguire zadig, installare il driver libusb-win32 per il dispositivo SysDVR (Nintendo Switch).

Prima di installare assicuratevi che l’ID USB del dispositivo di destinazione sia 057e 3006, se diverso il sysmodule potrebbe non essere in esecuzione, provare ad attendere un po’ (dovrebbe avviarsi circa 20 secondi dopo l’avvio della console) o ricontrollate la configurazione.

Ciò non andrà ad interferire con altre applicazioni che comunicano con la console Switch tramite USB poiché questo sistema utilizza un ID prodotto diverso.

Libusb richiede le ultime Libs ridistribuibili di Microsoft C++, spesso sono già installate su Windows ma in caso di problemi con lo streaming Usb potrete scaricarle da qui, a seconda della versione di Windows potreste aver bisogno della versione x86 o x64 (o entrambe).

Configurazione del driver su Linux

Su Linux potreste incorrere in errori nel caricamento della libreria libusb-1.0, questo accade quando il nome del file è diverso da quello previsto da dotnet, in tal caso basta creare un collegamento simbolico come descritto nella repository LibUsbDotNet:

sudo find / -name "libusb-1.0*.so*" e poi

cd /lib/x86_64-linux-gnu
sudo ln -s libusb-1.0.so.0 libusb-1.0.so

(Esempio di comandi, sostituire i percorsi con quello che si trovano sul PC)

Streaming

Streaming

Se si utilizza SysDVR-ClientGUI, avviarlo, selezionare Stream via RTSP (Recommended), selezionare il percorso mpv e fare clic su launch.

Per gli utenti Linux è possibile utilizzare gli argomenti dalla riga di comando:

Avviare SysDVR-Client rtsp per iniziare lo streaming, è possibile aggiungere le opzioni --no-video o --no-audio per disabilitare uno dei flussi.

Dopodiché dovrete solo avviare mpv in questo modo: mpv rtsp://127.0.0.1:6666/ (anche qui l’indirizzo IP è fisso sul PC e non dovrete cambiarlo).

Le opzioni di streaming per la versione precedente sono ancora disponibili ma non sono consigliate, sono ancora visualizzate nella GUI e puoi vederle eseguendo SysDVR-Client --help.

Suggerimenti

Per ottenere il massimo da questo sysmodule dovrete fare alcuni test per trovare la configurazione che funziona meglio, ecco alcuni suggerimenti e informazioni utili:

  • Se il flusso video non si avvia immediatamente, provare a spostare la videocamera durante il gioco, per visualizzare qualcosa di cui il lettore video ha bisogno per acquisire prima un fotogramma chiave video.
  • Un cavo USB 3 è leggermente migliore di USB 2, ma entrambi dovrebbero funzionare.
  • La qualità dipende anche dall’utilizzo della CPU del gioco in esecuzione, OC può migliorare le prestazioni.
  • L’utilizzo della cache ridurrà i ritardi al costo di un ritardo maggiore, per mpv è attivo di default, se si desidera provare senza di essa, gli argomenti per la riga di comando in mpv è --cache=no --cache-secs=0. Qui c’è molto spazio per sperimentare, provare diversi valori per trovare la combinazione che funziona meglio per te.
  • Teoricamente la migliore impostazione di streaming sarebbe quella di avere uno switch di connessione LAN diretto al PC, senza passare attraverso un router, questo probabilmente non è facile per l’utente medio, potrebbe prendere in considerazione la possibilità di scrivere una guida per questo, ma attualmente è al di fuori dell’ambito di SysDVR, in teoria dovreste riuscire ad ospitare un server dhcp o giocherellare con le impostazioni di connessione statica su switch e ospitare la tua istanza di 90dns localmente.

Problemi comuni

Domanda: Quando si utilizza Usbstream Gui su Windows, l’avvio di UsbStream provoca un errore di file non trovato.
Risposta: Alcuni utenti avevano questo problema #20, una soluzione alternativa è esportare il file batch dalla GUI e modificarlo nel blocco note per avviare mpv.com anziché solo mpv, questo verrà corretto nel prossimo aggiornamento.

Domanda: Dopo aver copiato il sysmodule nella scheda SD, Atmosphere non si avvia più
Risposta: Questo succede perchè ci sono troppi sysmodule o quelli particolarmente pesanti come sysftpd, rimuovili per avviare SysDVR.

Se hai davvero bisogno di altri sysmodule allo stesso tempo, puoi provare a utilizzare la versione solo USB in quanto utilizza meno memoria (512 KB contro 3 MB).

Per rimuovere SysDVR, eliminare la cartella /atmosphere/contents/00FF0000A53BB665, per rimuovere altri sysmodule se non si è sicuri dell’ID corretto, eliminare l’intera cartella /atmosphere e scaricare una nuova copia di atmosphere.

Domanda: Gli homebrew che usano USB come GoldLeaf o nxmtp non si avviano più
Risposta: Questo succede perché l’interfaccia USB viene utilizzata da SysDVR, se stai utilizzando la versione completa puoi usare le modalità di streaming usando l’homebrew SysDVR Settings incluso nell’archivio .zip.

Domanda: Quando si utilizza lo streaming di rete c’è molto ritardo o aumenta nel tempo
Risposta: Mpv utilizza un buffer di cache per evitare ritardi quando la connessione elimina alcuni pacchetti ma questo aumenta il ritardo, puoi disabilitarlo usando --cache=no --cache-secs=0, se questo non risolve il problema probabilmente la tua connessione non è abbastanza buona per lo streaming.

Domanda: Il video è lento o ci sono molti difetti
Risposta: Assicuratevi che la connessione tra la console e il PC sia abbastanza buona, se lo streaming tramite la rete si avvicina al router o passa alla LAN, per USB provare a utilizzare un cavo di qualità superiore.

Extra

Streaming live con OBS

Questo è stato richiesto molto, ora che RTSP è stato implementato, puoi semplicemente aggiungere SysDVR come sorgente multimediale in OBS: Aggiungere una nuova fonte multimediale e deselezionare il file locale, quindi digitare rtsp://<ip addr>:6666/ sostituire <ip addr> con l’indirizzo che dovresti digitare in mpv seguendo la guida per la modalità di streaming che vuoi usare.

Changelog

  • UsbStream è stato rinominato in SysDVR-Client, se hai la versione precedente sul tuo PC, eliminala prima di estrarre il nuovo archivio .zip.
  • Lo streaming RTSP è stato implementato sia in SysDVR che in SysDVR-Client, ciò implica quanto segue:
    • L’audio e il video sono finalmente sincronizzati correttamente.
    • La desincronizzazione casuale del flusso (ritardo) dovrebbe essere finalmente risolta, può ancora accadere a seconda del lettore e della stabilità della connessione, ma è sufficiente mettere in pausa e non pausa il flusso per risolverlo.
    • Il supporto nativo per molti più giocatori e altri software come OBS, lo streaming live da SysDVR non è mai stato così facile.
    • Come ora lo streaming richiede un’istanza a giocatore singolo, la funzionalità GoLive su discord funziona come previsto.
    • Sfortunatamente a causa della latenza nella cache RTSP potrebbe essere leggermente aumentato, alcuni giocatori consentono di disabilitarlo, ma non tutti, alla fine è un compromesso di stabilità/sincronizzazione rispetto al ritardo (se si preferisce un ritardo minore, la maggior parte delle modalità precedenti sono ancora disponibili ma sconsigliate).
    • Mentre RTSP funziona bene per lo più, alcuni player come vlc non eseguono davvero bene con esso, mpv è ancora il giocatore raccomandato
  • Sono state aggiunte le seguenti modalità di streaming:
    • RTSP diretto da SysDVR: è possibile connettere un lettore allo switch nella rete locale senza alcuna configurazione aggiuntiva. Questo significa che non hai nemmeno bisogno del client SysDVR, basta digitare il tuo indirizzo IP switch in mpv .sul tuo telefono/pc e sei pronto per partire!
    • TCP Bridge: i dati audio e video vengono inviati tramite rete a UsbStream e trasmessi su RTSP (ciò presenta alcuni vantaggi rispetto a RTSP diretto, come spiegato nella guida).
    • Modalità RTSP in UsbStream: i dati audio e video vengono inviati tramite USB e trasmessi in streaming tramite RTSP sul PC locale.
  • La vecchia modalità di streaming TCP è stata rimossa a favore del bridge TCP, presentava importanti problemi di sincronizzazione, nel caso in cui sia ancora necessario è ancora disponibile nelle versioni precedenti.
  • Corretti alcuni problemi segnalati su GitHub.

Nota: Poiché sono state apportate alcune importanti modifiche, la guida nel file readme è stata riscritta, assicurati di rileggerla per utilizzare le nuove modalità.

Crediti

  • Tutti da libnx e le persone che hanno invertito grc:d e scritto il service wrapper, mission2000 in particolare per il suggerimento su come correggere il ritardo audio.
  • mtp-server-nx per la loro implementazione usb.

Nota: UsbStream richiede l’utilizzo di .NET core 3.0.

Download: SysDVR v3.0 (solo USB)

Download: SysDVR v3.0

Download: SysDVR Client

Download: Source code SysDVR

Fonte: github.com

(Visited 1 times, 1 visits today)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *