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,

Miqote

Well-Known Member
Member
Joined
May 2, 2018
Messages
259
Trophies
0
XP
822
Country
Macedonia, The Former Yugoslav Republic of
I keep getting

Warning: Couldn't write data to device (Audio thread)
Warning: Couldn't write data to device (Video thread)

errors and I can't get it to work no matter what method I choose.

Hah! Turns out the game I was trying it with doesn't allow recording videos. Fuck you too, SEGA.
 
Last edited by Miqote,

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
9,789
Trophies
2
XP
28,221
Country
United Kingdom
I get that it could cause performance issues or crashes, but is there really no mod to enable capture on all running apps?
No. It's not about performance, a game needs to put aside spare memory for the video capture buffer, and some games don't because they use all the memory.
 

Asia81

Yuri Lover ~
Member
Joined
Nov 15, 2014
Messages
6,646
Trophies
3
Age
29
XP
3,446
Country
France
Hello @exelix11 I noticed using SysDVR usb prevent me to use NxMTP, when I launch nxmtp, atmosphere crash.
I need to "stop streaming" in sysdvr settings app to be able to use nxmtp again.

I there a way to use both in the same time ?
 

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
Hello @exelix11 I noticed using SysDVR usb prevent me to use NxMTP, when I launch nxmtp, atmosphere crash.
I need to "stop streaming" in sysdvr settings app to be able to use nxmtp again.

I there a way to use both in the same time ?
Only one homebrew can use USB at a time so no. It's not an os limitation but it's not easy to allow multiple apps at the same time and has to be done on both sides, unless libnx implements that in the future it's not going to change. Guess you can stream via TcpBridge as with a lan adapter or even just really good wifi performs as good as USB
 
  • Like
Reactions: Asia81

Doubl4r

New Member
Newbie
Joined
Jul 20, 2020
Messages
1
Trophies
0
Age
23
XP
32
Country
Spain
So you HAVE to have it in handheld... Cant u connect it to the dock? Or in tabletop mode? Either way, great job

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

So you have to always have it in handheld mode? Cant you just connect it to the dock? Or use tabletop mode? Either way great job
 

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
So you HAVE to have it in handheld... Cant u connect it to the dock? Or in tabletop mode? Either way, great job

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

So you have to always have it in handheld mode? Cant you just connect it to the dock? Or use tabletop mode? Either way great job
For usb only handled is supported. You can stream via network from the dock, it's flawless if you have a very good wifi or a LAN adapter.
 

Cybereu

Active Member
Newcomer
Joined
Jun 12, 2020
Messages
25
Trophies
0
Age
36
XP
262
Country
Brazil
How do I use it on Linux ?
Thought Wine ?

Edited:
I got it.
sudo dotnet SysDVR-Client.dll bridge <IP-ADDRESS>
or
sudo dotnet SysDVR-Client.dll usb

but with both i got an blank screen or none at all.
 
Last edited by Cybereu,

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
How do I use it on Linux ?
Thought Wine ?

Edited:
I got it.
sudo dotnet SysDVR-Client.dll bridge <IP-ADDRESS>
or
sudo dotnet SysDVR-Client.dll usb

but with both i got an blank screen or none at all.
Follow the guide on github.
After starting the streaming server you need to connect with a video player, i reccomend mpv, relevant snippet:
Once it's running you can launch mpv from another terminal using mpv rtsp://127.0.0.1:6666/
127.0.0.1 is your computer static IP and you don't need to change it.
 

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
possible to have this on a rasberry ? and a custom dock for switch lite wich auto stream when plugged ?
I added 32bit arm support in a commit a bit ago after a request on github it's not released yet but should work on any pi except zero and the first model as they have a cpu arch not supported by dotnet. This will be part of the next update, unforunately not eta as i haven't added anything else yet but you can self-build it from the repo.
 

Sno0t

