Jump to content

SysDVR 6.0

¿Quieres enterarte al momento de las nuevas descargas? Síguenos en Twitter o Mastodon!

SysDVR es una modulo experimental del sistema (sysmodule) para Switch que nos permite capturar el juego que se está ejecutando a un PC.

Existen dos versiones, una que hace el stream vía USB y otra que lo hace a través de la red (TCP). Por ahora no es posible usar las dos al mismo tiempo.

Usar mpv player es la opción más recomendada para capturar, así como cualquier otro reproductor que tenga soporte para stream h264 en raw vía tcp o stdin, aunque habría que configurarlo manualmente.



  • Video quality is fixed to 720p @ 30fps with h264 compression (hardware limit)
  • Audio quality is fixed to 16bit PCM @ 48kHz stereo. Not compressed
  • Only works on games that have video recording enabled (aka you can long-press the capture button to save a video)
  • Video and audio are two different streams, they're likely to desync as they require two different player instances. Vlc does support a secondary audio stream but i didn't manage to get it working properly.
  • Only captures game output. System UI, home menu and homebrews running as applet won't be captured
  • Video feed is not realtime, there will always be a minimum of ~1 second of delay.
  • Stream quality depends heavily on the environment, bad usb wires or low wifi signal can affect it significantly.
  • Stream quality is also affected by software configuration, more details at the bottom.
  • USB streaming is not available when docked
  • Requires firmware >= 6.0.0

Clearly with these limitations this sysmodule doesn't allow "remote play" and does not replace a capture card.


Setting up the sysmodule

The provided builds already contain the correct file structure, you should just be able to extract them to your sd card.
To remove the sysmodule just delete the atmosphere/titles/00FF0000A53BB665 folder from your sd card.
CFWs other than atmosphere should work but i won't provide support for them.

Network streaming

This is the easiest way to stream, In this mode the sysmodule is completely standalone, you should be able to play the video stream just by running mpv tcp://<switch ip address>:6666 --no-correct-pts --fps=30 and mpv tcp://<switch ip addr>:6667 --no-video --demuxer=rawaudio --demuxer-rawaudio-rate=48000 for audio.
When using network streaming it's not recommended to stream both audio and video at the same time as it may cause slowdowns. In general network streaming has more lag and delay compared to USB, it is worth the time to set it up, especially for gameplay recording.

USB streaming

To stream via usb you need the UsbStream program, it's built using dotnet core 3.0 and is compatible with linux as well.
First of all you should make sure your drivers are set up correctly (only the first time) :

Driver setup on windows

On windows you may get the device not found or unsupported driver errors or very bad performance on the stream, in this case you may have the wrong driver set up, download zadig and install the libusb-win32 driver for the "Nintendo Switch" device. This won't interfere with other application that communicate with the switch via usb as this sysmodule uses a different product id.

Driver setup on linux

On linux you may have errors about loading the libusb-1.0 library, this happens when the file name is different than the one expected by dotnet, you can make a symlink as described on the LibUsbDotNet repo:
sudo find / -name "libusb-1.0*.so*" and then

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

(Example commands, change the paths with the one you find on your pc)


UsbStream supports three streaming modes:

  • mpv or stdin : pipes the received data directly to a video player via stdin, this will use no caching so you'll have low delay but it may lag. Using mpv will automatically add the needed configuration for mpv, stdin will require you to type the args to pass to the player
  • tcp : opens a tcp server so players can connect to it and use their own caching mechanism to remove or reduce lag (at the price of an higher delay)
  • file : writes the received data directly to a file so it can be converted to a common format later.

Launch UsbStream like this: UsbStream video <streaming mode> <arg> audio <streaming mode> <arg>
When using mpv the arg is the mpv executable (.com file on windows) path, you have to repeat it twice if using both streams.

The tcp option requires a free port number and the file option the output file path.

To disable a stream just omit the name and its fields.

Example commands:

UsbStream audio mpv C:/programs/mpv/mpv : Plays audio via mpv located at C:/programs/mpv/mpv, video is ignored
UsbStream video mpv ./mpv audio mpv ./mpv : Plays video and audio via mpv (path has to be specified twice)
UsbStream video tcp 1337 audio file C:/audio.raw : Streams video over port 1337 while saving audio to disk

