Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Chokistream 3DS: Difference between revisions

From GameBrew
No edit summary
No edit summary
Line 4: Line 4:
|description=A from-scratch re-implementation of Snickerstream.
|description=A from-scratch re-implementation of Snickerstream.
|author=Eiim, herronjo, ChainSwordCS
|author=Eiim, herronjo, ChainSwordCS
|lastupdated=2023/07/23
|lastupdated=2023/08/23
|type=3DS Streaming
|type=3DS Streaming
|version=1.2
|version=2.0
|license=GPL-3.0
|license=GPL-3.0
|download=https://dlhb.gamebrew.org/3dshomebrews/chokistream3ds.7z
|download=https://dlhb.gamebrew.org/3dshomebrews/chokistream3ds.7z
Line 91: Line 91:


==Changelog==
==Changelog==
'''v2.0'''
*Compatibility
**Full HzMod TGA support
***There may be some extremely rare edge cases that don't work. If you find one, let us know!
**Better ChirunoMod and HzMod 24bpp compatibility
**Better HzMod fractional screen support
*Image Sequences
**We now support writing frames to image files!
**Currently limited to PNG output
**Doesn't respect layout, outputs each frame individually as it gets them
*GUI
**Refactored GUI to use Swing instead of JavaFX
**This eliminates a major source of development difficulties on the GUI
**Also allows us to support more platforms (e.g. FreeBSD) as we're now fully pure-Java
**Also cuts our binary down from ~10MB to just ~3MB
**Simplified our GUI somewhat by removing the currently-unused Interpolation Mode, the newly-unused DPI, and moving video file settings to a new "Output Settings" window
**Added output settings for image sequences
**The main settings now have tooltips
**Assorted visual tweaks
*Other
**Better .ini file parsing
**Bugfix in video streaming output
'''v1.2'''
'''v1.2'''
*This release primarily adds support for fractional screen with HzMod. This is most strongly felt on Old 3DS systems, which become much more usable with this change, but may improve edge cases for New 3DS systems as well. Also includes one other minor bug fix. Thanks to @ChainSwordCS for debugging this release.
*This release primarily adds support for fractional screen with HzMod. This is most strongly felt on Old 3DS systems, which become much more usable with this change, but may improve edge cases for New 3DS systems as well. Also includes one other minor bug fix. Thanks to @ChainSwordCS for debugging this release.

Revision as of 02:09, 23 August 2023

Chokistream
Chokistream3ds2.png
General
AuthorEiim, herronjo, ChainSwordCS
Type3DS Streaming
Version2.0
LicenseGPL-3.0
Last Updated2023/08/23
Links
Download
Website
Source

Nintendo 3DS wireless video capture software, compatible with ChirunoMod, 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

  • Only client to support ChirunoMod.
  • Supports Windows, Linux, and Mac (builds may not be available for all platforms for all releases).
  • 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.
  • No monitor? No problem! Chokistream can run entirely headless and stream straight to a video file (currently very buggy).
  • 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

For more information see the list of tested builds (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.
  • HorizonScreen - PC-side viewer by Sono. May not work with some builds.
  • Snickerstream - PC-side viewer by RattletraPM. Should work with all builds.

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

v2.0

  • Compatibility
    • Full HzMod TGA support
      • There may be some extremely rare edge cases that don't work. If you find one, let us know!
    • Better ChirunoMod and HzMod 24bpp compatibility
    • Better HzMod fractional screen support
  • Image Sequences
    • We now support writing frames to image files!
    • Currently limited to PNG output
    • Doesn't respect layout, outputs each frame individually as it gets them
  • GUI
    • Refactored GUI to use Swing instead of JavaFX
    • This eliminates a major source of development difficulties on the GUI
    • Also allows us to support more platforms (e.g. FreeBSD) as we're now fully pure-Java
    • Also cuts our binary down from ~10MB to just ~3MB
    • Simplified our GUI somewhat by removing the currently-unused Interpolation Mode, the newly-unused DPI, and moving video file settings to a new "Output Settings" window
    • Added output settings for image sequences
    • The main settings now have tooltips
    • Assorted visual tweaks
  • Other
    • Better .ini file parsing
    • Bugfix in video streaming output

v1.2

  • This release primarily adds support for fractional screen with HzMod. This is most strongly felt on Old 3DS systems, which become much more usable with this change, but may improve edge cases for New 3DS systems as well. Also includes one other minor bug fix. Thanks to @ChainSwordCS for debugging this release.

v1.1

  • Full ChirunoMod support with v0.2! This includes things like:
    • Interlacing.
    • Much better O3DS support.
    • Improved image color mode support.
    • Options to request top/bottom/both screens.
    • Vsync/Hsync for interlacing and O3DS partial screen.
    • Much improved logging.
    • Lots of bug fixes.
    • Some minor code quality improvements.
  • Full 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

Advertising: