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

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
your 30 fps update work, i don't know if you have tested before but there is a little bit more drops with this fonction ( not many, just 2-3fps )
It's a problem caused by a limitation of AutoIt's sleep function that I only noticed after commiting the changes. Let me explain quickly:

The tool locks its framerate in a pretty common fashion, aka by calculating the delta time (average milliseconds it should pass between frames minus time spent recieving and drawing a frame onscreen) and waiting that amount of time if it's greater than zero (if it's not then it means the program isn't keeping up with the framerate). Now, I knew that AutoIt's sleep function is kinda inaccurate - that's why I called this function experimental - but it would have worked just fine if its minimum sleep time wasn't limited to 10ms, which might seem like an incredibly small and irrelevant amount of time until you realize that sometimes the tool needs to sleep just a few milliseconds.

Take into consideration this example: you set the framelock to 30 FPS which means that the average time between frames is 33.333... (repeating decimal) milliseconds and the tool takes 32ms to recieve and render the frame so the tool should wait a little bit more than 1.33ms before rendering the next frame, but since AutoIt's function can sleep for a minimum of 10ms it will end up sleeping around 7,5 times than the amount needed!

This isn't an unsolvable issue, howerer - in the next commit I'll use timers instead of the sleep functions, which are much more accurate so they don't have this limitation.
 
Last edited by RattletraPM,
  • Like
Reactions: astrals

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
Welp, this was a pretty intense week for me irl and I almost didn't have any free time, but I've still managed to make a small update:

- Changed the way framelocking works: the sleep function has been replaced by timers (more precise) so streaming should be much smoother and framelocking only affects the prioritized screen now
- Screenshots will now hide the mouse cursor (partial fix for issue #6)

It's an unstable update so, as usual, you can get it by cloning the GitHub repo.
 

Heat1337

New Member
Newbie
Joined
Nov 25, 2017
Messages
1
Trophies
0
Age
31
XP
51
Country
United States
I was just using this yesterday to record videos and it was working great. Now today I tried it and i can only get 3fps. Nothing changed for me. The only thing I can think of his that NTR crashed a few times on me and I had to reboot. Here is my log file.

[15:23] Some packets have been dropped! Skipping current frame. (Check your connection!)
[15:23] Packet recieved: frameID:161,isTop:1,packetNum:0
[15:23] Packet recieved: frameID:161,isTop:1,packetNum:1
[15:23] Packet recieved: frameID:161,isTop:1,packetNum:2
[15:23] Packet recieved: frameID:161,isTop:1,packetNum:4
[15:23] Some packets have been dropped! Skipping current frame. (Check your connection!)
[15:23] Packet recieved: frameID:161,isTop:1,packetNum:5
[15:23] Invalid or incomplete packet recieved, skipping. This is OK if you've just started Snickerstream.
[15:23] Packet recieved: frameID:162,isTop:1,packetNum:0
[15:23] Packet recieved: frameID:162,isTop:1,packetNum:3
[15:23] Some packets have been dropped! Skipping current frame. (Check your connection!)
[15:23] Packet recieved: frameID:162,isTop:1,packetNum:4
[15:23] Invalid or incomplete packet recieved, skipping. This is OK if you've just started Snickerstream.
[15:23] Packet recieved: frameID:162,isTop:1,packetNum:5
[15:23] Invalid or incomplete packet recieved, skipping. This is OK if you've just started Snickerstream.
[15:23] Packet recieved: frameID:162,isTop:1,packetNum:7
[15:23] Invalid or incomplete packet recieved, skipping. This is OK if you've just started Snickerstream.
[15:23] Packet recieved: frameID:163,isTop:1,packetNum:1
[15:23] Invalid or incomplete packet recieved, skipping. This is OK if you've just started Snickerstream.
[15:23] Packet recieved: frameID:163,isTop:1,packetNum:2
[15:23] Invalid or incomplete packet recieved, skipping. This is OK if you've just started Snickerstream.
[15:23] Packet recieved: frameID:163,isTop:1,packetNum:6
[15:23] Invalid or incomplete packet recieved, skipping. This is OK if you've just started Snickerstream.
[15:23] Packet recieved: frameID:164,isTop:1,packetNum:0
[15:23] Packet recieved: frameID:164,isTop:1,packetNum:3
[15:23] Some packets have been dropped! Skipping current frame. (Check your connection!)
[15:23] Packet recieved: frameID:164,isTop:1,packetNum:8
[15:23] Invalid or incomplete packet recieved, skipping. This is OK if you've just started Snickerstream.
[15:23] Packet recieved: frameID:165,isTop:1,packetNum:0
[15:23] Packet recieved: frameID:165,isTop:1,packetNum:4
[15:23] Some packets have been dropped! Skipping current frame. (Check your connection!)
[15:23] Packet recieved: frameID:165,isTop:1,packetNum:7
[15:23] Invalid or incomplete packet recieved, skipping. This is OK if you've just started Snickerstream.
[15:23] Packet recieved: frameID:165,isTop:17,packetNum:9
[15:23] Invalid or incomplete packet recieved, skipping. This is OK if you've just started Snickerstream.
[15:23] Packet recieved: frameID:166,isTop:1,packetNum:1
[15:23] Invalid or incomplete packet recieved, skipping. This is OK if you've just started Snickerstream.
[15:23] Quitting.
 

Metalchilla

Well-Known Member
Newcomer
Joined
May 17, 2016
Messages
57
Trophies
0
Age
30
XP
161
Country
United States
Hi, I did a stream test on snickerstream. Everything was fine with a stable 35fps. I have a major problem though. When I am walking around in pokemon Ultra Moon the it's pixelated. (on balanced settings. Not sure about higher settings.) The quality is pretty low and pretty unwatchable for a 720p stream. Whenever i'm in a battle though, it's fine. It looks good and runs fine.
 

astrals

Member
Newcomer
Joined
Jan 22, 2017
Messages
18
Trophies
0
Age
32
XP
66
Country
France
Hi, I did a stream test on snickerstream. Everything was fine with a stable 35fps. I have a major problem though. When I am walking around in pokemon Ultra Moon the it's pixelated. (on balanced settings. Not sure about higher settings.) The quality is pretty low and pretty unwatchable for a 720p stream. Whenever i'm in a battle though, it's fine. It looks good and runs fine.
try to put your QOS value between 50-100 ( 100=use only if you have a good speed; nothing other on wifi ) or 101 ( if you read the faq you you know what +100 do )
quality of 70 is good but if you can try 80+ ( depend on your material ) :)

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

