Switchfin: Jellyfin client for Nintendo Switch

Switchfin is third-party PC player for Jellyfin that provides a native user interface to browse and play movies and series.

Project repository|Stable Build|Nightly Build

This project is in its early stages so expect bugs.

Screenshots​


HomeLibrary
Home
Library
SearchMusic
Search
Music
SeriesEpisode
Series
Episode

Features​

  • Completely native interface
  • Supported media items: movies, series, seasons, episodes
    • Direct play and transcoding
  • Base on MPV Player
    • Container formats: mkv, mov, mp4, avi
    • Video codecs: H.264, H.265, VP8, VP9, AV1
    • Audio codecs: Opus, FLAC, MP3, AAC, AC-3, E-AC-3, TrueHD, DTS, DTS-HD
    • Subtitle codecs: SRT, VTT, SSA/ASS, DVDSUB
    • Optionally force software decoding when hardware decoding has issues.

Input mapping during playback

  • A Play/Pause
  • B Stop during
  • Y Toggle OSD
  • X Show Menu
  • R/L Seek +/-
  • L Stick Button Toggle Speed Select
  • R Stick Button Toggle Video Quality Select
  • + Show video profile

ChangeLog​


0.8.3 (2016-02-02)
fix json parse failed when SeriesId is null
add bonus video view for series tab
add add home tab retry dialog when request failed

0.8.2 (2025-12-20)
fix thumb image for episodes on home page
add refresh support for dashboard
add option of ui scale
add add spanish/french localization

0.8.1 (2025-12-09)
stability improvement
adjust dashboard view
add program tab for livetv

0.8.0 (2025-12-06)
fixed webdav client for clouddrive2
refactor home tab for split media
add dashboard tab for view devices, activities etc.
video profile add subtitle codec

0.7.7 (2025-11-17)
compatibility update for 21.0.0
adjust direct play logic

0.7.6 (2025-10-22)
fix login issue on jellyfin 10.11
improve tls1.3 support by mbedtls

0.7.5 (2025-09-17)
add song/artist tab for music
support receive media files as args
i18n: add russian localization @wildrun0

0.7.4 (2025-07-25)
fix LiveTV not working

0.7.2 (2025-06-21)
fixed audio/sub selection when transcode
fixed resume play on movie tab

0.7.1 (2025-05-26)
add suggest/genres tab for collection
fix image load for search sugguest
fix series/movie view logo layout

0.7.0 (2025-05-16)
refactor series view layout
add people view of series/movie
add Brazilian Portuguese localization (@brunorossetto)
add external drive support
fix remote load large file list
use mpv watch-later for remote

0.6.3 (2025-03-12)
add player option for video rotate
add photo viewer support
upgrade ffmpeg 7.1.1
websocket close gracefully

0.6.2 (2025-02-27)
fix strm format support
search suggest include `MusicAlbum`
improve image load speed
optimize auto quality option
add mirror play support
add korean localization
add psvita gxm support

0.6.1 (2024-12-22)
ignore save resume on m3u playlist
ignore save window stat when fullscreen
fix websocket support on switch

0.6.0 (2024-12-7)
add japanese localization (@yyoossk)
add vietnamese localization (@tlover-code)
support modify server url
remote add ftp/sftp support
remote add resume history
fix loading osd when change episode
fix update server info when check login
fixaudio load failed when proxy enabled
fixnavigate route of video view
fix focus logic of lock button

0.5.3 (2024-10-27)
save windows state when exit
support touch input on linux (@xfangfang)
support paste text to search input (@xfangfang)
new option low quality
new option subtitle fallback
support custom user-agent in webdav browser
http server support for remote
support loading custom emoji font
fixed empty tab when search failed

0.5.1 (2024-7-30)
upgrade ffmpeg 7.0.1
add highlight for current play track
add live tv support
add webdav file browser
fixed network timeout for load video
fixed panic after cancel login
fixed abnormal focus when login after add server
fixed server list url display

0.5.0 (2024-5-22)
add danmu plugin integration
add video flip and subtitle sync support for player
add video equalizer setting
add episode selector on player view
add new option `Always on top` for desktop platform
add Czech localization
support `MusicView` and `PlayList`
forward nsp add startup logo

0.4.4 (2023-1-28)
add proxy option for http request
sync filter setting with official media player
add setting entry from server add tab
fix osd lock touch gesture
fix wrong toggle icon after seek when paused
fix crash when open filter

0.4.3 (2023-1-19)
add logout from setting tab
player view add touch gesture
upgrade ffmpeg 6.1.1
fix series tab viewed badge
fix device name under macOS

0.4.2 (2023-1-09)
add close button for series/collection
add lock button for player view
auto hide osd on loading end
fix login disclaimer after switch server
fix cannot trigger loading next page after refresh

0.4.1 (2023-11-26)
add tap control for progress slider
add volume control for video
add play progress on more page
add login disclaimer display
fixed server selection by joystick
fix home tab auto refresh

0.4.0 (2023-11-16)
add music album support*
save video quality to config
add option of player_inmemory_cache
improve password input
fix option for speed control
fix osd show timeout

0.3.4 (2023-11-10)
add option for open debug layer
add support of clear search history
improve url check for server add
fix osd navigate with dpad/analog stick

0.3.3 (2023-11-8)
movie collection support
add filter for media collection
add speed up feature when pressed on
add play/stop action when double click
upgrade ffmpeg to release/6.1

0.3.2 (2023-9-27)
add new option forceDirectPlay
support chapter select
support subtitle/audio track selection on transcode play
fix trancode codec type
fix crash on exit when playing media

0.3.1(2023-9-18)
switch: FFmpeg: support vp9 hwdec
server list support user selection
login quick connect support
fix crash when http exception

0.3.0 (2023-9-8)
switch: FFmpeg: Update to 6.0 with hwaccel backend, Thanks to averne
set mpv option subs-fallback to yes
complete server list selector
fix searies tab layout
fix search result not update when delete charactor
fix: setting selection which required restart

If external subtitle didn't display correctly, please put your font to /switch/Swichfin/subfont.ttf
Post here any kind of bug/suggestions.
Enjoy!

Thanks to​

 
Last edited by dragonflylee,
For the last 3 switchfin updates I've had this problem of switchfin spitting out a "Could not connect to server" error as a black box in the top right as well as a switch os dialogue box, failing to load anything. Occasionally it will work for a moment, but it will almost immediately spit the same error out as well as a timeout error, resulting in a partially populated homescreen with no thumbnails.

I triple checked the link, username and password and couldn't find any mistakes. I can connect to the server just fine on other devices. Server is the most recent version, hosted on an up-to-date Debian machine. I'm connecting to the server over the internet, and HTTPS is working correctly. I can't test if switchfin would work over a LAN connection right now. Any idea what might be causing this issue for me?
 
Last edited by ThatEntityGirl,
For the last 3 switchfin updates I've had this problem of switchfin spitting out a "Could not connect to server" error as a black box in the top right as well as a switch os dialogue box, failing to load anything. Occasionally it will work for a moment, but it will almost immediately spit the same error out as well as a timeout error, resulting in a partially populated homescreen with no thumbnails.

I triple checked the link, username and password and couldn't find any mistakes. I can connect to the server just fine on other devices. Server is the most recent version, hosted on an up-to-date Debian machine. I'm connecting to the server over the internet, and HTTPS is working correctly. I can't test if switchfin would work over a LAN connection right now. Any idea what might be causing this issue for me?

try select Request timeout to 5000ms
 
Sorry for replying so late.

Both builds will still fail like usual and throw out the usual errors. It's hard to tell what does and doesn't work more consistently, but overall I believe both connect to the server and partially load the home page more often than the release build.

One thing I can say for sure is that I was able to get a video to play by selecting one from the partially loaded home-screen on both of these builds. I wasn't able to get that to work before. 1795 seems a little easier to play a video on without being interrupted by an error.

Sorry I can't be more specific with my playtesting feedback. Again it's very inconsistent, and if I connect and disconnect too often my server will start to hiccup which makes it harder to test the builds themselves.
 
Hi, Can anyone here explain to me how to connect to Jellyfin Server on Nintendo Switch JB? Sorry i'm newbie here also Thanks for thr respect 🤗👍
 
Hi, Can anyone here explain to me how to connect to Jellyfin Server on Nintendo Switch JB? Sorry i'm newbie here also Thanks for thr respect 🤗👍
First, you need to deploy the Jellyfin server on your PC or NAS (https://www.youtube.com/results?search_query=Jellyfin), ensuring that the Jellyfin service can be accessed within your local network, for example, by opening http://<Your Server IP>:8096 in a browser.

Then, download and run Switchfin from the hb-appstore or sphaira, and enter the previously mentioned http://<Your Server IP>:8096 in the URL input box.
 
Hi, after updating Jellyfin to 11.10 I also started to have timeout was reached errors on switch even with 5000ms timeout setting, I would gladly help if you need testing. Great work btw.
you can modify "request_timeout" to 30000 or larger in config,json, such as blow

JSON:
{
  "setting": {
     "request_timeout": 30000
   }
}
 

Site & Scene News

Popular threads in this forum