Well-Known Member
Member
Joined
Aug 20, 2015
Messages
223
Trophies
0
XP
1,217
Country
Gambia, The
Hey everyone :), Hey @exelix11
Firstlet me say, that this is an absolute amazing homebrew, even though it currently seems to be non working for me, i am stoked with what you did here (Y)
Anyways, somehow I can't seem to get this thing running...

I am in win 10.
Using atmosphere 14.4 and hekate 5.3.
I tried TCP via the sysDVR Client.
Games testes: Pokken tournament: Story of Seasons :Friends of Mineral Town
SysDVR Settings on console is set to tcp, and shows in green that its running.
Starting the sysDVR Client does not give any errors.

Neither MPV nor VLC seems to be able to acces the stream..tried 2 MPV versiones (latest nightly and latest stable).
Update the VC redist (x68 and x64)
VLC just tries to connect, hovewer the client says the following:
RTSP message received Rtsp.Messages.RtspRequestOptions
RTSP message received Rtsp.Messages.RtspRequestDescribe
Request for rtsp://127.0.0.1:6666/
RTSP message received Rtsp.Messages.RtspRequestSetup
RTSP message received Rtsp.Messages.RtspRequestSetup
RTSP message received Rtsp.Messages.RtspRequestPlay
RTSP message received Rtsp.Messages.RtspRequestTeardown

With MPV i am getting
Request for rtsp://127.0.0.1:6666/
RTSP message received Rtsp.Messages.RtspRequestSetup
RTSP message received Rtsp.Messages.RtspRequestSetup
RTSP message received Rtsp.Messages.RtspRequestPlay

D:\Downloads\switch\SysDVR\SysDVR-Client>start dotnet SysDVR-Client.dll bridge 192.168.0.104

D:\Downloads\switch\SysDVR\SysDVR-Client>timeout 2 1>NUL && "D:\Downloads\switch\SysDVR\mpv_player\mpv.com" rtsp://127.0.0.1:6666/ --profile=low-latency --no-cache --cache-secs=0 --demuxer-readahead-secs=0 --cache-pause=no --untimed
Warning, two config dirs found:
C:\Users\Martin\AppData\Roaming/mpv (main)
D:/Downloads/switch/SysDVR/mpv_player (bogus)
You should merge or delete the second one.
Warning: option --cache-secs is deprecated and might be removed in the future (will use unlimited time).
(+) Video --vid=1 (h264)
(+) Audio --aid=1 (pcm_s16be 2ch 48000Hz)
File tags:
Title: SysDVR - https://github.com/exelix11/sysdvr

As stated above I (re-)installed the necessary libs (VC_redist) as well as .net 3

Maybe someone knows what I may have overlooked?

Thanks in advance and kind regards.
Sno0t

Edit: I already tried USB mode, that does not work either. Also tried disabling the firewall, unfortunately this did not give me any success either..
On USB I get the error
"Warning: [lib/win]usb error Timeout while requesting data"
Zadig has installed th drivers.
I tried both libwin32 ans winusb drivers.

Hey everyone,
It seems the issue is with SysDvr 4.0 (4.0.1).. at least for me it is.
I just (cleanly) installed the latest atmosphere, latest hekate, latest patches to ensure I don't have other sys modules or anything interfering... and it still didn't work.
I then decided to try SysDVR 3.0 (and its corresponding client) and it worked right out of the box.
Even though i was sure it wouldn't work, i tried using different combinations of client and sysmodule (3.0 with 4.0[.1] and vice versa) but it didn't work (was expected though, as stated before)
Anyways, I can stream now, even though it has a delay (despite using 5g network) and I can't benefit from the latest bugfixes and (speed) improvements of V 4.0[.1]

I am happy for now as I can showcase my gameplay to my friend.
If anyone has other tips how to circumvent this problem, I am open to suggestions ;)

Thanks in advance, and again, big thank you to @exelix11 for this amazing tool :)
 
