Skip to content

giovannimirulla/TsVitch

Repository files navigation

logo

TV finally on Switch



screenshot

Introduction

This app turns your Nintendo Switch into a powerful multimedia streaming device. With a user-friendly interface and extensive customization options, you can easily access and enjoy your favorite IPTV channels.

  • Access to Your Favorite Content: Supports IPTV playlists in M3U format, enabling streaming of live TV, movies, and on-demand series.
  • Optimized Interface: A clean, intuitive design tailored for Nintendo Switch's touchscreen and Joy-Con controls.
  • Multilanguage Support: Offers subtitles, multiple audio tracks, and language options for a global audience.

Default Playlist

The app comes preloaded with a default playlist sourced from the Free-TV/IPTV repository. This repository provides a wide range of free and publicly available IPTV channels.

Nintendo Switch

  1. Download tsvitch-NintendoSwitch.zip from: tsvitch releases
  2. Place tsvitch.nro in the SD card under the switch directory.
  3. On the home screen, hold the R button while opening any game to access hbmenu. From the list, select tsvitch and click to launch.
  4. [Optional] Install a desktop shortcut within the app via: Settings/Utilities/User Guide.

Clone & Build

# Pulling code
git clone --recursive https://github.com/giovannimirulla/TsVitch.git
cd tsvitch

PC

Currently tsvitch is supported on macOS.

macOS

# macOS: install dependencies
brew install mpv webp

cmake -B build -DPLATFORM_DESKTOP=ON
make -C build tsvitch -j$(sysctl -n hw.ncpu)

Cross-compile the Switch executable (tsvitch.nro)

Recommended to use docker build, local build configuration environment is slightly cumbersome, but can be used to switch the underlying ffmpeg or mpv and other dependent libraries for more flexible debugging.

The following describes the build method under OpenGL. deko3d (better hard solver support) please refer to it: scripts/build_switch_deko3d.sh

Docker

docker run --rm -v $(pwd):/data devkitpro/devkita64:20240202 \
  bash -c "/data/scripts/build_switch.sh"

Compilation

# 1. Install the devkitpro environment: https://github.com/devkitPro/pacman/releases

# 2. Installation of dependencies
sudo dkp-pacman -S switch-glfw switch-libwebp switch-cmake switch-curl devkitA64

# 3. Installing custom dependencies
base_url="https://github.com/xfangfang/wilwili/releases/download/v0.1.0"
sudo dkp-pacman -U \
    $base_url/switch-ffmpeg-7.1-1-any.pkg.tar.zst \
    $base_url/switch-libmpv-0.36.0-3-any.pkg.tar.zst

# 4. Build
cmake -B cmake-build-switch -DPLATFORM_SWITCH=ON
make -C cmake-build-switch tsvitch.nro -j$(nproc)

Disclaimer

This project is for educational purposes only. The author is not responsible for any damage caused by the use of this project. Please comply with the laws of your country.

This app does not host or provide any IPTV content. Users are responsible for ensuring their playlists contain only legal and authorized content.

Acknowledgement

The development of tsvitch cannot do without the support of the following open source projects.