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,
IF (is a big if) the db will be good without corruption on large scale test, in future version it can store all the info a user want on a file playback (the AV delay, a particular equaliztion and so on)
 
  • Like
Reactions: FFTW
Thanks so much for your hard work! I've got a 1080P MP4 that's lagging a bit in handheld mode... does anyone know if the performance improves in docked mode?
Increasing the cpu clock is what will improve performance. Idk if this player already boosts clocks on playback, but you can try increasing the clocks in sysclk
 
No CPU boost by the player (i prefer the user deicde this)
Yeah that’s fair. I assume everyone has sysclk installed, and it’s trivial to use. Though I did add a on/off option to enable boost (I think it was added in fw7) on media playback. Can toggle it during playback as well so it was quick to set it for demanding stuff.

Btw im really impressed with your work ethic on this, seems everytime I check my phone you’ve added a new feature :grog:was a nice idea about using a shader for deinterlace, I never once considered that
 
Yeah that’s fair. I assume everyone has sysclk installed, and it’s trivial to use. Though I did add a on/off option to enable boost (I think it was added in fw7) on media playback. Can toggle it during playback as well so it was quick to set it for demanding stuff.

Btw im really impressed with your work ethic on this, seems everytime I check my phone you’ve added a new feature :grog:was a nice idea about using a shader for deinterlace, I never once considered that
Thanks, the shader idea comes because no cpu method will work while decoding and looking at the gpu i saw a lot of power remaning.
It is far from be a perfect denterlace but better than nothing. And it can be improved a lot without changing the performance
 
Yeah that’s fair. I assume everyone has sysclk installed, and it’s trivial to use. Though I did add a on/off option to enable boost (I think it was added in fw7) on media playback. Can toggle it during playback as well so it was quick to set it for demanding stuff.

Btw im really impressed with your work ethic on this, seems everytime I check my phone you’ve added a new feature :grog:was a nice idea about using a shader for deinterlace, I never once considered that
That is actually a great idea, as I for example don't like keeping boost on because I am afraid of its long term effects on my console,so I don't have it, but I would like the option for it to be in the player so that I can turn it on for a particularly demanding show and then turn it off again (and having it turn off Automatically when I exit the player would be great too). So I think adding this as a togglable option in the player would be great :).

And I agree! You are doing great work man :D.
 
Dev Update:
Current resume implementation i am working on will have this behavior
If the current video position is less than 5 minutes resume will not be saved
if the remaning video time is less than 5 minutes the video is considered complete and the resume entry is deleted.

is that a good behavior for all (maybe i'll add user defined times but not in the first release)?
 
Loop track done, it works well.
So features added where:
  • Database for resume video position (using SQLite3)
  • Player GUI (thanks @Godorowski for UI design)
  • Loop Tracks
  • Mute/Unmute audio
  • Tons of small changes into the code
I am deep testing all for bug hunting.
 
Last edited by proconsule54,
  • Like
Reactions: Lightyose and ber71
Oh wow how did I miss this? Sounds like a better pPlay at least. Hopefully FTP with german routers called "Fritz!Box" finally works (it didn't in pPlay no matter what). Will try that soon, thanks for your work and big thanks to @cpasjuste for being so cool about his code (read his posts on the first thread page here). Very nice indeed. =)

I hope it's in the appstore nx already. :P
 
Last edited by lordelan,
Oh wow how did I miss this? Sounds like a better pPlay at least. Hopefully FTP with german routers called "Fritz!Box" finally work (it didn't in pPlay no matter what). Will try that soon, thanks for your work and big thanks to @cpasjuste for being so cool about his code (read his posts on the first thread page here). Very nice indeed. =)

I hope it's in the appstore nx already. :P
yes @cpasjuste was very kind, i forgot to mention him for the code taken (trust me it was a mistake) and he just point me that in a very gentle way.
And as it happens with kind guys all resolved in 2 post, very cool!.
 
  • Like
Reactions: lordelan
Dev update:
For Audio Equalization (the 18band one) a file eqpresets.ini will now contain the preset values in this form
Code:
[Test]
f0 = 1.0
f1 = 1.0
f2 = 1.0
f3 = 1.0
f4 = 1.0
f5 = 1.0
f6 = 1.0
f7 = 1.0
f8 = 1.0
f9 = 1.0
f10 = 1.0
f11 = 1.0
f12 = 1.0
f13 = 1.0
f14 = 1.0
f15 = 1.0
f16 = 1.0
f17 = 1.0
So anyone who wants to, can add his own eq preset.
Unlimited numbers of preset (unlimited in the sense of human and memory....)

(this example is a flat one preset)

No bug posted regarding Equalizers are they ok?
 
Last edited by proconsule54,
No bug posted regarding Equalizers are they ok?

Yes, no bugs at all here.

Ill post more icons for You in the morning!


Sent from my iPad using Tapatalk
 
  • Like
Reactions: proconsule54
Dev Update:
I am dealing with a random nonsense db corruption...that make me crazy!
fixing it is the last things for a release.
Damn sqlite!
 
  • Like
Reactions: cucholix

Site & Scene News