StreamingPluginWiiU/README.md

66 lines
3.3 KiB
Markdown

# ScreenStreaming for the Wii U [![Build Status](https://api.travis-ci.org/Maschell/StreamingPluginWiiU.svg?branch=master)](https://travis-ci.org/Maschell/StreamingPluginWiiU)
## Still an early PROOF OF CONCEPT. DON'T EXPECT MAGIC.
This is just a simple plugin that allows you to stream the content of the Gamepad or TV screen to your Computer. With default settings streams in a resolution of 428x240 with selft adjusting quality and tries to achieve as much fps as possible.
It's possible to adjust the resolution via the config menu (Press **L, DPAD DOWN and MINUS** on your Wii U Gamepad whenever using the home menu is allowed).
But general notes:
- This is still an early PoC.
- Encoding is done in software, not hardware.
- It probably affects gameplay. Loading times are increased, games could lag. I wouldn't recommend you to play online.
- All settings are hardcoded. In the future it will (hopefully) be possible to choose the screen to stream (TV or DRC), at which resolution and which quality.
- No streaming of the home menu.
- Probably unstable.
- Some games might be too dark, some might be too bright, some doesn't work at all.
- Currently streaming is achieved via a custom Java client.
## Configuration
While the plugin is running, is possible to configure certain parameters. To open the config menu press **L, DPAD DOWN and MINUS** on your Wii U Gamepad. For more information check the [Wii U Plugin System](https://github.com/Maschell/WiiUPluginSystem).
Currently the following options are available:
- Change the resolution, possible options: 240p, 360p and 480p
- Choose the screen to stream, possible options: Gamepad, TV.
# Usage
Simply load the plugin with the plugin loader, after that start the [StreamingPluginClient](https://github.com/Maschell/StreamingPluginClient). The StreamingPluginClient requires a computer with Java 8. Double click on the `.jar` and enter the IP address of your Wii U console.
If you don't know the IP of your Wii U, you can start for example [ftpiiu](https://github.com/dimok789/ftpiiu) which shows the IP when running.
## Wii U Plugin System
This is a plugin for the [Wii U Plugin System (WUPS)](https://github.com/Maschell/WiiUPluginSystem/). To be able to use this plugin you have to place the resulting `.mod` file into the following folder:
```
sd:/wiiu/plugins
```
When the file is placed on the SDCard you can load it with [plugin loader](https://github.com/Maschell/WiiUPluginSystem/).
## Building
For building you need:
- [wups](https://github.com/Maschell/WiiUPluginSystem)
- [wut](https://github.com/decaf-emu/wut)
- [libutilswut](https://github.com/Maschell/libutils/tree/wut) (WUT version) for common functions.
Install them (in this order) according to their READMEs. Don't forget the dependencies of the libs itself.
Other external libraries are already located in the `libs` folder.
- libjpeg
- [libturbojpeg](https://libjpeg-turbo.org/)
### Building using the Dockerfile
It's possible to use a docker image for building. This way you don't need anything installed on your host system.
```
# Build docker image (only needed once
docker build . -t screenstreamer-builder
# make
docker run -it --rm -v ${PWD}:/project screenstreamer-builder make
# make clean
docker run -it --rm -v ${PWD}:/project screenstreamer-builder make clean
```