NXMP Nintendo Switch Media Player

nxmp-banner.jpg


NXMP is an open-source Nintendo Switch media player based on MPV and FFMPEG, supporting a wide range of media file formats and codecs.
NXMP is coded by @proconsule54 and @darkxex

It support HTTP,FTP,SFTP,Samba,NFS streaming and it also support Enigma2 decoders. Starting from 0.7.0 Version it features HW Decoding for H264,HEVC,VP9,VP8,MPEG2 up to 4K HDR@30fps


Project repository|Stable Build
Stable: v0.9.3



Features:
  • HW Decoding for (H264,HEVC,VP9,VP8,MPEG2)
  • Extense support of media file formats and codecs, including audio too as well​
  • Touch and controller support, control the MP as you want​
  • Video deinterlace support
  • Advanced image settings, configure the brightness and color options, change aspect ratio and rotate the screen​
  • Custom subtitles, you can configure options like color, text size and position to your preferences​
  • Full sound EQ, allow adjust the sound equalizer to your preferences, you can define presets too​
  • Chapters navigator with titles support​
  • Selector of Video/Audio/Subtitle tracks during play​
  • Playlist queue, allow to enque desired files on a playlist for non-stop play​
  • Resume play, you can continue your videos where you previusly stop it​
  • Watch status, watched videos are marked as green on file explorer​



Media sources supported:
  • Nintendo Switch SD Card
  • USB drive attached to dock or Switch with USB C adapter (FAT, NTFS and EXT4, up to 32 drives)
  • HTTP/S files through network
  • FTP and SFTP files
  • Samba (SMB) files shared throught network
  • NFS
  • Enigma2 (allow to view TV channel from satellite decoders compatible with this protocol)


Screenshoots:

2021110300034400.jpg2021110300031500.jpg2021110300032100.jpg2021110300023000.jpg



Post here any kind of bug/suggestions.
Enjoy!

Thanks to libusbhsfs https://github.com/DarkMatterCore/libusbhsfs for USB drives support
Thanks to @averne for HW Decoding FFMpeg! and for many many hints
Thanks to @bodyXY for the banner and the icons!
Thanks to @Godorowski for player UI design and releated icons
Thanks to @Chocola for beta testing a player guide
 
Last edited by proconsule54,
Release:
https://github.com/proconsule/nxmp/releases/tag/v0.5.1

- Fix for db not saved on hard exit the app
- ShaderMania useless but fun with shaders
- Custom Sub Font Size
- Show File selection during playback with - button
- Volume Up/Down with rstick

Report bugs/issues if found.
Enjoy!
Thanks! I was wondering, when updating to a new version, do I delete the old NXMP first then put this one? or simply put it over it and overwrite it? as I don't want the db to be deleted each update.
Also, will you implement an autoupdater in the future that allows us to update directly from the app?
 
Thanks! I was wondering, when updating to a new version, do I delete the old NXMP first then put this one? or simply put it over it and overwrite it? as I don't want the db to be deleted each update.
Also, will you implement an autoupdater in the future that allows us to update directly from the app?
The config.ini and epgpreset.ini can be the same, the missing entries wil added at first save in settings.
the db is taken as is, since is marked with version number i will update the tables only if is necessary and done by the app. so yu can only update the nro.
The only changes in files in this release is the shader directory inside the mpv directory.
An autoupdate feature can be done but is not on top of the TODO list.
The next version (i am working on) will feature playlist, very usefull in audio playback and tv series watching.
 
  • Like
Reactions: Chocola
The config.ini and epgpreset.ini can be the same, the missing entries wil added at first save in settings.
the db is taken as is, since is marked with version number i will update the tables only if is necessary and done by the app. so yu can only update the nro.
The only changes in files in this release is the shader directory inside the mpv directory.
An autoupdate feature can be done but is not on top of the TODO list.
Sorry, but I didn't understand what you mean, so I will clarify my question:I want the database to not be deleted Everytime I update. Can I delete the nxmp folder I have on my switch and paste the new one and the db will not be affected? or should I paste the new one over the old one and overwrite it to preserve the database? Or should I do something else completely?
 
Dev Update:
- A new field "Completed" in the database is added

The database will be updated at first start of NXMP so no data will be lost (hope so).
This will allow me to mark as "viewed" the files.
This feature will be in 0.6.0 as long as many others i am working on (like playlist)
 
This tool is growing every day ! You are cool @proconsule54 !

Yup, he take the development seriusly, I didn't connect on a few days and I see a lot of new features and are on BETA testing now xP

As note, all spoiled features of 0.6.0 works, only two minor bugs encontered on the first beta ^^
 
Nice, I ask because my home server are only working on LAN for now for security reasons, but with SSH and auth keys I can open it to WAN when I go out from my home and view my content on all places thanks to NXMP xP
 
  • Like
Reactions: proconsule54
I know that most users want samba support but libsamba needed by ffmpeg for playing from that source is impossibile to complie with libnx….i tried hard…
But i have some ideas for bring samba support too in some way……
Belive in my madnesss….:D
 
  • Like
Reactions: FFTW and sashka69
Also ssh support in ffmpeg is a bit hard, since it only works with libssh and not with libssh2 but i am confident i can make it work with libssh2 for just what i need (open read seek)
 
  • Like
Reactions: FFTW
Also ssh support in ffmpeg is a bit hard, since it only works with libssh and not with libssh2 but i am confident i can make it work with libssh2 for just what i need (open read seek)
I asked @DarkMatterCore to help port libssh in the past (for the ffmpeg), which iirc he did. Might be worth asking him for it
 
  • Like
Reactions: proconsule54
@DarkMatterCore is a great developer and for sure he can do it. But i am trying to do something different. Using linssh2 instead of libssh in ffmpeg.
Can help me and help others. If i ended up that is not working i ask him help if have some free time for porting libssh
 
Preliminary tests on ssh was very good, open is as fast as ftp and seek seems faster than ftp (a lot)
no crash or other issue.
Will for sure be in next release.
A beta for testers will be ready today (along wth other fixes)

Now i am looking at using libsmb2 for a basic samba support since samba library is a nightmare.
i just need open/close seek (no write truncate dirlist or other stuff in ffmpeg).
Not sure if is possible but i'll try.
 
  • Like
Reactions: Chocola and ber71

Site & Scene News