Note that on windows you should use the mpv.com file and not mpv.exe, omitting the extension will automatically use the right one Launching UsbStream without any parameter will display more options and examples.
To connect to the tcp streams you can use: mpv tcp://localhost:<video port> --no-correct-pts --fps=30 for video and mpv tcp://localhost:<audio port> --no-video --demuxer=rawaudio --demuxer-rawaudio-rate=48000 for audio

To get the most out of this sysmodule you have to do a lot of testing to find the best configuration that works for you, here are some tips and answers to common issues :

  • If the video stream doesn't start immediately try moving the camera around in the game, to display something the video player needs to acquire a video keyframe first
  • If the stream is very poor try a different usb cable and driver with zadig, for network stream bring your console closer to the router, try using a lan adapter or windows' own hotspot mode.
  • An usb 3 wire is slightly better than usb 2, but both should work.
  • Quality also depends on the cpu utilization of the game you're running, OC can improve performances.
  • Using cache will reduce lags at the cost of an higher delay, for mpv it's on by default (except when using usb stream with mpv mode), if you want to try without it the command line arg for mpv is --cache=no --cache-secs=0. There's a lot of room for experimenting here, try different values to find the combination that works best for you.
  • If using no caching when the screen goes full black or white (eg loading screens) it may cause some desync and the stream will start to drop frames, eventually it will fix by itself but it could take some time, the fastest solution is to open the home menu for a few seconds and then resume the game, for usb stream you can try setting the --desync-fix flag (this will introduce glitches).

Known issues/TODOs

  • Memory usage is kept as low as possible (512K for usb ver, 3MB for network) but running this with many other sysmodules, or ones particulary heavy like sysftpd will not work or hang your console on boot.
  • The usb version stops working when launching another homebrew that requires usb access like nxmtp or goldleaf.
  • Implement a key combination to reinitialize usb when this happens (?)
  • Merge the usb and network stream versions and make an homebrew app to toggle between the two
  • Improve automatic desync detection and fix for UsbStream


  • Everyone from libnx and the people who reversed grc:d and wrote the service wrapper, mission2000 in particular for the suggestion on how to fix audio lag.
  • mtp-server-nx for their usb implementation

by exelix11.

Que novedades incluye la versión 6.0


  • SysDVR Client ahora viene con una GUI multiplataforma completamente reescrita, no importa qué sistema operativo esté usando, obtendrá la nueva interfaz de usuario, ya no es necesario usar la línea de comando
    • Sin embargo, la interfaz de línea de comandos todavía está disponible y es mayoritariamente compatible con la sintaxis anterior. Tenga en cuenta que se eliminaron algunas funciones; puede ejecutar SysDVR-Client --help para ver los nuevos comandos.
  • El cliente SysDVR ya está disponible para Android
    • La versión de Android solo es compatible con Android 10 y versiones posteriores solo en dispositivos con una versión de Android de 64 bits. Esto limita la compatibilidad con televisores inteligentes y Chromecast más antiguos, pero es una limitación desafortunada de dotnet.
    • A partir de la versión 6.0, SysDVR Client solo se distribuye en esta página de GitHub, cualquier recarga en Play Store u otras tiendas no es oficial y no debes descargarlo.
  • La nueva GUI admite la captura de videoclips y capturas de pantalla en tiempo real.
  • Se introdujo soporte para el descubrimiento de redes locales.
    • El cliente puede detectar consolas en su red local y conectarse a ellas, ¡sin tener que escribir más direcciones IP!
    • El protocolo también está completamente documentado en este repositorio en caso de que desee crear su propio cliente.
  • SysDVR Client ahora está creado como una aplicación nativa, esto significa que simplemente funcionará™ sin necesidad de instalar dotnet.
    • A partir de esta actualización, deberá descargar la versión exacta para su sistema operativo y arquitectura de CPU.
    • Para arquitecturas que no se tratan aquí (sobre todo Raspberry Pi y Windows on Arm), puede descargar la compilación multiplataforma de estilo antiguo llamada SysDVR-Client-dotnet.7z y configurar dotnet 8 y las bibliotecas nativas necesarias por su cuenta; consulte el manual. sección de instalación de la guía.
  • Algunas funciones del cliente se eliminaron durante la reescritura; dependiendo de las solicitudes de los usuarios, es posible que se introduzcan en futuras actualizaciones; en particular, las siguientes funciones ya no están disponibles:
    • Transmitir a otros jugadores usando las opciones --stdout y --mpv
    • Retransmitir la transmisión con la opción --rtsp en el cliente. El servidor RTSP de la consola "Modo de red simple" todavía está disponible.
    • Grabación de video de línea de comando con la opción --file
  • Múltiples correcciones para errores reportados por los usuarios:
    • Se corrigió la grabación de video que no funciona en Linux.
    • El audio fijo no funciona en mac os.
    • Se agregó una opción de salida de audio alternativa para computadoras con Windows donde el audio no funciona