Last edited by Sno0t,

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
Hey everyone :), Hey @exelix11
Firstlet me say, that this is an absolute amazing homebrew, even though it currently seems to be non working for me, i am stoked with what you did here (Y)
Anyways, somehow I can't seem to get this thing running...

I am in win 10.
Using atmosphere 14.4 and hekate 5.3.
I tried TCP via the sysDVR Client.
Games testes: Pokken tournament: Story of Seasons :Friends of Mineral Town
SysDVR Settings on console is set to tcp, and shows in green that its running.
Starting the sysDVR Client does not give any errors.

Neither MPV nor VLC seems to be able to acces the stream..tried 2 MPV versiones (latest nightly and latest stable).
Update the VC redist (x68 and x64)
VLC just tries to connect, hovewer the client says the following:
RTSP message received Rtsp.Messages.RtspRequestOptions
RTSP message received Rtsp.Messages.RtspRequestDescribe
Request for rtsp://127.0.0.1:6666/
RTSP message received Rtsp.Messages.RtspRequestSetup
RTSP message received Rtsp.Messages.RtspRequestSetup
RTSP message received Rtsp.Messages.RtspRequestPlay
RTSP message received Rtsp.Messages.RtspRequestTeardown

With MPV i am getting
Request for rtsp://127.0.0.1:6666/
RTSP message received Rtsp.Messages.RtspRequestSetup
RTSP message received Rtsp.Messages.RtspRequestSetup
RTSP message received Rtsp.Messages.RtspRequestPlay

D:\Downloads\switch\SysDVR\SysDVR-Client>start dotnet SysDVR-Client.dll bridge 192.168.0.104

D:\Downloads\switch\SysDVR\SysDVR-Client>timeout 2 1>NUL && "D:\Downloads\switch\SysDVR\mpv_player\mpv.com" rtsp://127.0.0.1:6666/ --profile=low-latency --no-cache --cache-secs=0 --demuxer-readahead-secs=0 --cache-pause=no --untimed
Warning, two config dirs found:
C:\Users\Martin\AppData\Roaming/mpv (main)
D:/Downloads/switch/SysDVR/mpv_player (bogus)
You should merge or delete the second one.
Warning: option --cache-secs is deprecated and might be removed in the future (will use unlimited time).
(+) Video --vid=1 (h264)
(+) Audio --aid=1 (pcm_s16be 2ch 48000Hz)
File tags:
Title: SysDVR - https://github.com/exelix11/sysdvr

As stated above I (re-)installed the necessary libs (VC_redist) as well as .net 3

Maybe someone knows what I may have overlooked?

Thanks in advance and kind regards.
Sno0t

Edit: I already tried USB mode, that does not work either. Also tried disabling the firewall, unfortunately this did not give me any success either..
On USB I get the error
"Warning: [lib/win]usb error Timeout while requesting data"
Zadig has installed th drivers.
I tried both libwin32 ans winusb drivers.

Hey everyone,
It seems the issue is with SysDvr 4.0 (4.0.1).. at least for me it is.
I just (cleanly) installed the latest atmosphere, latest hekate, latest patches to ensure I don't have other sys modules or anything interfering... and it still didn't work.
I then decided to try SysDVR 3.0 (and its corresponding client) and it worked right out of the box.
Even though i was sure it wouldn't work, i tried using different combinations of client and sysmodule (3.0 with 4.0[.1] and vice versa) but it didn't work (was expected though, as stated before)
Anyways, I can stream now, even though it has a delay (despite using 5g network) and I can't benefit from the latest bugfixes and (speed) improvements of V 4.0[.1]

I am happy for now as I can showcase my gameplay to my friend.
If anyone has other tips how to circumvent this problem, I am open to suggestions ;)

Thanks in advance, and again, big thank you to @exelix11 for this amazing tool :)
I don't check gbatemp too often, answered on github
 
  • Like
Reactions: Sno0t

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: I may take a shower to remove all the sunburns in my body