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

NXMP it's on early versions and active dev state so expect any kind of bugs, anyways it's fully functional and tested before every release

Project repository|Stable Build
Stable: v0.9.0



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,

Chocola

GBAtemp Meowgular
Member
Joined
Sep 18, 2018
Messages
379
Trophies
0
Age
32
Location
Neko Paradise
XP
723
Country
Korea, South
I can test the streaming too with Kodi I guess, the same app that I use to control the PC Kodi through wireless can streaming in the two ways (I can send videos to Kodi through my mobile or I can reproduce with Kodi on my mobile screen), I think that are universal protocol, can check it on git repository.

Didn't use plex before, I have all of my files shared on network and Kodi read their, scrape file info through some api's like TMDB and store on his own database, but can install plex enviroment for testing, as I read, plex are a full backend for media, not only serve files, send media infos, view status and resume time to clients too, I like the idea to bring NXMP the posibility to act as plex client.

I found some opensource clients for plex (https://github.com/NineWorlds/serenity-android for example), I hope this help to discover and implement the plex API to NXMP.
 

sashka69

Active Member
Newcomer
Joined
Dec 24, 2013
Messages
37
Trophies
1
Age
36
XP
1,329
Country
Gambia, The
Me too. Nxmp with plex compatibility on horizon os would be next level. You described it very well, that's all what plex can do. I have a plex server on my nas and I like it very much because it acts like a home made Netflix with your own media files.
 

Chocola

GBAtemp Meowgular
Member
Joined
Sep 18, 2018
Messages
379
Trophies
0
Age
32
Location
Neko Paradise
XP
723
Country
Korea, South
Me too. Nxmp with plex compatibility on horizon os would be next level. You described it very well, that's all what plex can do. I have a plex server on my nas and I like it very much because it acts like a home made Netflix with your own media files.

I should give a try to it then, I have dedicated debian server acting as NAS and some little things on my network so teorically should can install plex.

My content are mostly anime shows and movies, Kodi handle it fine with TVDB, you know if plex can retrieve the anime infos?

I gona try it now, the main problem of Kodi it's that have their own DB only on each client, then when I gona to try to see my medias on other client than PC, can't see the progress or remain at same time because its on Kodi DB, seems that plex solve my problem there.

The only thing that worry me about, it's that I'm Kodi user since XBOX, means more than 10 years using it, so jump to other client gona be hard, but the good news are that can have both working without problems.

I read that plex can decode and encode videos on the server and serve to clients to make it more smooth, this function are perfect to play 4K files for example on NXMP (theorically the plex server can encode it to 1080 or 720p for the client) but it's a premium function as I read on their webpage.
 
  • Like
Reactions: proconsule54

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
753
Trophies
1
Age
43
XP
2,681
Country
Italy
Dev Update:
libupnp a porting story (part2)

MULTICAST: HorizonOS doesn't like ADD_MEMBERSHIP socket option, luckly this is not needed for ssdp discovery....
THREADS: libupnp is mostly async so is a thread nightmare with callbacks..but i make it all work in a stable way (and with last libupnp library)

XML Parsing: i need to setup a strange parsing/deparsing to make it work (same as vlc guys done) seems ugly but works well

Using my test program (a test program that i use for protocols porting) all is working, discovered my server (can be more than one also) and listed the root directory (it differs form server to server, mine was a fritzbox acting as media server..... but it should work on all)

So all is done, now is time to merge in NXMP and see if it plays well (i hope so)

A closed beta will be sent to testers as soon as is finished.
 

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
753
Trophies
1
Age
43
XP
2,681
Country
Italy
Dev Update:
NXMP is working with UPNP/DLNA!
File playback is working flowless...

Also DLNA server advertise many many data (resolution/duration/thumb art) and so on.
It will take time to get a great interface for this but the protocol is working.
It willl be in the next version 0.6.1!
 

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
753
Trophies
1
Age
43
XP
2,681
Country
Italy
With UPNP added all protocols are done, i don't think others are needed. it open as many protocol as any other full featured players.

The nex dev phase will be on user interface and user experience.

Hope you all enjoy my effort to make the best player possible on switch!
 

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
753
Trophies
1
Age
43
XP
2,681
Country
Italy
Arabic and Cyrilic font support will be in next version,
(i dont know what i wrote, sorry if is something offensive, i dont know....)

For Chinese and Japanese i need a new ttf file since the one i use don't support it.
But i am working also on it.

test-chars.jpg
 

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
753
Trophies
1
Age
43
XP
2,681
Country
Italy
Dev Update:
UPNP is working well and is tested by testers (only some minor issues was found)

I tested also with Universal Media Server and is working as expected (it plays also podcast and other stuff)
If i'll fix all the issues it will be in next version 0.6.1 for sure!
 
  • Like
Reactions: Chocola and ber71

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
753
Trophies
1
Age
43
XP
2,681
Country
Italy
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).
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: https://www.youtube.com/@legolambs