try to put your QOS value between 50-100 ( 100=use only if you have a good speed; nothing other on wifi ) or 101 ( if you read the faq you you know what +100 do )
quality of 70 is good but if you can try 80+ ( depend on your material ) :)
Welp, this was a pretty intense week for me irl and I almost didn't have any free time, but I've still managed to make a small update:

- Changed the way framelocking works: the sleep function has been replaced by timers (more precise) so streaming should be much smoother and framelocking only affects the prioritized screen now
- Screenshots will now hide the mouse cursor (partial fix for issue #6)

It's an unstable update so, as usual, you can get it by cloning the GitHub repo.
i have try to add an AVI player but not working ( i'm a beginner with auoit, i try to help, i need to fix my hook) :)
 

Metalchilla

Well-Known Member
Newcomer
Joined
May 17, 2016
Messages
57
Trophies
0
Age
30
XP
161
Country
United States
try to put your QOS value between 50-100 ( 100=use only if you have a good speed; nothing other on wifi ) or 101 ( if you read the faq you you know what +100 do )
quality of 70 is good but if you can try 80+ ( depend on your material ) :)

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



i have try to add an AVI player but not working ( i'm a beginner with auoit, i try to help, i need to fix my hook) :)
what does 101 for QoS do? I don't see it on the wiki.
 

avReal

Member
Newcomer
Joined
Nov 28, 2017
Messages
15
Trophies
0
Age
35
XP
58
Country
Poland
I'm about to get a hardware to use with Snickerstream, but first: will it run properly on New 2DS XL? Or should I buy New 3DS XL, which is a lot more expensive?
Next question: what should I install on my console to run with Snickerstream? It's my first time modding hardware, so I'm pretty unsure what to do - could someone tell me?
 

ImInsane

Well-Known Member
Member
Joined
Dec 20, 2014
Messages
130
Trophies
0
Age
33
XP
359
Country
Brazil
I'm about to get a hardware to use with Snickerstream, but first: will it run properly on New 2DS XL? Or should I buy New 3DS XL, which is a lot more expensive?
Next question: what should I install on my console to run with Snickerstream? It's my first time modding hardware, so I'm pretty unsure what to do - could someone tell me?

Im pretty sure u can run it in n2ds, u need to install ntr cfw, just it.
Assuming u know how to install b9s.
 

avReal

Member
Newcomer
Joined
Nov 28, 2017
Messages
15
Trophies
0
Age
35
XP
58
Country
Poland
Unfortunately, I don't know how to install b9s. I don't even know what it is. Like I said earlier, I'm new to modding 3DS/2DS...
 

sgkino

Member
Newcomer
Joined
Sep 14, 2017
Messages
6
Trophies
0
Age
64
XP
63
Country
Hong Kong
Deeply appreciate your works & updates!!
It keeps 30FPS or above most of the time, while I am playing Majora's Mask!!
Thanks so much. Keep going!
 

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
I've just made another small update to the GitHub source:

- Snickerstream will now return to the connection window if the 3DS disconnects (aka a certain amount of time passes without any frames being recieved). The default amount of time is set to 6 seconds but it can be adjusted by adding/editing ReturnAfterMsec in settings.ini (setting it to 0 or a negative value will disable this feature). Thanks to /u/DaWoblefet on the 3dshacks subreddit for the suggestion!
- Snickerstream is now set to be DPI aware (possible fix for issue #8)

I was planning to add some more complex features to Snickerstream because I've passed two exams so I should have a bit more free time but I've been unlucky and yesterday I caught a fever... yeah, it sucks :glare: Still, I had this update halfway ready for a while now and it was very simple to code this stuff in so I decided to publish it now even if I should be getting some rest.

Anyways I'm already feeling a bit better so it shouldn't pass a lot of time before I'll be a-ok again, so at least there's that!
 

Deathscreton

Well-Known Member
Member
Joined
Oct 1, 2009
Messages
826
Trophies
0
XP
1,092
Country
United States
I've just made another small update to the GitHub source:

- Snickerstream will now return to the connection window if the 3DS disconnects (aka a certain amount of time passes without any frames being recieved). The default amount of time is set to 6 seconds but it can be adjusted by adding/editing ReturnAfterMsec in settings.ini (setting it to 0 or a negative value will disable this feature). Thanks to /u/DaWoblefet on the 3dshacks subreddit for the suggestion!
- Snickerstream is now set to be DPI aware (possible fix for issue #8)

I was planning to add some more complex features to Snickerstream because I've passed two exams so I should have a bit more free time but I've been unlucky and yesterday I caught a fever... yeah, it sucks :glare: Still, I had this update halfway ready for a while now and it was very simple to code this stuff in so I decided to publish it now even if I should be getting some rest.

Anyways I'm already feeling a bit better so it shouldn't pass a lot of time before I'll be a-ok again, so at least there's that!

Hey Rattle! I don't know if you remember me, but when you originally released Snickerstream, we connected via Steam so I could help with testing and the such. If you still need help or assistance, feel free to reach out to me regarding this. I'd be happy to lend a helping hand.
 

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
Hey Rattle! I don't know if you remember me, but when you originally released Snickerstream, we connected via Steam so I could help with testing and the such. If you still need help or assistance, feel free to reach out to me regarding this. I'd be happy to lend a helping hand.
Damn, it's been so long ago... Sorry if I forgot! :(
Anyways, sure - I might publish unstable updates now because Snickerstream is a lot better and more usable than its PoC days but there are a few features that I want to code in which will require lots of testing, so I'll tell you when I need to test out some new stuff!
 
  • Like
Reactions: Deathscreton

Deathscreton

Well-Known Member
Member
Joined
Oct 1, 2009
Messages
826
Trophies
0
XP
1,092
Country
United States
Damn, it's been so long ago... Sorry if I forgot! :(
Anyways, sure - I might publish unstable updates now because Snickerstream is a lot better and more usable than its PoC days but there are a few features that I want to code in which will require lots of testing, so I'll tell you when I need to test out some new stuff!
Not at all man! I know how life can have you by the balls sometimes. I appreciate the work you put into your project, just wanted to see if there was any help we could provide! Considering my coding skills are mostly C++ based, and I don't have much (any actually) reverse engineering experience, just wanted to do what I could to help!
 

avReal

Member
Newcomer
Joined
Nov 28, 2017
Messages
15
Trophies
0
Age
35
XP
58
Country
Poland
I'm about to install b9s. What should I do after that to run Snickerstream?

//EDIT: cant install b9s - I dont have any other console with it, and dont have the flashcard. Soldering is not possible for me :P

Is there any other option to run Snickerstream?
 
Last edited by avReal,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    LeoTCK @ LeoTCK: yes for nearly a month i was officially a wanted fugitive, until yesterday when it ended