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 (since v0.7.0) 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​
  • Shadermania, you can apply any shader compatible with MPV to NXMP​



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,
And i am investigation on bring NXMP multi plattform.
WIN32, Linux, Android ports will be the first, i am looking if is possibile also on WiiU and other platforms.

Since portocols are done the rest of the code is very easy to port (i am using the win32 port for main devel and then testing on switch this makes devel process so fast)

LInux will be by fare the easiest to port (using NXMP on a raspberry with a TV remote via HDMI-CEC is fun and easy).
I hope you manage to get your Media Player running on the WiU, we're dying for a Media Player ;)
 
Dev Update:

NFS is working.....BUT

HorizonOS seems to block in some way the usage of ports < 1024 for some usage (the rpc call for nfs)
so an export of nfs MUST use option insecure for the export for NXMP

This is not a big issue since is used on local network, this option was called insecure but only on a "80's" concept of security.

I will finish the cleanup and FFMPEG support for nfs (yes i'll add a protocol nfs that is not present since nfs normaly is a mount point so FFMPEG read file as a local file) and i'll send beta to testers.

With this now all protocols are supported (thanks @duckbill007 for remind me the missing NFS support)
 
  • Like
Reactions: Chocola and ber71
Dev Update:
WiiU port investigation....
A WiiU port using the homebrew sdk is hard (very hard) no sign of opengl accelaration, and many other things..

I think it will be possible using the caffe SDK in some way but this prevents to distribute it as is a leaked software form bigN.
 
Dev Update:
A platform porting story WiiU:
I know that this will be impossible...but in the free time between tests of NXMP i am trying to port all the libs i need for porting to WiiU.
For sure i will never get OpenGL and other stuff (ffmpeg for example) built on wiiu. but as a start i ported:
mbedtls and libssh2. they are easy to port and maybe useful.
all other porotocols are i think as easy.

The video part will be the worst and probably impossible....
 

On my opinion, the harddisk and UPnP icon are in discordance with the rest of icons, in adition I pref more simple icons instead colorfull or complex icons ,but it's just my pref and im not desing expert, always gona be multiple users prefs on design stuff and nothing that can't be solved with themes on a future ^^

My test report it's done, can confirm that NFS and UPnP it's working like charm xP
 
  • Like
Reactions: proconsule54
I hope you manage to get your Media Player running on the WiU, we're dying for a Media Player ;)

If it's possible, you can count with it, he make awesome things on short time (we are more slow to test the beta builds than him to fix or add features :lol: )
 
On my opinion, the harddisk and UPnP icon are in discordance with the rest of icons, in adition I pref more simple icons instead colorfull or complex icons ,but it's just my pref and im not desing expert, always gona be multiple users prefs on design stuff and nothing that can't be solved with themes on a future ^^

My test report it's done, can confirm that NFS and UPnP it's working like charm xP
Thanks for the report :D
For the icons i just want to have a visual icon that show the network type, in the future the ui will change a lot.
Now that protocols are all done i can focus on the UI (the hardest part for me ahahahah)
 
  • Like
Reactions: Chocola
If it's possible, you can count with it, he make awesome things on short time (we are more slow to test the beta builds than him to fix or add features :lol: )
@proconsule54 is awesome and a machine he really know's his stuff Haha
WiiU uses GX2 library (similar in some way to OpenGL 3.3) and seems to have h264 HW decoding library.
Now is "just" a matter of porting ffmpeg (with this hw support) and the GX2 for imgui.....
Easy? i dont think so, impossible? i don't think so...
Yea, apparently GX2 and OpenGL is very similar, massive thanks for even looking into it, if you do manage to get this working on WiiU it'll make alot of WiiU users very happy :P

If you need anything tested WiiU side please don't hesitate to to msg me .. I'll be happy to help if I can :)
 
  • Like
Reactions: proconsule54
  • Love
Reactions: mathew77
Thanks to @pwsincd who pointed me to an already done port of FFMPEG

Code:
cmake          libavformat.a    libmbedx509.a  libssh2.la       pkgconfig
libavcodec.a   libavutil.a      libSDL2.a      libswresample.a
libavdevice.a  libmbedcrypto.a  libSDL2main.a  libswscale.a
libavfilter.a  libmbedtls.a     libssh2.a      libz.a
this are the already done libs ported for wiiu

now the hard part with mpv and the video out port with GX2
 
  • Love
Reactions: ploggy

Site & Scene News

Popular threads in this forum