SysDVR Versions Save

Stream switch games to your PC via USB or network

v5.1

3 years ago

Edit: dvr-patches are now available, it's a set of patches to extend game compatibility and record almost every game. They're not included in sysdvr by default for stability reasons. Click the link above to download them, make sure to read the warnings first.

Changes:

  • Fixed random image corruption in certain games, used to happen especially on still images #91
  • Fixed USB errors on linux #106
  • Export recordings as mp4 files #104
    • The recorded data is not processed to keep the cpu usage low, the output file may be big and not all video players may be able to play it. It's recommended to remux/re-encode the file after recording, an easy way of doing that is with ffmpeg: ffmpeg -i video.mp4 -c:v h264 -c:a aac output.mp4
    • While this seems to work well enough i didn't thoroughly test it with long recordings, please let me know of any issues.
  • Reduced stuttering in the built-in video player
  • The "simple network mode" RTSP server should now be more reliable and works in most video players

v5.0.2

3 years ago

Changes:

  • Fix USB on 11.0
  • Fix scaling for the built-in player when using a monitor that's not 16:9

v5.0.1

3 years ago

This updates adds minor features and fixes issues reported by users. Only the client app was updated the sysmodule still shows version 5.0 but it has been reuploaded for convenience.

Changes:

v5.0

3 years ago

Changes:

  • SysDVR-Client was upgraded to the just released .NET 5.0. Make sure to download it before trying this update. On windows you must install the x64 version
  • Custom built-in video player to ensure best performances, brings down latency to about 100ms or less, literally can't get better than this.
    • The built-in player uses ffmpeg and SDL2. Dlls are included for windows 64-bit, on mac and linux you can install them from your package managers, i added example commands in the guide.
    • As for 32 bit Windows ffmpeg officially doesn't provide 32 bit builds anymore. If you're still using a 32 bit PC you can get unofficial builds from third parties and extract them to the SysDVR-Client folder, this should work but i'm not providing support for it, you should upgrade your PC.
    • The implementation is still pretty rough and there's room for improvement but it's already a major step up from mpv, looking forward to user feedback.
    • All the previous streaming modes are still avalilable, you can see them with the --help option
  • New settings app with a proper GUI, explainations and links to the guide.
  • SysDVR-Client GUI has been updated to be simpler to use: only select USB or type the IP and click launch to stream.
  • Tweaked some timing and threading priorities that should improve performances on the console side
    • Due to the limited testing i can do on my own i don't know if these changes have any negative side effects, i didn't notice anything wrong but in case of problems like lag in games or degraded performances let me know and i'll revert it if it's necessary.
  • Added support for 32 bit arm in SysDVR-Client, now it can run on many single board computers like the raspberry pi
    • Depends on .NET support for your board. Raspberry pi zero and 1 are not supported due to older arm version.
    • Will most likely need manual configuration of hardware accelerated decoding to run smoothly, there's an explaination here
  • Due to the changes to SysDVR-Client the command line arguments have slightly changed as well, this will likely break launch scripts generated by the GUI, make sure to delete them and create new ones with the latest version.

The guide has been updated with all the new features, check it out.

Known issues

v4.0.1

3 years ago

Changes:

  • General system stability improvements to enhance the user's experience:
    • Reduced the number of FS sessions used by the sysmodule, should fix crashes when running alongside other sysmodules.
    • Fix a possible crash on windows versions that don't use the english alphabet.

v4.0

4 years ago

Changes:

  • Low latency streaming is now supported.
    • Stdin mpv streaming mode has been revamped to support low latency video streaming.
    • Unfortunately the console produces audio with a slight delay, this means that real-time streaming audio and video is not possible. This is not a bandwidth problem and even streaming just audio will be slightly delayed.
    • Streaming both audio and video is possible only via RTSP as stdin mode only supports one channel. Read the advanced section of the guide to find out how to launch mpv in low-latency mode.
  • USB streaming protocol has been updated to improve performances.
    • On windows the driver has been changed to WinUsb, if you previously installed the libusb driver you will have to replace it with zadig. The guide has been updated to explain how.
    • If you wish to keep on streaming with libusb add --no-winusb to the command line or enable Force LibUsb backend in the GUI.
    • On linux libusb is still used and nothing changes.
  • TCPBridge protocol has been changed as well to improve performances.
  • Reduced the memory usage of SysDVR from 3MB to ~1.1MB if you previously used the USB-only build due to memory concerns check if this solves your problems.
    • This may also fix SXOS compatibility but i haven't tested, will update once someone lets me know. Edit: Received mixed reports, some say that it works some that it doesn't, please report in #39 if you still experience crashes.
  • All legacy args for SysDVR-Client have been replaced with a new syntax, less used functions have been removed, if you're using bat files from the GUI delete them and create new ones.
    • Due to the protocol changes you can't use previous versions of the client and clientGUI with the new sysmodule
  • Now it's possible to stream to stdout so you can pipe the raw data to any video player (one channel only)
  • Fix #30 #33 and several other bugs and crashes.

