[WIP] NKStreamer - Remote desktop streaming to 3ds

Discussion in '3DS - Homebrew Development and Emulators' started by namkazt, Jul 21, 2017.

?

What need to do next after Input Mapping ?

Poll closed Jul 25, 2017.
  1. Add sound

    43.8%
  2. New optimized video format

    50.0%
  3. Server UI

    6.3%
  1. namkazt
    OP

    namkazt Advanced Member

    Newcomer
    51
    65
    Jul 21, 2017
    Vietnam
    NKStreamer - [Open Source]
    version 0.5.6

    NKStreamer is a tool using for stream PC desktop screen (or windows) to 3DS with input. Im start working on it from 19/07/2017.
    You can use it for play video, play game

    Offical Discord: Link
    Q&A:
    Movie stream : you can accept the delay (around 1~2 secs) to exchange with FPS and smoothy even stream 3D movie. Some game can still use this mode if no require realtime action.
    Game Stream: lag and delay is not acceptable in some action game so this mode is optimized for it. Allow lantency ~100ms but it will be abit lag at sometime or with low-end wifi router
    Freezes when enter IP or port: make sure using version 0.5.1.
    Download Client v0.5.6: : 3DSX CIA [Thank to @farfar123]
    Download Server v0.5.6b: Link - fixed input crash bug.

    Hope everyone can help me improve it for a better experiment.
    Source Client : https://github.com/namkazt/NKStreamer
    Source Server : https://github.com/namkazt/NKStreamer-Server-


    Banner done by : @farfar123
    Older Version Download : Link

    Platform: Windows (Mac later)

    How to Use:
    1, Config server: in root folder of server have "server.cfg" file. Inside it have port config. Please enter your or keep it as default (1234)
    2, After run server it will list a list of IP address. please select 1 ( normally it will be the last IP )
    3, start app . enter IP and port and press connect.



    Change Logs:

    Client v0.5.6:
    - fix some crash bug on server
    - fix freeze bug on threads ( mostly done with it )
    - add some new configable option :
    ---> Threads number : number of thread will run ( select your self depend on your device )
    ---> Frame Quality : image quality ( 10 to 100 )
    ---> Streaming Mode : Movie stream or Game Stream
    ---> Split frame mode : [Not active for now]
    Server v0.5.6:
    - fix memory leak on capture frame.
    - fix some unstable method
    - add Split frame mode.

    Message: Video mode is abit low frame rate ( im trying to improve it in next version )
    ===================================================
    [NEXT] v0.6:


    Done:
    - Reactivate multi threads for sockManager. so now it have a new way to transfer data.
    - Change libjpeg to turbojpeg - performance + 5~10%
    - remove libsfil libjpeg libpng libwebp ( no need for now )
    - Add UI options to change how many threads run on your devices ( Old 3ds should be 3~4 - New 3ds can up to 6~8 )


    WIP:
    - Xbox input and GamePad Driver Emulator -> input will directly understand as from a gamepad.

    - Optimized Video stream format (50%)
    - Writing new method for server that allow split frame into small pieces ( in order to work perfectly with multithreads socket) (50%)

    ===================================================
    What todo next:

    - New streaming data format optimized for speed. ( i have the ideas about it )
    - Sound
    - Zoom
    - Graphic display current use sd2d and sfil what is no longer support. Implement new method will be
    more optimize for speed and stable.

    ===================================================
    Old version change logs.
    ===================================================
    Warning: Spoilers inside!
     
    Last edited by namkazt, Aug 4, 2017
    NekoMichi, lordelan, Vamosi and 22 others like this.


  2. 3dslove79

    3dslove79 GBAtemp Regular

    Member
    137
    22
    Jul 27, 2014
    Italy
    Can you share a build of this app? =)
     
  3. namkazt
    OP

    namkazt Advanced Member

    Newcomer
    51
    65
    Jul 21, 2017
    Vietnam
    i can but it is not stable and crash after runing around 20~30 minutes. Also input stream is not add yet. ( i want desktop stream more better after working on it )
    im trying to rewrite server with new lib : https://github.com/smasherprog/screen_capture_lite
    old server using ffmpeg and golang is pretty slow.
     
    Last edited by namkazt, Jul 21, 2017
    TheVinAnator and 3dslove79 like this.
  4. 3dslove79

    3dslove79 GBAtemp Regular

    Member
    137
    22
    Jul 27, 2014
    Italy
    Hi @namkazt ,if it is possible you can use the Nvdia gamestream Service thought moonlight opensouce api on github for the 3ds,right?(it works like a charm on my android device)
     
  5. Zhongtiao1

    Zhongtiao1 GBAtemp Fan

    Member
    354
    73
    Feb 24, 2015
    United States
    Moonlight only works with NVidia gpus. Also, even if it was possible, the 3ds's gpu isn't powerful enough to support it.
     
  6. namkazt
    OP

    namkazt Advanced Member

    Newcomer
    51
    65
    Jul 21, 2017
    Vietnam
    Update new video.
    Almost playable for now.



    — Posts automatically merged - Please don't double post! —

    im not using GameStream service. but this way working too also smoother
     
  7. Animacioneskk

    Animacioneskk Member

    Newcomer
    21
    2
    Sep 25, 2016
    Argentina
    When do you think that we can use it?
     
  8. namkazt
    OP

    namkazt Advanced Member

    Newcomer
    51
    65
    Jul 21, 2017
    Vietnam
    When added UI for IP input and some config like : video quality also FPS.
     
  9. Jhynjhiruu

    Jhynjhiruu GBAtemp Fan

    Member
    394
    72
    Dec 31, 2016
    How do I compile it? I installed everything your GitHib told me to, what next?
     
  10. namkazt
    OP

    namkazt Advanced Member

    Newcomer
    51
    65
    Jul 21, 2017
    Vietnam
    Im not upload anything on github yet.
    it will be on version 0.4 ( maybe tomorrow ). Im working on UI right now.
     
  11. XxShalevElimelechxX

    XxShalevElimelechxX GBAtemp Regular

    Member
    154
    84
    Mar 30, 2016
    Israel
    Hi, thanks for this awesome NTR alternative, but may I ask if you're going to port the client to linux too for the linux users here?
     
  12. TheVinAnator

    TheVinAnator GBATemp's Greatest Vin

    Member
    3,526
    2,486
    Jan 10, 2016
    Canada
    NO COFFEI!
    It's actually the opposite of NTR. :P

    Great work! I hope you finish it and get it working well, this looks quite awesome!
     
    TotalInsanity4 likes this.
  13. namkazt
    OP

    namkazt Advanced Member

    Newcomer
    51
    65
    Jul 21, 2017
    Vietnam
    Hi, Linux and Mac is later features.

    Thankyou.
     
    TheVinAnator likes this.
  14. cots

    cots GBAtemp Fan

    Member
    485
    315
    Dec 29, 2014
    United States
    Impressive. Can't wait to download it and try it out.
     
  15. XxShalevElimelechxX

    XxShalevElimelechxX GBAtemp Regular

    Member
    154
    84
    Mar 30, 2016
    Israel
    That's what I said, I said It's an NTR ALTERNATIVE :P
    I saw you wrote about Mac but not about Linux.. Thanks a lot! :)
     
  16. TheVinAnator

    TheVinAnator GBATemp's Greatest Vin

    Member
    3,526
    2,486
    Jan 10, 2016
    Canada
    NO COFFEI!
    No, an alternative is something that has the same functionality but is either made by someone else, or made with something else, etc.
     
    zezzo likes this.
  17. XxShalevElimelechxX

    XxShalevElimelechxX GBAtemp Regular

    Member
    154
    84
    Mar 30, 2016
    Israel
    Sorry, I saw my post again and was meant to say this about specifically the steaming feature lol.
     
    zezzo and TheVinAnator like this.
  18. MrCatFace

    MrCatFace Advanced Member

    Newcomer
    84
    33
    Jun 3, 2017
    Home (Is where the heart is, so my chest?)
    Neat. Will it be able to control the connected PC? If so this has so much potential.
     
  19. TheVinAnator

    TheVinAnator GBATemp's Greatest Vin

    Member
    3,526
    2,486
    Jan 10, 2016
    Canada
    NO COFFEI!
    As he said, that's definitely what he plans to do, which is indeed another reason this is awesome!
     
  20. majoru

    majoru Advanced Member

    Newcomer
    96
    18
    Dec 13, 2016
    Macau
    i remember asking for this somewhere just 2-3 months ago , and people making fun of me and saying that i was impossible