SysDVR - Stream gameplay directly to a pc

SysDVR
Stream/record gameplay to a PC via USB or network.
upload_2019-10-21_9-21-20.png

Update: Version 5.0 has been released with low latency streaming, be sure to check it out on github.

This is an experimental sysmodule that allows capturing the running game output on a pc.
As this uses switch's built-in game recording feature it has the same limitations: 720p@30fps and only works on the games that enable it, but by sending the video to another device there's no time limit to the recording.

There are two modes: USB and Network, both work fine but USB is slightly better, at least compared to wifi, didn't try with a LAN adapter.
Players like mpv or vlc can play the stream directly so you can use any screen recording applications but it's also possible to write the stream directly to a file.
To use the USB version you need the UsbStream program you'll find on the github page, it's built using .NET 5 and works on both windows and linux, haven't tried mac but in theory it should work too.

You can see it in action in the two teasers i posted while working on it:



As you can see it's not meant for remote play, but it can work as a basic capture card, audio output is uncompressed so it can be useful for ripping OSTs .

Download and wall of text guide on github: https://github.com/exelix11/SysDVR/
To get notified of updates you can follow this thread or join my new discord server (i also have a twitter account where occasionally post development updates).

Please make sure to read the full readme before reporting issues as it explains the most common problems you may encounter.
 
Last edited by exelix11,

SoraNotHere

Member
Newcomer
Joined
Nov 28, 2019
Messages
6
Trophies
0
Age
23
XP
78
Country
Kazakhstan
Help! I keep getting Video/Audio Thread terminated due to ExtendedSocketException when trying to use network mode, as for USB mode, I can't install libusb because Zadig freezes and then crashes when I click Install Driver. I checked if I set everything up correctly and I did, but nothing is working
Alright, so on a different PC I managed to install libusb drivers. With Network I still get the same error, while with USB I now get "Discarding packet of size - 2 (Video/Audio thread)"
 

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
Alright, so on a different PC I managed to install libusb drivers. With Network I still get the same error, while with USB I now get "Discarding packet of size - 2 (Video/Audio thread)"
Can't really help you with zadig issues, for network mode you may be doing something wrong, can you try if the build provided here gives a more descriptive error message ?