No te pierdas nada, síguenos en Twitter o Mastodon!
¿Tienes alguna duda, petición o aporte? Utiliza el foro!

  • Contenido similar

    • Por Dekuwa
      MigDumpTool es una aplicación para Nintendo Switch de los creadores de Mig Switch, basada en nxdumptool, que nos permite dumpear los juegos de Switch desde la propia consola.
      Principales características:
      Admite múltiples dispositivos de almacenamiento de salida (tarjeta micro SD, PC, almacenamiento USB). Ofrece un menú de configuración avanzada para controlar el proceso de volcado. Interfaz de usuario elegante y fácil de usar. De uso gratuito. Totalmente de código abierto (bajo licencia GPLv3).
      Instrucciones de uso de MigDumpTool:
      Inicie MigDumpTool usando el menú Homebrew. Utilice el D-Pad / Sticks para moverse, A para seleccionar un elemento y B para retroceder. Seleccione el elemento "ALMACENAMIENTO DE SALIDA" para cambiar el dispositivo de almacenamiento de salida: Tarjeta micro SD: los datos volcados se guardan en la carpeta "MigDumpTool" en la raíz de la tarjeta micro SD. PC: los datos volcados se guardan en una PC conectada a la consola Nintendo Switch mediante un cable USB-C a USB-A. La PC debe estar ejecutando el programa host nxdumptool. Almacenamiento USB: conecte su USB y espere hasta que aparezca en la lista, luego selecciónelo con A. Los datos volcados se guardan en la raíz. Recomendamos utilizar la tarjeta micro SD exFAT de la tarjeta flash con un lector de tarjetas USB para descargar los datos de la tarjeta de juego directamente en ella. (Opcional) Seleccione el elemento "OPCIONES AVANZADAS" para controlar qué archivos se generan mediante el proceso de volcado. Seleccione el elemento "FÁCIL VOLCADO CON UN CLIC" y espere hasta que finalice el proceso de volcado. Las carpetas creadas por MigDumpTool ya siguen el formato requerido por la tarjeta flash. Listo!
    • Por Dekuwa
      Yuzu es un emulador de código abierto de Nintendo Switch para Windows y Linux, de los creadores de Citra.
      El emulador es capaz de mover la mayoría de juegos comerciales a toda velocidad.

      Yuzu es un proyecto en el que participan una gran cantidad de desarrolladores, encabezados por bunnei.
    • Por Dekuwa
      Console Service Tool (C.S.T.) es una herramienta integral W.I.P diseñada para ayudar a los usuarios a diagnosticar y dar servicio a sus consolas de juegos. Centrándose en PlayStation (PS3, PS4, PS5) y Nintendo Switch, C.S.T. tiene como objetivo consolidar varias herramientas de diagnóstico y servicio en una plataforma única y fácil de usar.

      ¿Puedo utilizar esta herramienta para leer códigos UART desde una PS5? ¡Sí! Descargue y ejecute la herramienta, seleccione la pestaña Playstation 5 > Herramientas UART y operación Leer códigos. Debes estar conectado vía UART para leer códigos de la Playstation 5. Sigo recibiendo "Operación cancelada", ¿sabe por qué? Respuesta corta: si todo está conectado correctamente, es posible que tenga un puente sur inactivo, ya que se requiere que el puente sur funcione para que UART funcione. R: Respuesta larga. Verifique Solución de problemas. Solución de problemas
      Operación cancelada: esto ocurre porque el usuario canceló la operación o porque se agotó el tiempo de espera de respuesta de la consola. Verifique que tenga un TTL, CH341 u otro dispositivo similar y que se hayan instalado los controladores correctos. Si se han instalado controladores, asegúrese de que no estén pendientes de reiniciar. Si no estás seguro. Reinicia tu computadora. Vaya al administrador de dispositivos -> inicie devmgmt. Verifique en Puertos serie y verifique que aparezca un puerto serie. Desenchufe su TTL/CH341 y vea si desaparece. Si lo hace. Vuelva a enchufar el dispositivo y verifique a qué COMPORT está asignado. Verifique que su TX, RX y GND estén conectados de forma segura a su consola. Verifique que la consola esté enchufada a un tomacorriente de pared con energía. No es necesario que la ps5 esté encendida, pero sí que se le suministre energía. Haga clic en leer códigos. Si aún recibe Operación Cancelada. Intente intercambiar sus cables TX y RX. Todavía se cancela la operación. Cambie el software al modo "Monitor" y conéctese. Este modo escuchará cualquier cosa que diga la PS5. Desenchufe la PS5 y espere 5 segundos. Vuelva a conectar la alimentación a la PS5 y verifique que la PS5 haya dado señal al software. Si aún no ves nada de la PS5 e intercambiaste tu TX y RX, intenta volver a intercambiarlos y repite los pasos. Si aún no hay respuesta de la consola. Pruebe con una buena consola para descartar un problema de hardware/software. Si eso funciona. Su consola que no respondió tiene un puente sur muerto. Aplicación creada por amoamare.
    • Por Dekuwa
      Última versión del firmware oficial, en formato .s2, para MIG Switch, el dispositivo que nos permite cargar copias de seguridad en todos los modelos de Nintendo Switch.
      Instalación/actualización del firmware de la tarjeta:
      Coloque el archivo update.s2 en la carpeta raíz de la tarjeta microSD del Mig Switch Inserte la tarjeta microSD nuevamente en el Mig Switch Encienda el Mig Switch insertándolo en la consola Switch o Mig Dumper La luz LED del interruptor Mig parpadeará en azul por un breve momento. Cuando finalice la actualización, la luz LED dejará de parpadear y permanecerá azul Expulse el interruptor Mig y volverá a funcionar normalmente. Instalación/actualización del firmware del MIG Dumper:
      Conecte el Mig Dumper mediante USB Aparecerá el dispositivo de almacenamiento masivo, con una carpeta 'Sistema' Arrastre y suelte el archivo update.s2 (descargado) en la carpeta 'System' de Mig Dumper para sobrescribir el archivo update.s2 presente allí. Espere a que termine la copia Desenchufe el Mig Dumper para que la actualización surta efecto
      Preparar la tarjeta microSD Formatee la tarjeta microSD con el sistema de archivos exFAT Coloque los archivos del juego XCI en la raíz del sistema de archivos microSD Asegúrese de que los archivos del juego sigan el esquema de nombres con "XXX.xci", "XXX (Datos iniciales).bin", "XXX (Certificado).bin", "XXX (Conjunto de ID de tarjeta).bin", "XXX (UID de tarjeta). ).bin" (como se indica en la sección "Haga una copia de seguridad de sus juegos" Opcionalmente, puedes crear la carpeta XXX.xci y colocar allí los archivos relevantes del juego. Lanzar juegos:
      Seleccione el juego para iniciar expulsando y reinsertando la tarjeta de juego Al iniciar el juego, aparecerá el mismo juego cada vez que se vuelva a insertar. Para desbloquear, expulsa la tarjeta de juego cuando la luz LED se vuelva verde Modo en línea:
      El modo online sólo se recomienda con un volcado del juego completo al 100%. Si falta un certificado, un conjunto de ID de tarjeta o un UID de tarjeta válidos, no se recomienda el modo en línea, ya que puede provocar el baneo permanente de la consola.
    • Por Dekuwa
      NxFileViewer es una aplicación que nos permite ver y explorar el contenido de los archivos de Nintendo Switch.

      Principales características de NxFileViewer
      Basado en LibHac Archivos compatibles: NSP, NSZ*, XCI, XCZ* Soporta Súper NSP/XCI Examinar la estructura del contenido de los archivos. Exportar archivos Guardar o copiar imágenes de títulos Especifique la ubicación de sus propias claves Busca claves en ubicaciones de uso común Descargar claves automáticamente desde una URL definida en la configuración Admite arrastrar y soltar Comprueba el tipo de archivos reales (XCI o NSP) Registro detallado Interfaz fácil de usar y responsiva Archivo ejecutable único No escriba nada fuera del directorio del programa. Verificar hash y firma Muestra claves faltantes Abre la URL del título Varios idiomas (en realidad, inglés y francés, envíame un mensaje privado para obtener más información;)) Cambio de nombre de archivos avanzado La aplicación ha sido creada por Myster-Tee.
  • Crear nuevo...