exelix11 / SysDVR

Stream switch games to your PC via USB or network
GNU General Public License v2.0
1.47k stars 89 forks source link

SysDVR 4.0 and 4.0.1 not working. V3. works flawlessly #89

Closed Sno0t closed 3 years ago

Sno0t commented 3 years ago

Hello everyone :) Unfortunately V4.0.1 is not working for me.

Used Software/System(s):

Atmosphere 0.15.0 (chainloaded via Hekate 5.3.4 ) FW 10.2.0 (current latest) via EMUNAND Windows 10 MPV and VLC

What I've done

Error Description(s)

After I start the SysDVR-Client, adjust the settings and click the "start" button, it seems as if the Streaming is starting or trying to start, however, MPV only opens its console window with the following display ('OBFUSCATED' is a placeholder for various private paths):

_OBFUSCATED\SysDVR\SysDVR-Client>start dotnet SysDVR-Client.dll bridge 192.168.0.104 OBFUSCATED\SysDVR\SysDVR-Client>timeout 2 1>NUL && "OBFUSCATED\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: OBFUSCATED\AppData\Roaming/mpv (main) OBFUSCATED/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 (pcms16be 2ch 48000Hz) File tags: Title: SysDVR - https://github.com/exelix11/sysdvr

The client CMD seems to at least get the call from MPV: 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

When I try to use VLC , VLC tries to open the stream until it runs into a timeout, the window of SYSDVR prints 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

It seems that it tries to start the stream... I am also unable to stop the streaming from the sysdvr App on the switch, even after closing all client windows on PC as well as the game itself. I just get an error saying the sysdvr status can't be figured out.

Additional Info

Please feel free to ask for any additional info or give any helping advice :) Thank you in advance and kind regards.

exelix11 commented 3 years ago

Everything points to the game not being compatible, streaming channel is formed but sysdvr gets stuck while waiting a frame from the game so you can't even change mode. You mentioned that previous version worked, did you try on the same game ? Also If you just upgraded sysdvr did you reboot your console ? if you don't reboot after replacing files via FTP you'll be still running previous version that isn't compatible with the new client.

Sno0t commented 3 years ago

Thank you for your answer :) I did try the same game(s) with each version and also restarted the console as well as always started the correct client. I switched back and forth between V3 and V4 multiple times to make sure it really wasn't a mixup of some sort. With V3 it starts and works flawlessly right from the get go, with V4 I always get the error mentioned above. Tested games are: Story of seasons: fomt Pokémon tekken Mario odyssey

Even though I don't use it anymore, I have the boot.dat from Sxos on my SD card. Could this be an issue? Thank you In advance and kind regards.

(is there any way I could provide further log files? Or any additional info?)

exelix11 commented 3 years ago

No it doesn't matter. Before every attempt did you make sure sysdvr was in the correct mode ? iirc with some update i changed the behavior of settings so setting something as default with v3 may be something else for v4. For some logging try adding --print-stats to the client comman dline or enable stats logging in the GUI, that should print info whenever some data is received so we can at least figure out on which side is the issue. Also make sure to be using the correct client version for each sysmodule, due to changes in the protocol they're not compatible with different versions.

Sno0t commented 3 years ago

I made sure that I use the correct client version as well as the current module everytime I using v4

But to make sure I did it right,

I did the following exactly step by step:

  1. Delete all Sys-DVR Files from my PC
  2. Delete all SysDVR files from my switch (config folder and file as well as subfolder within atmosphere/contents/ and the sysdvr.config.nro)
  3. Download latest sysdvr and sysdvr-client from github
  4. Unpack SysDVR.zip contents to the SD card
  5. Unpack SysDVR-Client.zip to my PCs download folder
  6. Insert SD to my switch console and start up the switch
  7. Go into sysdvr settings app (Via Album [APPLET MODE]) -> Displays "Connected to SysDVR"
  8. Set to TCP Bridge Mode
  9. Set Selected mode as default
  10. Reboot console
  11. Start Story of Seasons: Friends of Mineral Town
  12. Start the SysDVR-Client on PC with the following parameters: dotnet SysDVR-Client.dll bridge 192.168.0.104 --print-stats
  13. Start VLC Media Player and connect it via network stream to rtsp://127.0.0.1:6666/

Console Window prints the following:

SysDVR-Client - 4.0.1 by exelix
https://github.com/exelix11/SysDVR
Starting stream, press return to stop
If the stream lags try pausing and unpausing the player.
Now streaming via RTSP on port 6666
Connect with your player to rtsp://127.0.0.1:6666/
Connection from 127.0.0.1:50019
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
Received RTP data on port 50000
Received RTP data on port 50001
Received RTP data on port 50002
Received RTP data on port 50003
RTCP data received Rtsp.UDPSocket Rtsp.RtspChunkEventArgs
RTCP data received Rtsp.UDPSocket Rtsp.RtspChunkEventArgs
RTCP data received Rtsp.UDPSocket Rtsp.RtspChunkEventArgs
RTCP data received Rtsp.UDPSocket Rtsp.RtspChunkEventArgs
Received RTP data on port 50001
RTCP data received Rtsp.UDPSocket Rtsp.RtspChunkEventArgs
Received RTP data on port 50000
RTCP data received Rtsp.UDPSocket Rtsp.RtspChunkEventArgs
Received RTP data on port 50002
RTCP data received Rtsp.UDPSocket Rtsp.RtspChunkEventArgs
Received RTP data on port 50003
RTCP data received Rtsp.UDPSocket Rtsp.RtspChunkEventArgs
RTSP message received Rtsp.Messages.RtspRequestPlay
Received RTP data on port 50001
RTCP data received Rtsp.UDPSocket Rtsp.RtspChunkEventArgs
Received RTP data on port 50003
RTCP data received Rtsp.UDPSocket Rtsp.RtspChunkEventArgs
Received RTP data on port 50003
RTCP data received Rtsp.UDPSocket Rtsp.RtspChunkEventArgs
Received RTP data on port 50001
RTCP data received Rtsp.UDPSocket Rtsp.RtspChunkEventArgs
Received RTP data on port 50003
Received RTP data on port 50001
RTCP data received Rtsp.UDPSocket Rtsp.RtspChunkEventArgs
RTSP message received Rtsp.Messages.RtspRequestTeardown
RTCP data received Rtsp.UDPSocket Rtsp.RtspChunkEventArgs
Connection from 127.0.0.1:50020
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

After that I did the following:

  1. Stop the streaming by Hitting return on my Keyboard (the SysDVR-Console closes)
  2. Exit the Game and close the game
  3. Go Into SysDVR-Settings (via Album [APPLET MODE]) -> Displays "Connected to SysDVR"
  4. Select Stop Stream
  5. SysDVR Errors out with "Couldn't read SysDVR-Status"

Interesting side fact:

V4 seems to always error out the moment it connect to my WLAN. The moment my WLAN-Connection is established I can't select "Stop streaming" via the setting, as it always errors out with not being able to read the status. As if V4 communicates in another matter than V3 did with my network...

As always thank you for your answer, and sorry for the late response. Kind regards :)

exelix11 commented 3 years ago

Print-stats does not print anything, this usually means the game is not compatible but we already ruled out this possibility. From v3 to 4 i changed the port numbers for tcp bridge to avoid conflicts do you happen to be under some school/organization network which may be preventing communications ? Your examples use tcp brdige, do other modes work with v4 ? In particular the simple RTSP network mode doesn't require a client does that work ?

The moment my WLAN-Connection is established I can't select "Stop streaming" via the setting, as it always errors out with not being able to read the status.

This happens when sysdvr is stuck waiting a frame from the game and can't switch modes, happens when the game is not compatible or you open the home menu while streaming.

Sno0t commented 3 years ago

Just tried RTSP-mode, unfortunately I wasn't able to start the stream. I can't test USB mode right now, as I have no USB-C Cable available. But i Will try to get one within the next few days. I am in my private home network, and as far as I know I didn't block specific ports or anything. The only poprt i am using (for a loca VServer) is 11100 but I don't think that this is the port you're using? Is there a way to set the port manually? (in v4 it is 6666 right?)

exelix11 commented 3 years ago

Does rtsp mode work with v3 ? Rtsp uses 6666 (both client and clientless rtsp mode), Tcp bridge uses 9911 and 9922, previously they were 6667 and 6668. You can only change the rtsp port of the client, internal ports can't be changed. Anyway being in an home network this shouldn't be an issue.

Sno0t commented 3 years ago

RTSP works with V3 without any issues. I just tried V3 and V4 with RTSP and MPV again (To rule out the VLC as cuplrit) -> same result. V3 works fine, and V4 does not work.

exelix11 commented 3 years ago

To rule out the VLC as cuplrit

As we've seen with the --print-stats output the client doesn't receive anything, this means the problem is either on the console or with the console to pc communication.

I'm sorry but at this point i have no clue of what it could be the issue,, never had anything like this. There's a new version coming out soon hopefully that will fix it.

exelix11 commented 3 years ago

Actually, this other issue https://github.com/exelix11/SysDVR/issues/64 seems related. After some initial troubleshooting everything looks fine but doesn't work and --print-stats won't show anything. That is still unsanswered as well. Do you have another pc you could try ? Even tho i'm pretty sure this is not an issue with your pc.

Sno0t commented 3 years ago

As we've seen with the --print-stats output the client doesn't receive anything, this means the problem is either on the console or with the console to pc communication.

Thats sad...I'll try to get to another computer and try it out there :)

I'm sorry but at this point i have no clue of what it could be the issue,, never had anything like this. There's a new version coming out soon hopefully that will fix it.

You don't have to be sorry at all, you tried everything, responded very fast and your software ist still effing amazing. Big thank you for everything :)

I'll report back If I find anything new on my side :)

Sno0t commented 3 years ago

I jst tried your (new) Version 5.0 And it works right out of the box. Absolutely amazing. Thank you very much. You did an awesome work here. Pretty much appreciated <3