I guess having 2-3 seconds delay is a normal thing, isn't it?
Yeah, depends on connection quality, with a good USB cable you can bring it down to about 1 but don't expect anything less than that
 

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
After a bit of modifying of NCAs and patching the main file in exefs, we got Project DIVA MEGA39's, a game which normally has recording outright disabled, working with SysDVR - https://streamable.com/wa77b
And with USB streaming, it works great!
Interesting, this is what i've been meaning to look into, what kind of modifications did you do to the exefs ?
According to libnx docs and switchbrew setting VideoCaptureMode to auto in the nacp is enough for video recording, and in fact for a simple homebrew with just that flag enabled works with no other setup.
Tried setting up an NCM mitm to edit those on the fly but didn't seem to work, so assume the sdk/game also has to be patched but haven't tried yet.
Also FYI the "(c) sega..." text is an overlay set by the game with the capture services iirc, you can patch it out as well (even easier if it's just a texture stored in the romfs)
 
  • Like
Reactions: cainan__c

cainan__c

Well-Known Member
Member
Joined
Jan 13, 2017
Messages
263
Trophies
0
Location
London , UK
Website
www.youtube.com
XP
943
Country
United Kingdom
Interesting, this is what i've been meaning to look into, what kind of modifications did you do to the exefs ?
According to libnx docs and switchbrew setting VideoCaptureMode to auto in the nacp is enough for video recording, and in fact for a simple homebrew with just that flag enabled works with no other setup.
Tried setting up an NCM mitm to edit those on the fly but didn't seem to work, so assume the sdk/game also has to be patched but haven't tried yet.
Also FYI the "(c) sega..." text is an overlay set by the game with the capture services iirc, you can patch it out as well (even easier if it's just a texture stored in the romfs)

Since I wasn't the one who modified the exefs, I'm unsure but this is what the person who did it said:

Though this seems to only be nessesary on games which either use a newer SDK? or have copyrighted music, such as Project DIVA.
The game was able to be captured in certain menus without the exe modification but once going into any menu which had copyrighted music, it would be disabled

And for the overlay, I didn't know how to disable it but it's stored in the romfs as copyright.farc and with the game's modding tools that are avaliable it's very easy to edit.

And another game, Pripara All Idol Stage, disables video capture too and all it needed was a modification of the NCA. Video of that is down below:
https://cdn.discordapp.com/attachme...21180900-A38A02E2C4A1F4B3687BC6F7C334693F.mp4
 

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
The game was able to be captured in certain menus without the exe modification but once going into any menu which had copyrighted music, it would be disabled
It means the game likely already had video recording enabled in the nacp, so just patching the switch function was enough.

modification of the NCA
modification of the NCA is a bit vague, it could mean a lot of stuff.
Could you ask this person to dm me on discord ? Really interested it unlocking video recording in more games.
 

cainan__c

Well-Known Member
Member
Joined
Jan 13, 2017
Messages
263
Trophies
0
Location
London , UK
Website
www.youtube.com
XP
943
Country
United Kingdom
It means the game likely already had video recording enabled in the nacp, so just patching the switch function was enough.


modification of the NCA is a bit vague, it could mean a lot of stuff.
Could you ask this person to dm me on discord ? Really interested it unlocking video recording in more games.
About the modification of the NCA, sorry about being so vauge, the control nca was modified to enable video capture using the information that was found here, https://media.discordapp.net/attachments/487344619890147331/681151903672828033/unknown.png
And sure I'll ask the person to DM you.
 
Last edited by cainan__c,
  • Like
Reactions: exelix11

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
some parts look weird because they were in Russian(I live in Kazakhstan), so I translated them
View attachment 197680
Oh ok, sounds like the IP address is wrong or sysdvr is not running, it seems like the client is trying to connect to 192.168.0.1 but that's usually the IP of the router, after making sure sysdvr is in the correct mode check the ip address in switch's network settings
 

DoctorIke

Member
Newcomer
Joined
Mar 22, 2017
Messages
8
Trophies
0
Age
24
XP
101
Country
Canada
Hi, I've been using the cable mode but have still been suffering from an overall glitchy looking quality, and saw that a method of improvement may involve buying a higher quality cable. Right now I'm using an amazon basics 3.0 cable and I'm not sure what else to try, any brands or models known for their high quality cable builds?
 

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
Hi, I've been using the cable mode but have still been suffering from an overall glitchy looking quality, and saw that a method of improvement may involve buying a higher quality cable. Right now I'm using an amazon basics 3.0 cable and I'm not sure what else to try, any brands or models known for their high quality cable builds?
Hard to say, that was more pointed to cheap brandless wires i think amazon should be fine, make sure you installed the correct driver on your pc. Getting a few glitches over USB is fine, if the overall quality is low that's not normal. Guess also try a different pc if you can.
For reference i've been using the USB C cable that came with my xiaomi phone
 

bobobsama

Member
Newcomer
Joined
Mar 9, 2020
Messages
6
Trophies
0
Age
34
XP
45
Country
United States
Sorry but where am I supposed to get the switch Ip adress ? is it console MAC adress or Ip adress ? because i keep getting the same error as SoraNotHere . is it case sensitive? should I write it as its written?
 

diddevil

New Member
Newbie
Joined
Mar 9, 2020
Messages
2
Trophies
0
Age
40
XP
81
Country
Italy
hi, i have a problem: if i start SysDVR-conf.nro under sx os, it tells me "failed to open" (or similar)

If I start atmosphere via the menu "reboot to payload", it works.

The problem is that this starts the atmosphere and therefore I lose the start of the xci files.

some advice?
 

bahamut920

Well-Known Member
Member
Joined
Jan 23, 2009
Messages
582
Trophies
1
XP
2,096
Country
United States
Sorry but where am I supposed to get the switch Ip adress ? is it console MAC adress or Ip adress ? because i keep getting the same error as SoraNotHere . is it case sensitive? should I write it as its written?
The MAC address is the unique identity of the network card in the Switch, it's not an IP address, which is assigned by the ISP when you go online. Use the IP address, and there shouldn't be any letters in the IP address of your Switch, so case sensitivity shouldn't matter.
 

bobobsama

Member
Newcomer
Joined
Mar 9, 2020
Messages
6
Trophies
0
Age
34
XP
45
Country
United States
The MAC address is the unique identity of the network card in the Switch, it's not an IP address, which is assigned by the ISP when you go online. Use the IP address, and there shouldn't be any letters in the IP address of your Switch, so case sensitivity shouldn't matter.

Thanks I've found the problem was my switch kept connecting on and off to a different network for some reason
 
Last edited by bobobsama,

Puremin0rez

Active Member
Newcomer
Joined
Apr 1, 2019
Messages
28
Trophies
0
Age
30
Location
Chicago, IL, US
XP
310
Country
United States
Absolutely wonderful module. I'm blown away at how great this works.

Installed the module, added rtsp address to my OBS, boom - solid. Great quality, no glitching. (5ghz WiFi on Switch, Ethernet on PC)

Is there any downside to leaving this module running 24/7 even when not streaming? Curious if there's a performance penalty, beyond memory consumption.
 
  • Like
Reactions: exelix11

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
Absolutely wonderful module. I'm blown away at how great this works.

Installed the module, added rtsp address to my OBS, boom - solid. Great quality, no glitching. (5ghz WiFi on Switch, Ethernet on PC)

Is there any downside to leaving this module running 24/7 even when not streaming? Curious if there's a performance penalty, beyond memory consumption.
Minimal to none cause it has to keep just the service opened (and socket/usb interface if not disabled in the settings app) and that means it's mostly idle, it doesn't attempt to get video data if there's no client connected.
 
  • Like
Reactions: Puremin0rez

Puremin0rez

Active Member
Newcomer
Joined
Apr 1, 2019
Messages
28
Trophies
0
Age
30
Location
Chicago, IL, US
XP
310
Country
United States
Minimal to none cause it has to keep just the service opened (and socket/usb interface if not disabled in the settings app) and that means it's mostly idle, it doesn't attempt to get video data if there's no client connected.

Thanks great to know! Seriously impressed.

Upscaled the 720p source with Lanczos filtering, applied a bit of sharpness, and the end result was great. I did end up having to switch to RTSP over TCP instead of UDP, since I was getting very minor corruption from time to time, but TCP seems to handle the error correction just fine. (presumably just WiFi issues)

Not to advertise, but here's a VOD of a livestream of Animal Crossing I did using it. Feel free to skim through it and see what a great job your work did :) honestly, it may not be capture card quality, but it's pretty close.

Thanks again for the hard work, having the RTSP source coming right from the switch without any MITM is crazy cool.
 
  • Like
Reactions: exelix11

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Maximumbeans @ Maximumbeans: butte