Homebrew Snickerstream - Unified NTR and HzMod streaming client for the 3DS

John2022

Active Member
Newcomer
Joined
Apr 8, 2010
Messages
39
Trophies
1
XP
237
Country
France
If it can help, I've got the same problem than the first mate that could'nt connect the N3DS.

Same log as him. No firewall, no pathforwarding of port, UPnP activated on my router. 3dsIP 192.168.0.4 et WinIP 192.168.0.2. I've tried both NTR 3.3 & 3.6 by the way of NTRBoot Selector. I managed to got connections with FTPD and other stuff. I also try your troubleshoot advice (only one or few thread of CPU & differents
QoS values) but don't notice some change on the perf graph. I've got a quadcore Xeon X5470 @ 3.33GHz on a P35 chipset and GeForce 680 GTX with 4Go.

After few seconds, I've got the error box Could not connect to the (N)3DS. So, I guess my greyscreen is normal ;)


Code:
  ___      _    _              _
 / __|_ _ (_)__| |_____ _ _ __| |_ _ _ ___ __ _ _ __
 \__ \ ' \| / _| / / -_) '_(_-<  _| '_/ -_) _` | '  \
 |___/_||_|_\__|_\_\___|_| /__/\__|_| \___\__,_|_|_|_|
----------------------------------------------------------------------------------
You must have graduated from elementary school to use this tool.
----------------------------------------------------------------------------------
VERSION : v0.75b
LOGLEVEL: 3
----------------------------------------------------------------------------------
[13:44] Logging started.
[13:44] WARNING: The loglevel is now set to 3. This will produce GIANT logfiles.
[13:44] You should set your loglevel to something else unless you're troubleshooting some issues!
[13:44] Starting remoteplay on 3DS.
[13:44] TCPConnect error, @error=10060.
[13:44] Remoteplay init failed, could not connect.
[13:47] Recieving stream.
[13:47] PC IP address: 192.168.0.2
[13:47] 3DS IP address: 192.168.0.4
[13:47] Priority: 1
[13:47] Priority factor: 5
[13:47] Image quaility: 70
[13:47] QoS: 5
[13:47] Interpolation mode: 0
[13:47] Screen layout: 0
[13:47] -NOTE- The IP addresses should be internal. If you set them to public DO NOT share this log online!
[13:47] FPS:0
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] FPS:0
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] FPS:0
[13:47] UDPRecv error, @error=-2.
[13:47] UDPRecv error, @error=-2.
[13:47] Quitting.

1510232404-sans-titre.png


----------------------------------------------------------------------------------
You must have graduated from elementary school to use this tool.

Hahaha XD I didn't notice this! :rofl2:
 
Last edited by John2022,

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
If it can help, I've got the same problem than the first mate that could'nt connect the N3DS.

Same log as him. No firewall, no pathforwarding of port, UPnP activated on my router. 3dsIP 192.168.0.4 et WinIP 192.168.0.2. I've tried both NTR 3.3 & 3.6 by the way of NTRBoot Selector. I managed to got connections with FTPD and other stuff. I also try your troubleshoot advice (only one or few thread of CPU & differents
QoS values) but don't notice some change on the perf graph. I've got a quadcore Xeon X5470 @ 3.33GHz on a P35 chipset and GeForce 680 GTX with 4Go.

-snip-
Xeons CPUs have proven to be pretty cruel to Snickerstream even if they're perfectly good performance-wise. I can confirm howerer that the in-development version works fine on them as a tester was able to run in just fine while he previously had a blank screen due to software rendering.

Still, there is something different on your log: Serath's one says that he was able to init remoteplay just fine but the screen wasn't being displayed. Your own, on the other hand, said that it couldn't connect. TCPConnect error 10060 means that the connection timed out, so the IP was indeed valid but your 3DS failed to respond. Do you see the screen flashing purple and blue on your 3DS after initializing remoteplay?

Hahaha XD I didn't notice this! :rofl2:
That's the MOTD, it's random everytime and I put it here just for shit and giggles. ;)
 

astrals

Member
Newcomer
Joined
Jan 22, 2017
Messages
18
Trophies
0
Age
32
XP
66
Country
France
thanks for this update, but : when i manually adjust the size of the screens, the fps start to drops from 45 to 0 ( then they stuck i need to launch snickerstream again ) same thing when i change the interpolation
 

John2022

Active Member
Newcomer
Joined
Apr 8, 2010
Messages
39
Trophies
1
XP
237
Country
France
Xeons CPUs have proven to be pretty cruel to Snickerstream even if they're perfectly good performance-wise. I can confirm howerer that the in-development version works fine on them as a tester was able to run in just fine while he previously had a blank screen due to software rendering.
So, it will be OK with xeon for later release of SS?

