Switchfin: Jellyfin client for Nintendo Switch

icon (1).png

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.jpg
library.jpg
SearchEpisode
search.jpg
episode.jpg
Music

music.jpg

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.6.3 (2024-03-12)
add player option for video rotate
add photo viewer support
upgrade ffmpeg 7.1.1
websocket close gracefully

0.6.2 (2024-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,

Djakku

Well-Known Member
Member
Joined
May 9, 2019
Messages
118
Trophies
0
XP
1,356
Country
United Kingdom
Hi @dragonflylee ,

Sorry I haven't been able to test the app until recently. Just tried the latest build today!

Seem the thumbnail generation is now broken on the last build. both with Switchfin-deko3d-30be9eb and Switchfin-opengl-30be9eb.
2024032413215400-DFA81AB57355EF9D9827B6FD8A23533B.jpg
 
  • Like
Reactions: Halbour

SimisFul

Well-Known Member
Member
Joined
Mar 23, 2015
Messages
127
Trophies
0
Age
28
Location
Quebec, Quebec
XP
1,925
Country
Canada
This is extremely well done! Very impressed by how well the UI works and flows. Absolute top tier homebrew and thanks a lot @dragonflylee.

Eh I'm not sure about that, the UI does look clean and it's easy to browse but once you're in the player I have to say that it's one of the most unintuitive experiences I've ever had with media playback, maybe the worst one of my life.

Pausing the playback should bring up the UI with the progress bar and let you scroll through the buffer with the joystick while the d-pad switches though the different options. Instead, pausing just shows a loading icon, which is completely wrong and counter intuitive because nothing is loading. There should either be a pause icon or nothing at all, or better yet, the player UI with the bar.

Enabling subtitles shouldn't be done through a completely separate menu with a different button, it should be one of the buttons in the player UI, which should just appear when pausing.

The app works great though, and once you get used to it's very unique and crappy controls, it's a breeze. It plays perfectly and doesn't crash so while I don't like the UI much, I can say I have used it quite a bit without issues.
 

dragonflylee

Active Member
OP
Newcomer
Joined
Mar 3, 2023
Messages
31
Trophies
0
Age
36
XP
609
Country
China
Eh I'm not sure about that, the UI does look clean and it's easy to browse but once you're in the player I have to say that it's one of the most unintuitive experiences I've ever had with media playback, maybe the worst one of my life.

Pausing the playback should bring up the UI with the progress bar and let you scroll through the buffer with the joystick while the d-pad switches though the different options. Instead, pausing just shows a loading icon, which is completely wrong and counter intuitive because nothing is loading. There should either be a pause icon or nothing at all, or better yet, the player UI with the bar.

Enabling subtitles shouldn't be done through a completely separate menu with a different button, it should be one of the buttons in the player UI, which should just appear when pausing.

The app works great though, and once you get used to it's very unique and crappy controls, it's a breeze. It plays perfectly and doesn't crash so while I don't like the UI much, I can say I have used it quite a bit without issues.

osd issue for pause was fixed by latest nightly when "Show OSD when paused" turned on
 
  • Love
  • Like
Reactions: SimisFul and Djakku

KirovAir

Alcoholic Programmer
Member
Joined
Dec 7, 2006
Messages
775
Trophies
1
Age
33
Location
Netherlands
XP
2,687
Country
Netherlands
Eh I'm not sure about that, the UI does look clean and it's easy to browse but once you're in the player I have to say that it's one of the most unintuitive experiences I've ever had with media playback, maybe the worst one of my life.

Pausing the playback should bring up the UI with the progress bar and let you scroll through the buffer with the joystick while the d-pad switches though the different options. Instead, pausing just shows a loading icon, which is completely wrong and counter intuitive because nothing is loading. There should either be a pause icon or nothing at all, or better yet, the player UI with the bar.

Enabling subtitles shouldn't be done through a completely separate menu with a different button, it should be one of the buttons in the player UI, which should just appear when pausing.

The app works great though, and once you get used to it's very unique and crappy controls, it's a breeze. It plays perfectly and doesn't crash so while I don't like the UI much, I can say I have used it quite a bit without issues.

As a developer these kind of responses really grind my gears.

Video playback itself is one of the hardest, if not the hardest things to manage properly on any device. The videos play and they play stable AF for a such an early release. It practically works right off the bat and since you are able to hack your switch you should be able to work around a piece of menu you don't like.

You say it yourself: it plays perfectly and doesn't crash so that sounds to me it does more than it promises?
If you don't like the UI: create a pull request and fix it yourself or try to deliver feedback in a polite manner. This is an impressive piece of homebrew already, end of story.

Cheers.
 

Djakku

Well-Known Member
Member
Joined
May 9, 2019
Messages
118
Trophies
0
XP
1,356
Country
United Kingdom
I wrote a similar reply but at the time GBAtemp gave me an error so I let it go but complety agree. Priority is function and its does its job amazingly well considering there are not many jellyfish clients app on mobile and certainly not homebrewed devices.
 

SimisFul

Well-Known Member
Member
Joined
Mar 23, 2015
Messages
127
Trophies
0
Age
28
Location
Quebec, Quebec
XP
1,925
Country
Canada
As a developer these kind of responses really grind my gears.

Video playback itself is one of the hardest, if not the hardest things to manage properly on any device. The videos play and they play stable AF for a such an early release. It practically works right off the bat and since you are able to hack your switch you should be able to work around a piece of menu you don't like.

You say it yourself: it plays perfectly and doesn't crash so that sounds to me it does more than it promises?
If you don't like the UI: create a pull request and fix it yourself or try to deliver feedback in a polite manner. This is an impressive piece of homebrew already, end of story.

Cheers.


I didn't mean to be impolite with my response, this was meant as constructive criticism and I also suggested solutions for all the negative points I highlighted. As you said, the playback is the most important part and I have already mentionned that it was working perfectly well.

I wouldn't say it does more than it promises since it is a video player so at the very least the expectation is that it will be able to play videos. The fact that it plays this well on this hardware is very impressive but that's not more than it promises, it's still the minimum you should expect.
I'm already happy that it lets you browse your library with a snappy and elegant UI that shows the normal thumbnails you would expect to see. That part could have just been a basic list and yet we're being gifted this better experience. I'm glad that it supports subtitles and that the font looks good and renders perfectly well. I appreciate this client a lot, I only intended on giving my own opinions on what could be made better but I could have skipped that first sentence in my last response.

Cheers.
 
  • Like
Reactions: Djakku

lordelan

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
6,133
Trophies
2
Age
45
XP
7,380
Country
Germany
This is the best thing ever! Great work

The more devices that support jellyfish the closer I can get to ditching plex for good
This! I always wanted a PLEX client for the Switch but that never happened.
Now we have this so I'll finally look into installing Jellyfish on my server. :)
 

Thorhax

Well-Known Member
Member
Joined
Apr 15, 2020
Messages
505
Trophies
1
Age
44
XP
2,441
Country
Canada
Can watch videos if I just continue something from the main screen.

Unable to browse folders. NOT PLAYLISTS actual folders.
 

Sinep84

Member
Newcomer
Joined
Jul 2, 2024
Messages
7
Trophies
0
Age
40
XP
24
Country
Germany
Hi @dragonflylee ,

Sorry I haven't been able to test the app until recently. Just tried the latest build today!

Seem the thumbnail generation is now broken on the last build. both with Switchfin-deko3d-30be9eb and Switchfin-opengl-30be9eb.
View attachment 427611
@dragonflylee

I installed the nightly build on my switch, specified my server, but I don't get any images no matter what I do, what can I do?
 
  • Like
Reactions: Thorhax

VeniaSilente

Well-Known Member
Member
Joined
Sep 6, 2014
Messages
104
Trophies
1
XP
584
Country
Cote d'Ivoire
Are you KIDDING me? We're getting Jellyfin for the Switch?

I'm unshelving my ol'reliable RIGHT NOW. Want to get to test this. Already have like 4 or 5 jellyfin clients, but it's just phone screen are so smol, desktop PC is desktop, whereas the Switch gives a pretty decent experience while docked. Play Monster Hunter, then while you pause for lunch connect the Jellyfin to music folder for some more Monster Hunter comfy.

If this works, it would basically allow me to fully de-"smart" my TV and set up the Switch as the docked media station until the day I somehow get a Steam Deck or a fanless micro-PC.
 

dragonflylee

Active Member
OP
Newcomer
Joined
Mar 3, 2023
Messages
31
Trophies
0
Age
36
XP
609
Country
China
Hi, i have the same problem with theneweset nughtlybuild. idk
yes, this build didn't resolve the problem but print more debug info when you turn on Debug View

so try keep Debug View turned on, and reproduce the problem, and feedback the screenshot of log
 

Sinep84

Member
Newcomer
Joined
Jul 2, 2024
Messages
7
Trophies
0
Age
40
XP
24
Country
Germany
yes, this build didn't resolve the problem but print more debug info when you turn on Debug View

so try keep Debug View turned on, and reproduce the problem, and feedback the screenshot of log
Hey, I have the latest build installed, scrolled through a bit and started a short film. Here is the shot of the debug view.
It also says that there are two configs. Where can I find them so that I can delete one?
 

Attachments

  • IMG_20240710_134807143.jpg
    IMG_20240710_134807143.jpg
    1.2 MB · Views: 29

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • Minox @ Minox:
    Gastroscopy ducking sucks
    +1
  • Minox @ Minox:
    And I'm so hungry but not allowed to eat for another 2 hours or so
    +1
  • NinStar @ NinStar:
    1080p actually has a huge problem
  • NinStar @ NinStar:
    you can't properly scale 240p games
  • NinStar @ NinStar:
    720, 1440 and 2160 can scale them just fine
  • Sicklyboy @ Sicklyboy:
    huh. never realized that
  • NinStar @ NinStar:
    the only common low-res (which is not even that common in games) you can properly scale to 1080 is 360, but even that can also scale to 720
  • NinStar @ NinStar:
    when I'm playing emulators I just stick to 720, if I had a 1440p or 4k screen I would prefer those over 1080p
  • Sicklyboy @ Sicklyboy:
    My monitor is 1440p now after years upon years of using 1080p. I don't notice much of a difference except that it makes everything smaller and harder for me to read
  • Minox @ Minox:
    Sounds like a skill issue
    +1
  • Sicklyboy @ Sicklyboy:
    I have special eyes :blink:
  • Sicklyboy @ Sicklyboy:
    Good to see ya dude
  • Minox @ Minox:
    Long time no see
  • Minox @ Minox:
    Doing well I hope?
  • Sicklyboy @ Sicklyboy:
    Eh, I'm surviving. Could be worse, could be better, you know?
  • Sicklyboy @ Sicklyboy:
    How bout yourself?
  • Minox @ Minox:
    Similar boat tbh
    +1
  • Minox @ Minox:
    Could be better, but could be worse
  • Sicklyboy @ Sicklyboy:
    Hoping for better times for the both of us buddy ❤️
    +1
  • Minox @ Minox:
    Not complaining btw, all things considered I have a decent enough life
  • Psionic Roshambo @ Psionic Roshambo:
    Minox I fractured a couple of vertibra lol still hurts lol
  • Minox @ Minox:
    Ouff
  • Minox @ Minox:
    Fractured? You ok?
  • Minox @ Minox:
    Having one dislocated in the past was already painful enough, I can only imagine what fracturing one is like
    Minox @ Minox: Having one dislocated in the past was already painful enough, I can only imagine what fracturing...