Also the guide has been moved to the wiki, you can find it here

v3.0

4 years ago

Changes:

  • UsbStream has been renamed to SysDVR-Client, if you have the old version on your pc, delete it before extracting the new zip.
  • RTSP Streaming has been implemented in both SysDVR and SysDVR-Client, this implies the following:
    • Audio and video are finally properly synchronized.
    • Random stream desynchronization (lag) should be finally solved, it can still happen depending on the player and connection stability but pausing and unpausing the stream is enough to fix it.
    • Native support for many more players and other software such as OBS, live streaming from SysDVR has never been easier.
    • As now streaming requires a single player instance the GoLive feature on discord works as expected.
    • Unfortunately due to RTSP caching latency may have slightly increased, some players allow to disable it but not all, in the end is a stability/synchronization vs delay compromise (if you prefer less delay most of the previous modes are still available but not recommended)
    • While RTSP works fine mostly, some players like vlc don't really play nice with it, mpv is still the recommended player
  • The following streaming modes have been added:
    • Direct RTSP from SysDVR : it's possible to connect a player to the switch in the local network without any extra setup. This means you don't even need SysDVR-client, just type your switch ip address in mpv on your phone/pc and you're good to go !
    • TCP Bridge : video and audio data is sent via network to SysDVR-Client and it's relayed over RTSP (this has a few advantages over Direct RTSP as explained in the guide)
    • RTSP mode from USB : video and audio data are sent over USB and streamed via RTSP on the local pc
  • The old TCP streaming mode has been removed in favor of TCP bridge, it had major synchronization issues, in case you still need it it's still available in older versions.
  • Fixed a few issues reported on GitHub

Since there have been some major changes the guide in the readme has been rewritten, please be sure to read it again to use the new modes

Known issues

  • In case of network errors ExtendedSocketException is shown instead of a proper error message, if you need to know the full error message try the build provided in the related issue #30
  • Sx os is not fully supported due to memory issues, some games will crash with 2003-0008. This is an sx os issue and won't be fixed in SysDVR (#39)
  • On some computers there seem to be a NullReferenceException crash due to a race condition when beginning to stream, this seems to be pretty rare, if you're facing it there's a fix in the related issue #33

v2.0

4 years ago

This update addresses most of the issues reported since the first release, in particular:

  • The Network and USB versions have been merged in a single sysmodule, the zip includes an homebrew to set the streaming mode without having to reboot.
    • This also allows to temporarily disable the USB stream so you can launch other homebrews like nxmtp or GoldLeaf (solves https://github.com/exelix11/SysDVR/issues/5)
    • As low memory usage is important to some users an USB-Only version is still provided, this however does not support the settings app and you have to manually remove it and reboot to use an homebrew requiring USB access.
  • Fixed the annoying "10 minutes bug" https://github.com/exelix11/SysDVR/issues/2
  • Added UsbStreamGUI (Windows only), a graphical launcher for UsbStream for less experienced users
  • Minor changes to UsbStream to help troubleshoot issues

The guide in readme has been updated to include latest chages, be sure to check it out.

Note about new atmosphere versions (>= 0.10.0)

Since 0.10.0 the /atmosphere/titles folder was renamed to /atmosphere/contents these releases still follow the old naming scheme, before extracting the release to your sd card make sure to rename the folder from the zip (extract to pc, rename, copy).
Starting from next version releases will use the new naming.

v1.0

4 years ago

First public release, please read the readme to set it up. UsbStream requires .NET core 3.0

Known issues: