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,
Btw is it possible to send a "refresh database" to the server with the software yet?
 
  1. An option to go in sub-menu rather than straight playback is a MUST. Map Y button?
  2. Stats for nerds to see bandwidth + cached ram usage
  3. Timeout error when starting, successful playback on 2nd or 3rd try, perhaps extend the waiting time to receive cache> might be due to drives spinning up from idle.
  4. Start playback without any GUI overlay as default
  5. Separate languages preference for Subtitle And Audio
Feedback for buttons during playback,
  1. Missing mandatory 1.5x/2x speed quick gui button or joycon mapped button
  2. Buttons to skip 5 seconds ahead/rewind, maybe you can utilize joycon arrow buttons or double tap screen?
  3. Add tap to seek on OSD bar rather than dragging the dot.
  4. What is the TV button at the top right? Seems to do nothing
As a heavy jellyfin user, these are my qualms, if I find any others i'll report it here.

1. here is already an option to disable Show OSD when paused
2. L, R controls step 5 seconds ahead/rewind
3.TV button now toggle video profile in nightly

other feature may be available on next stable release
 
Btw is it possible to send a "refresh database" to the server with the software yet?
Isn’t there an option to have Jellyfin watch your folders for changes and refresh the DB automatically?

Otherwise you likely can have your download client/manager send the command. Iirc Sonarr and radarr both support that
 
  • Like
Reactions: linuxares
Isn’t there an option to have Jellyfin watch your folders for changes and refresh the DB automatically?

Otherwise you likely can have your download client/manager send the command. Iirc Sonarr and radarr both support that
You can indeed config it to update the database. I don't know if a folder check.
Yepp my *arr's does that :)
 
  • Like
Reactions: TheStonedModder
For the switch client, would be great to add the sorting the options at some point.
At this time, on my switch I sorts by release date and can't seem to change it.

Sort By
Name
IMDb Rating
Critics Rating
Date Added
Date Played
Parental Rating
Play Count
Release Date
Runtime

Sort Order
Ascending
Descending
 
For the switch client, would be great to add the sorting the options at some point.
At this time, on my switch I sorts by release date and can't seem to change it.

Sort By
Name
IMDb Rating
Critics Rating
Date Added
Date Played
Parental Rating
Play Count
Release Date
Runtime

Sort Order
Ascending
Descending

uncomplete sort feature added in dev branch, try nightly
 
  • Like
Reactions: mathew77 and Djakku
Wow this is really cool thanks!

I wonder if there would ever be an option in the future to make a forwarder to load a specific movie straight away. That would be so cool.

I normally use plex, but this has introduced me to another software which I may enjoy more as Plex has become so bloated lately.
 
Joystick navigation when something is playing is not behaving like before. Might be tue way button A is use for pause. But you can't always select chapter or transcoding option anymore.
 
I'm not sure if I missed something but is there an option to automatically play the next file in a folder when the current one is done?

This is a really good app though, thanks for making it.

Edit: Thought I'd mention that the "Show OSD when paused" option doesn't seem to work correctly. If it's on, the OSD will show up when you pause but only for a fraction of a second before turning off again. The OSD will come back when you unpause it.
 
Last edited by BruiserBroly,
can update it read to jpg png pdf file ?
Did you mean add support for comic/book of jellyfin ?
Post automatically merged:

I'm not sure if I missed something but is there an option to automatically play the next file in a folder when the current one is done?

This is a really good app though, thanks for making it.

Edit: Thought I'd mention that the "Show OSD when paused" option doesn't seem to work correctly. If it's on, the OSD will show up when you pause but only for a fraction of a second before turning off again. The OSD will come back when you unpause it.
thanks for feedback , it has fixed by nightly
 
  • Like
Reactions: cucholix
Can't connect to my media from Switchfin.
My settings in Switchfin are
switchfin.jpg


My Jellyfin server is in an external HDD
1701619660861.png



When I tried to connect from Switchfin I get "Timeout was reached", already tested with "http" instead "https" but couldn't connect, disabled my AV, added Jellyfin program to the whitelist inbound connections, and nothing...
 
Can't connect to my media from Switchfin.
My settings in Switchfin are
View attachment 407169

My Jellyfin server is in an external HDD
View attachment 407168


When I tried to connect from Switchfin I get "Timeout was reached", already tested with "http" instead "https" but couldn't connect, disabled my AV, added Jellyfin program to the whitelist inbound connections, and nothing...

1. "http" is correct, your full server url should be "http://192.168.1.10:8096"
2. make sure your proxy setting of switch is empty
3. can you test "http://192.168.1.10:8096" from brower with other device?
 
  • Like
Reactions: cucholix
It’s working, was just a dumb mistake of mine, first time using Jellyfin :P

@dragonflylee If I contract one of those IPTV services can I add it to Jellyfin? Like I think they provide an IP and a password no?
 
Last edited by cucholix,

Site & Scene News

Popular threads in this forum