Still, there is something different on your log: Serath's one says that he was able to init remoteplay just fine but the screen wasn't being displayed. Your own, on the other hand, said that it couldn't connect. TCPConnect error 10060 means that the connection timed out, so the IP was indeed valid but your 3DS failed to respond. Do you see the screen flashing purple and blue on your 3DS after initializing remoteplay?
Yes I ve seen that when I was looking for the source I'd mentioned. My PC doesn't success to reach the 3DS. However, my network is clean.
[CROSSED]Aboslutely not. Remoteplay doesn't seems to work. No flash either nothing. No reaction from the 3DS. Boot NTR Selector is a good way to launch NTR ? Does SS work when 3DS is on the home menu or it have to be in a game ? [/CROSSED]


EDIT: It's OK. It work well now. I just launch many time FTPD to create a connection with windows (7 x64) and the remoteplay was ablte to received the stream.
I think my 3DS had some trouble to send data through the Wifi, or my wifi network is lacking some power; maybe canal is overloaded in my neighborhood.
Sorry for the trouble, I just think trying many time (some guy said one day that FTPd may need some tries to succeed the connection) to be sure. I wanted to seen the nice flashes. LOve psychedelic things. :lol:
 
Last edited by John2022,

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
thanks for this update, but : when i manually adjust the size of the screens, the fps start to drops from 45 to 0 ( then they stuck i need to launch snickerstream again ) same thing when i change the interpolation
The update isn't out yet. It will be not too far from now tho.


-snip-
Sorry for the trouble, I just think trying many time (some guy said one day that FTPd may need some tries to succeed the connection) to be sure. I wanted to seen the nice flashes. LOve psychedelic things. :lol:
No problem ;)

(And sorry if the video overview isn't out yet, I had to do some stuff IRL. I might not even be able to record voice for the video, but hey - I'll do a text one instead)
1510089743992.gif
 

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
i know for the lastest update who want to made; thanks for the good work ( don't forget to put the code on the exit button )
The window cannot currently be closed via the X button because of a quirk with AutoIt. If you want a technical explaination, Snickerstream requires OnEvent mode to run properly because it needs two GUIs (the connection window and the streaming window). However, OnEvent mode disables GUIGetMsg, the function that retrieves some information from the GUI, in favour of another one that sets what function to run when a certain message is detected - but that function does NOT interrupt loops, and Snickerstream is constantly in a loop when streaming. So, no matter what I do, whatever function I specify will be run AFTER the loop itself (even trying to set a simple variable to stop the loop will not work, as EVERY piece of code will be run after the loop itself, so the variable won't be set during it), which means that the X window button is completely useless.

However, in the newer version you'll be able to return to the connection window by pressing Enter, and this means that you'll be able to close Snickerstream from here if you want.
 

astrals

Member
Newcomer
Joined
Jan 22, 2017
Messages
18
Trophies
0
Age
32
XP
66
Country
France
The window cannot currently be closed via the X button because of a quirk with AutoIt. If you want a technical explaination, Snickerstream requires OnEvent mode to run properly because it needs two GUIs (the connection window and the streaming window). However, OnEvent mode disables GUIGetMsg, the function that retrieves some information from the GUI, in favour of another one that sets what function to run when a certain message is detected - but that function does NOT interrupt loops, and Snickerstream is constantly in a loop when streaming. So, no matter what I do, whatever function I specify will be run AFTER the loop itself (even trying to set a simple variable to stop the loop will not work, as EVERY piece of code will be run after the loop itself, so the variable won't be set during it), which means that the X window button is completely useless.

However, in the newer version you'll be able to return to the connection window by pressing Enter, and this means that you'll be able to close Snickerstream from here if you want.
oh ok, i didn't know that, thanks for the explanations
 

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
How I use to record pokémon??
Because there isn´t NFC patch.
You have several different options:
  1. Wait for the next release of Snickerstream. I've coded in NFC patching for all firmwares and it's confirmed to be working.
  2. Download NTRDebugger and use it to patch the games without any permanent modifications. After connecting to your 3DS, the command you need to type in is
    write(0x0105AE4, (0x70, 0x47), pid=0x1a)
    for firmwares <= 11.3 or
    write(0x00105B00, (0x70, 0x47), pid=0x1a)
    for firmwares >= 11.4.
  3. Enable Luma3DS's debugger, which forbids your 3DS from disconnecting to your wifi network. (Thanks again, @Psi-hate !)
  4. Download standalone patches for your game. Unlike the previous options, this is game-specific tho.
 
  • Like
Reactions: Psi-hate

ImInsane

Well-Known Member
Member
Joined
Dec 20, 2014
Messages
130
Trophies
0
Age
33
XP
359
Country
Brazil
The video preview of the new features is finally here! I wasn't able to record the audio for it this time so I'm sorry that it's text only but hey, at least you can hear the chill 'n comfy Kirby music in the background :P



Its looking promising.
I cant wait to use this with Pokémon Ultra and wifi battles.
 

John2022

Active Member
Newcomer
Joined
Apr 8, 2010
Messages
39
Trophies
1
XP
237
Country
France
The video preview of the new features is finally here! I wasn't able to record the audio for it this time so I'm sorry that it's text only but hey, at least you can hear the chill 'n comfy Kirby music in the background :P


This tune is satanic :rofl2:
I prefet text only. More understandable for non english hearer like me.
Yes, It's seem promising. You've done nice adds and fixes, cheers. Can wait, so take your time.
Do you plan to add a record/convert function (like ReplayMediaCatcher for exemple) ?
A little informations/log/debug windows in real time to see packet loss, wifi/connection quality? Some prefab/custom configuration profiles? Some christmas presents?
 
Last edited by John2022,

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
Can wait, so take your time.
Most of the stuff has been already coded in and it's also confirmed working by other testers aswell, so I only have to make a few simple tweaks and it'll be ready. If everything goes according to plan, expect to see a new release today!
I also want to try a certain game that "requires" the wi-fi to be offline and I couldn't play it before because I wanted to get this update out...

Do you plan to add a record/convert function (like ReplayMediaCatcher for exemple) ?
This function is "maybe" in the todo list. There is an AVI recording UDF available for AutoIt but I'll have to see if it'll work as intended for Snickerstream.

A little informations/log/debug windows in real time to see packet loss, wifi/connection quality?
Now that I think about it, it only makes sense that I include packet loss errors at loglevel 2 (1 is only basic stuff, 3 logs everything - the one in between should just be a mix of the two, right?). You can already open the logfile while it's being written so, while it isn't exactly what you're talking about, it comes VERY close to that ;)

Some prefab/custom configuration profiles?
Do you have psychic abilities? I just started to add that yesterday after the video was uploaded :mellow:

Also, I've added the ability to switch between Direct2D (hardware accelerated if supported, if not it'll run in software mode) and GDI+ (software only, it's the library that v0.75b already uses) yesterday. Direct2D is better than GDI+ in basically every way, but GDI+ is also compatible with Windows XP (you still need a beefy CPU to use it tho) and supports more interpolation modes, so while I expect that most of you will use D2D I thought it was a nice addition to let the user choose.

Some christmas presents?
Y E S.
 
  • Like
Reactions: ImInsane

John2022

Active Member
Newcomer
Joined
Apr 8, 2010
Messages
39
Trophies
1
XP
237
Country
France
Yes I do:creep:. But like all human beeing, I 've just learned to use it. You have got somes too since you guess it.:grog:
I love to debug too, butt yes, i like Christmas and it's a good news!

About log window, I was thinking about a kind of Network connection quality icon originally, with bars and/or colors, but I said myself it would maybe be much harder to implement so I returned to the essential: a 3 or 4 lines that scroll in realtime, from the debuglog.
The fact is, and I don't know the reason and I will never I guess, my 3DS had some pain to get (and some time to keep) a good connection with the soft/router. My router is at less than 3 meters from the 3DS. It does that only with 3DS. :unsure:

Just one more question maybe ever answered about the quality setting: Is it a percentage ?
 

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
About log window, I was thinking about a kind of Network connection quality icon originally, with bars and/or colors, but I said myself it would maybe be much harder to implement so I returned to the essential: a 3 or 4 lines that scroll in realtime, from the debuglog.
The fact is, and I don't know the reason and I will never I guess, my 3DS had some pain to get (and some time to keep) a good connection with the soft/router. My router is at less than 3 meters from the 3DS. It does that only with 3DS. :unsure:
What you described is a bit complicated but considering that NTRViewer has a frame drop counter something like that might get coded in the future. It isn't too hard and it's a good way to check the quality of your connection in real time ;)

There's a lot of factors that can cause instability with your 3DS's connection, ranging from very simple ones (such as overcrowded wi-fi channels) to subtle, yet very annoying ones (my old ISP-locked router had transparent DNS filtering that would sometimes disconnect the 3DS until I restarted it and that feature couldn't be disabled). If your PC connects via cable (or you have a second wi-fi interface) I suggest you create an hotspot and connect your 3DS to it, this way you'll have more control over what can go wrong!

Just one more question maybe ever answered about the quality setting: Is it a percentage ?
Yes - NTR streams the 3DS's screens via a stream of JPEG images and the quality value controls the individual JPEG's compression. JPEG is always compressed: even if you set quality to 100 you will get at least a few compression artifacts so, realistically speaking, you want that value to be at its maximum around 90 so it takes less bandwith while still looking very good. If you start to drop down from there, it will still look good even when resized (with varying levels of visible compression artifacts) all the way down to 50: once you get past that value it will look progressively worse and worse until you get to 1 (worst quality).
 
Last edited by RattletraPM,

John2022

Active Member
Newcomer
Joined
Apr 8, 2010
Messages
39
Trophies
1
XP
237
Country
France
Mjpeg doesn't rejuvenate me... I understand, everybody can watch what's going on with Paint.net. We can change the ratio on the fly and see the result at the time. Maybe you coud consider adding your explanation about JPG compression to the readme.

For my connection, I'll test some other channel this evening (I heard about inSSIDer), but I think it's my Dreamgear ConfortGrip ( https://images-na.ssl-images-amazon.com/images/I/81SRYZhC6QL._AC_SL1500_.jpg ) wich is fucking some shit. Since it's a pain in the ass to remove it, I'll try it this WE. I'm only wired on my main PC, and it can't do hotspot. Wifi is for mobile stuff, friends and a little work laptop with poor hardware but it's a track to test, thanks.
Edit: I've got a Wifi USB dongle! I'll try it too this evening. :)

Btw, I would love to have the choice to display a icon or a colored dot for the connection quality. Have you think about ping instead of frames counter?
 

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
Mjpeg doesn't rejuvenate me... I understand, everybody can watch what's going on with Paint.net. We can change the ratio on the fly and see the result at the time. Maybe you coud consider adding your explanation about JPG compression to the readme.

For my connection, I'll test some other channel this evening (I heard about inSSIDer), but I think it's my Dreamgear ConfortGrip ( https://images-na.ssl-images-amazon.com/images/I/81SRYZhC6QL._AC_SL1500_.jpg ) wich is fucking some shit. Since it's a pain in the ass to remove it, I'll try it this WE. I'm only wired on my main PC, and it can't do hotspot. Wifi is for mobile stuff, friends and a little work laptop with poor hardware but it's a track to test, thanks.
Edit: I've got a Wifi USB dongle! I'll try it too this evening. :)

Btw, I would love to have the choice to display a icon or a colored dot for the connection quality. Have you think about ping instead of frames counter?
Eh, I don't think it will benefit that much to have ping instead of a dropped frames counter. That's because both devices are on the same network, so unless you're streaming your screens over the internet (which by the way, it is possible but I DO NOT recommend for both latency and safety reasons) is going to be very low under most circumstances.

EDIT: I also want to mention that you don't have to open the ports on your router at if you're streaming on the local network. If you do then not only your stream will be visible to the rest of the internet as long as they know your IP (unless you edit PCIpAddr on the INI to the local IP of your computer) but, as NTR Remoteplay frames are RAW JPEG files being sent in different packets, a malicious user could potentially disrupt your stream by sending invalid or modified packets - which is one of the reasons why I advised against port forwarding above!
 
Last edited by RattletraPM,

The Gonz

Member
Newcomer
Joined
Sep 22, 2016
Messages
10
Trophies
0
Age
44
XP
78
Country
United States
For anyone who wants to play Pokemon/NFC games before the next snickerstream update, open up luma's menu and enable debugger in debugger options. This prevents anything from disabling wifi. I use this for playing pokemon moon :>

Sorry for the noob question. Which Luma menu are you referring to? And how do I access it?

Holding 'select' at boot-up brings me to the configuration menu but I see nothing for debugger.
Thank you in advance.

EDIT: I found it. L + Down + Select opens the new Luma3d menu starting with version 8.0
 
Last edited by The Gonz,

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
Sorry for the noob question. Which Luma menu are you referring to? And how do I access it?

Holding 'select' at boot-up brings me to the configuration menu but I see nothing for debugger.
Thank you in advance.

EDIT: I found it. L + Down + Select opens the new Luma3d menu starting with version 8.0
Glad you found it - but if you wait just a few minutes the new update will be released ^_^

EDIT: Writing a changelog is HAAAAAAAARD.
 
Last edited by RattletraPM,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: @OctoAori20, Cool. Same here.