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,

ELY_M

Developer
Developer
Joined
Dec 6, 2007
Messages
710
Trophies
1
XP
1,690
Country
United States
UPDATE: I had to install driver called libusb and it worked :)

I had different usb driver installed for goldleaf.




I have issues :( my switch is on and running a game and I checked if I can video capture it. everything is ok but I get error on usbstream.
I am using USB sysmodule.

I have the netcore 3.0.0 installed

Microsoft Windows [Version 10.0.17763.805]
(c) 2018 Microsoft Corporation. All rights reserved.

M:\switch\sysDVR\UsbStream>start-mpv.bat

M:\switch\sysDVR\UsbStream>UsbStream video mpv "M:\switch\sysDVR\UsbStream2\mpv.com" audio mpv "M:\switch\sysDVR\UsbStream2\mpv.com"
UsbStream - 1.0 by exelix
https://github.com/exelix11/SysDVR

Unhandled exception. LibUsbDotNet.LibUsb.UsbException: Operation not supported or unimplemented on this platform
at LibUsbDotNet.LibUsb.ErrorExtensions.ThrowOnError(Error error)
at LibUsbDotNet.LibUsb.UsbDevice.Open()
at UsbStream.Program.GetDevice()
at UsbStream.Program.Main(String[] args)

M:\switch\sysDVR\UsbStream>




I made a Noob Friendly setup guide for PC Users here.
 
Last edited by ELY_M,

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
Do you think you can concatenate the network and usb sysmodules into one and instead have an NRO that interacts with the sysmodule to change the mode?
Yes eventually, currently there are two other things i'm focusing on for the next update.
There's already a branch merging the two sysmodules but i'm having troubles reinitializing USB after i've closed it and debugging that is way more annoying than the other two so unless other major bugs pop up this will be in the update after the next.

--------------------- MERGED ---------------------------

UPDATE: I had to install driver called libusb and it worked :)

I had different usb driver installed for goldleaf.




I have issues :( my switch is on and running a game and I checked if I can video capture it. everything is ok but I get error on usbstream.
I am using USB sysmodule.

I have the netcore 3.0.0 installed

Looks like wrong driver, as the device id is different this shouldn't confict with goldleaf or other homebrews, if you replaced their driver it's not actually going to be used for usbStream, read the updated readme and check that you're using the right device id.
 
  • Like
Reactions: JonJaded and ELY_M

Xyphoseos

Hack or no games
Member
Joined
Jun 29, 2016
Messages
1,833
Trophies
0
Age
23
Location
Rivière
XP
3,255
Country
France
upload_2019-10-23_20-7-47.png
I type this
UsbStream video mpv ./mpv audio mpv ./mpv
But UsbStream.exe close itself, an Idea ?

The drivers is installed
In the environnment variable
PATH C:\Users\Xyphoseos\AppData\Local\Programs\Python\Python38\Scripts\;C:\Users\Xyphoseos\AppData\Local\Programs\Python\Python38\;C:\Users\Xyphoseos\AppData\Local\Programs\Python\Python37\Scripts\;C:\Users\Xyphoseos\AppData\Local\Programs\Python\Python37\;C:\Users\Xyphoseos\AppData\Local\Programs\Python\Python36\Scripts\;C:\Users\Xyphoseos\AppData\Local\Programs\Python\Python36\;C:\Users\Xyphoseos\AppData\Roaming\npm;C:\mpv
 
Last edited by Xyphoseos,

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
View attachment 183836
I type this
UsbStream video mpv ./mpv audio mpv ./mpv
But UsbStream.exe close itself, an Idea ?

The drivers is installed
In the environnment variable
PATH C:\Users\Xyphoseos\AppData\Local\Programs\Python\Python38\Scripts\;C:\Users\Xyphoseos\AppData\Local\Programs\Python\Python38\;C:\Users\Xyphoseos\AppData\Local\Programs\Python\Python37\Scripts\;C:\Users\Xyphoseos\AppData\Local\Programs\Python\Python37\;C:\Users\Xyphoseos\AppData\Local\Programs\Python\Python36\Scripts\;C:\Users\Xyphoseos\AppData\Local\Programs\Python\Python36\;C:\Users\Xyphoseos\AppData\Roaming\npm;C:\mpv
Who told you to edit the environment variable ? just change the command with the path of mpv on your pc, from the screenshot it's UsbStream video mpv C:/mpv/mpv audio mpv C:/mpv/mpv (which is not an "usual" path, you could have just extracted everything downloads)
 
  • Like
Reactions: Xyphoseos

tmiles

Well-Known Member
Newcomer
Joined
Dec 12, 2014
Messages
87
Trophies
0
Age
33
Location
Évora
XP
217
Country
Unhandled exception. System.ComponentModel.Win32Exception (2): O sistema não conseguiu localizar o ficheiro especificado.
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at UsbStream.Program.StdInTarget..ctor(String path, String args)
at UsbStream.Program.<>c__DisplayClass16_0.<Main>g__ParseTargetArgs|0(Int32 baseIndex, IOutTarget& t)
at UsbStream.Program.Main(String[] args)

This is my problem. Someone know how to solve it?
 

KajurN

New Member
Newbie
Joined
Oct 24, 2019
Messages
1
Trophies
0
Age
29
Website
twitch.tv
XP
42
Country
Brazil
It works, BUT i'm having the issue of it repeatedly closing itself down after a while (less than 10 minutes, was also streaming it over discord for testing purposes if that matters). And that's on video only mode btw. Still, fantastic job. I've wanted something like this since i got my switch.
 
Last edited by KajurN,

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
Unhandled exception. System.ComponentModel.Win32Exception (2): O sistema não conseguiu localizar o ficheiro especificado.
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at UsbStream.Program.StdInTarget..ctor(String path, String args)
at UsbStream.Program.<>c__DisplayClass16_0.<Main>g__ParseTargetArgs|0(Int32 baseIndex, IOutTarget& t)
at UsbStream.Program.Main(String[] args)

This is my problem. Someone know how to solve it?
Looks like you copied the example command without changing the mpv path with the one of your pc

It works, BUT i'm having the issue of it repeatedly closing itself down after a while (less than 10 minutes, was also streaming it over discord for testing purposes if that matters). And that's on video only mode btw. Still, fantastic job. I've wanted something like this since i got my switch.
Yes it's a known issue, it will be fixed in the next update soon.
 
  • Like
Reactions: Chrisssj2

Chrisssj2

Well-Known Member
Member
Joined
Feb 12, 2008
Messages
2,704
Trophies
1
XP
4,384
Country
Netherlands
Would there be a way to enable a game to stream that doesnt initially support streaming I wonder. Through modding?
For example like with the witcher. downscaling options so it uses less ram, then enabling streaming?
 

Paffo

Well-Known Member
Member
Joined
Aug 10, 2018
Messages
105
Trophies
0
Age
43
XP
568
Country
Italy
Do you have ANY idea how much i waited for this?
I wanted this so bad i even tried implementing it myself, obv failing.
I asked on multiple Homebrew Discords which would be the best way to make this and their resposes were vague or none at all.
If this works, i thank you deeply.
 

Andalitez

Well-Known Member
Member
Joined
Jul 2, 2018
Messages
507
Trophies
0
Location
Final Space
XP
1,299
Country
United States
Do you have ANY idea how much i waited for this?
I wanted this so bad i even tried implementing it myself, obv failing.
I asked on multiple Homebrew Discords which would be the best way to make this and their resposes were vague or none at all.
If this works, i thank you deeply.
Reports are that it works
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: butt