Switchfin is third-party PC player for Jellyfin that provides a native user interface to browse and play movies and series.
This project is in its early stages so expect bugs.
Home | Library |
---|---|
Search | Episode |
Music | |
- Completely native interface
- Supported media items: movies, series, seasons, episodes
- Direct play and transcoding
- Remote browser for Webdav/Apache/Nginx/FTP server
- 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.
- 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
- Q: Subtitles didn't display?
A: Put any ttf file at
/switch/Switchfin/subfont.ttf
- Q: How to play media files on webdav server?
A: Edit config file
config.json
{
"remotes": [
{
"name": "local",
"url": "file:///switch"
},
{
"name": "xiaoya",
"passwd": "guest_Api789",
"url": "webdav://192.168.1.5:5678/dav",
"user": "guest"
},
{
"name": "rpi",
"url": "sftp//pi:[email protected]/media"
},
{
"name": "rclone",
"url": "http://192.168.1.5:8000"
}
]
}
- example for using rClone setup HTTP server
rclone serve http --addr :8000 --read-only /media/downloads
- Movie view
- Series detail
- Search page
- Websocket connection (Syncplay)
- danmu plugin integration
git clone https://github.com/dragonflylee/switchfin.git --recurse-submodules --shallow-submodules
To build for Switch, a standard development environment must first be set up. In order to do so, refer to the Getting Started guide.
sudo dkp-pacman -S switch-dev switch-glfw switch-libwebp switch-curl switch-libmpv
cmake -B build_switch -DPLATFORM_SWITCH=ON -DBUILTIN_NSP=ON
make -C build_switch Switchfin.nro -j$(nproc)
# for debug
nxlink -a <YOUR IP> -p Switchfin/Switchfin.nro -s Switchfin.nro --args -d -v
pacman -S ${MINGW_PACKAGE_PREFIX}-cc ${MINGW_PACKAGE_PREFIX}-ninja ${MINGW_PACKAGE_PREFIX}-cmake
cmake -B build_mingw -G Ninja -DPLATFORM_DESKTOP=ON
cmake --build build_mingw