Chokistream 3DS

From GameBrew

Chokistream
Chokistream3ds2.png
General
AuthorEiim, herronjo, ChainSwordCS
Last Updated2022/08/17
Type3DS Streaming
Version1.0
LicenseGPL-3.0
Links
Download
Website
Source

Chokistream is a Nintendo 3DS wireless video capture software, compatible with BootNTR and HzMod and the only cross-platform video capture software to support HzMod.

It is a from-scratch re-implementation of Snickerstream, with planned TARGA support from TGAHz and HorizonScreen.

Features

  • Portable as it's just a standalone jar file.
  • TGA (lossless compression) support for HzMod, the only application other than HorizonScreen to do so.
  • Various display output options to get it looking just right on your monitor.
  • Can run entirely headless and stream straight to a video file (currently unstable).
  • Color correction modes to fix whatever weirdness HzMod may throw your way.
  • Dual-Screen HzMod support for version 2017-05-05 (one of two dual-screen versions).

User guide

Chokistream vs Snickerstream

Chokistream Snickerstream
Partial HzMod TGA support NTR Remote Control
Dual-screen HzMod (2017-05-05) support Can adjust HzMod settings mid-stream
Linux & MacOS support Better NFC patching
Flexible log output NTR patching
Streaming to file (unstable for now) Fullscreen mode
Headless mode Better performance (Generally not noticeable)

HzMod Support Chart

chokistream3ds5.png

See the list of tested builds with summaries (maintained by ChainSwordCS), below is a basic summary of the different files:

  • HorizonM.cia or HzMod.cia - Backend/Base Module (does not show up on Home Menu, if you ever need to uninstall this the TitleID is probably 000401300CF00F02).
  • HzLoad.cia - Launcher (shows up on Home Menu, does not contain module).
  • HzLoad_HIMEM.cia - Launcher for extended-memory games on Old 3DS + 2DS only.

How to setup:

  • Find a supported build, install HzLoad.cia and HorizonM.cia on your console (and also HzLoad_HIMEM.cia if you're on an Old 2/3DS).
  • Make sure your 3DS is connected to the internet, then launch HorizonM Loader (or HorizonM HIMEM Loader if you're on an Old 2/3DS and you want to stream high memory games).
  • You should be booted back to the Home Menu and the notification LED should be cyan. Make sure Chokistream is connected on the same network as your PC, then launch Chokistream.

Using Chokistream

Note: This requires Java 17 to run.

When you first launch Chokistream (create a file named chokistream.ini in the same directory if it's not there), you'll need to select the mod you're using (NTR or HzMod) and fill in the IP of your 3DS. These are the most important parts of the setup. There are a number of homebrew apps that can show you your IP:

You may want to set the layout for a better appearance, and the scale if you find that the image is too small. It is recommended to use integer scaling, but decimal is also supported. Depending on your mod, you'll likely also want to set mod settings.

NTR settings:

  • Quality is a trade-off between image quality and speed. It ranges from 0-100.
  • If the game you're streaming uses the bottom screen heavily, you may want to switch the priority screen to bottom.

HzMod settings:

  • Quality is a trade-off between image quality and speed.
  • For versions supporting TGA, 0 quality requests TGA. (You can also use the check box).
  • The requested screen probably doesn't do anything for any version of HzMod except potentially 2017-05-05.

Once you're ready, hit "Connect!". After it connects to the 3DS, it should start showing the display(s). You can press S to take a screenshot, or up and down to adjust the quality if you're using HzMod.

Screenshots

chokistream3ds6.png

chokistream3ds4.png

Known issues

Please see https://github.com/Eiim/Chokistream/issues.

Changelog

v1.0

  • HzMod TGA mode support (still somewhat limited).
  • GUI rebuilt from the ground up.
  • True nearest-neighbor interpolation.
  • Support for HzMod CPU cap.
  • FPS counter in displays.
  • Stream to a video file.
  • Fully headless/CLI mode.
  • Refactor tons of code to make things easier to work.

v0.1

  • Support for NTR and modern HzMod JPEG mode. Bugs are likely, features are incomplete, and HzMod support is limited, but all these should get better in the near future.

Credits

Special thanks to:

  • RattletraPM for Snickerstream.
  • Sono for HzMod.
  • Cell9/44670 for BootNTR.
  • Nanquitas for BootNTRSelector.
  • All other open-source contributers.

External links