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,

bambangtales

Member
Newcomer
Joined
Dec 17, 2022
Messages
8
Trophies
0
Age
30
XP
83
Country
Indonesia
For all, reporting bug with also the version you are using it thanks :D
The bugs persist on both 0.8.3 versions, either the deko3d or the opengl.

So my bugs 1 and 2 just yet not implemented feature?
Post automatically merged:

Oh, maybe you forgot to glow-up the this particular popup?
 

Attachments

  • 383248745.jpg
    383248745.jpg
    80.9 KB · Views: 17
Last edited by bambangtales,
  • Like
Reactions: proconsule54

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
756
Trophies
1
Age
43
XP
2,727
Country
Italy
Ok since image files can cause troubles, i prefer to split out img view from mpv and deal it directly.
This will prevent crash and give some cool ability (like zooming, pan, at first).
i will use stb_image.h (for this first try) so support for jpg,png,bmp and some other i don't remember.
Later on i will use library directly to deal with specific format (parsing header to guess format and use the corresponding library) so image format will be indipendent from mpv support.

I will update the OpenBeta with this feature soon!
Thanks all for the feedback, i know that i mess up all during version upgrade, forgive me.
 

Beetlejuice90

Active Member
Newcomer
Joined
Jul 23, 2022
Messages
29
Trophies
0
Location
Berlin
XP
315
Country
Germany
great news, I don't know if it is impossible or too difficult to do since I don't know the technicalities of it all, but is it possible to do (pdf.) file support in a similar way? I mean a full-fledge (pdf.) file support where you can scroll the pages, insert the number of the desired page and skip to it, or pan, zoom-in, zoom-out of the pages?
 
Last edited by Beetlejuice90,
  • Like
Reactions: proconsule54

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
756
Trophies
1
Age
43
XP
2,727
Country
Italy
great news, I don't know if it is impossible or too difficult to do since I don't know the technicalities of it all, but is it possible to do (pdf.) file support in a similar way? I mean a full-fledge (pdf.) file support where you can scroll the pages, insert the number of the desired page and skip to it, or zoom in, zoom out of the pages?
Yes this was in my private todo list, at first i wanted to use to show a sort of usage manual.
Its “just” a matter or render the pdf…”just”
Post automatically merged:

Its time also for some thanks to.
@averne you changed the game for all, thanks a lot for hints,help and for sharing your talent

@Djakku @nWo @spkatsi @FFTW for suggestions, test, bug hunting and launching crap beta versions of NXMP.
Thanks a lot guys!
 

averne

Well-Known Member
Member
Joined
Jan 21, 2020
Messages
192
Trophies
0
XP
1,988
Country
France
I also wanted to report a bug.

Opening certain jpg. files still crashes the NXMP (Both versions). I can send examples if you want.
So I took a look, your files are progressive jpg encodes, which the hardware can't decode. I added a check earlier so that mpv will fall back to software decoding.
However, even without this it shouldn't crash, just show an empty black frame. This crash is likely coming from nxmp as other image formats are affected.
 

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
756
Trophies
1
Age
43
XP
2,727
Country
Italy
So I took a look, your files are progressive jpg encodes, which the hardware can't decode. I added a check earlier so that mpv will fall back to software decoding.
However, even without this it shouldn't crash, just show an empty black frame. This crash is likely coming from nxmp as other image formats are affected.
Yes it comes from NXMP, so i will split out image view from mpv to have a better handling.

@Beetlejuice90 tried the file you sent me, with the new image viewer it opens all with no issues
Post automatically merged:

The new image viewer is ver very cool! with just a bunch of line of code it show image very well, with pan (also touch) and zoom (with right stick).
I post a new beta after some more tests...

@TotalJustice your code for getting sdmc file date works as expected, thanks a lot.
 
Last edited by proconsule54,
  • Like
Reactions: Beetlejuice90

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
756
Trophies
1
Age
43
XP
2,727
Country
Italy
Well here it is

https://mega.nz/file/mgtnDJrY#lgWJ_Xcnl-sitBE_WY-WHI1suq1ddq_E2tjiBx7msyA

Here it is OpenBeta 4

Image viewer will now work (better then ever)
Tested on usb and sdmc , on network i tested only with smb and ssh. nfs and others are disabled

I an working on a “manga reader” options for folder (not sure will be ready in this version)
Post automatically merged:

Is image viewer working well? Leave a feedback!
 
Last edited by proconsule54,

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
756
Trophies
1
Age
43
XP
2,727
Country
Italy
And what is you prefer? The miniplayer or the transparent overlay of deko3d version?

Just to know where to work with for have same aspect
 

Beetlejuice90

Active Member
Newcomer
Joined
Jul 23, 2022
Messages
29
Trophies
0
Location
Berlin
XP
315
Country
Germany
And what is you prefer? The miniplayer or the transparent overlay of deko3d version?

Just to know where to work with for have same aspect
I was only testing the image viewer for a while and it is working good but very rarely there is a crash when you change from image to image way too fast. But as I said very rare. Happened maybe 2 times.
 

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
756
Trophies
1
Age
43
XP
2,727
Country
Italy
Dev update:
  • going back to parent directory on back instead of same index of table (translated a better browsing exp)
  • Added ZL/ZR on image viewer for loading prev/next image (a sort of mangareader function)

All is working well!
Enjoy!
Post automatically merged:

Here it is Beta4

https://mega.nz/file/O9Nk2Iwa#5Py2MdyBNWluCevLzLP5MVytUIUYYAcQW2SPNVlZKaw

Let me know what you think of new image viewer!
Enjoy!
 
Last edited by proconsule54,

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
756
Trophies
1
Age
43
XP
2,727
Country
Italy
Dev Update:
  • Network source are now devoptabs mountponit so are used the same way as a local file. translated are used in the same way by mpv, it autosearch subs file (prev it works only on sd and usb) and all is more stable and i can use an unmodified FFMpeg without the need to add protocols on it... COOL!
  • zip,rar,tar,tar.gz and so on are also mounted and so it works also on big archive.

As a ref for anyone who want to know more on how use devoptabs on switch i created a repo
https://github.com/proconsule/test-devoptabs
that show how can be done for libsmb2,libnfs,libssh2 and libarchive.
This work is based on devoptabs ssh2 class example made by @averne .

Now i am testing all the stuff and soon a new beta will arrive!
Enjoy!
Post automatically merged:

Here it is OpenBeta 5.
https://mega.nz/file/m8MHGSiB#CduzgLnSkWBVuLqH6ZNhS_EdLB9yWj1FofTZhhFH26I (EDIT: Use OpenBeta6 Below)

ftp and http use old style method so can have issues, smb,nfs,sftp are with new devoptabs.
browsing remote share will be faster, also mpv will work better on remote share.
Enjoy!
 
Last edited by proconsule54,

Medel87

Well-Known Member
Member
Joined
Dec 18, 2021
Messages
178
Trophies
0
Age
37
XP
1,043
Country
Spain
Dev Update:
  • Network source are now devoptabs mountponit so are used the same way as a local file. translated are used in the same way by mpv, it autosearch subs file (prev it works only on sd and usb) and all is more stable and i can use an unmodified FFMpeg without the need to add protocols on it... COOL!
  • zip,rar,tar,tar.gz and so on are also mounted and so it works also on big archive.

As a ref for anyone who want to know more on how use devoptabs on switch i created a repo
https://github.com/proconsule/test-devoptabs
that show how can be done for libsmb2,libnfs,libssh2 and libarchive.
This work is based on devoptabs ssh2 class example made by @averne .

Now i am testing all the stuff and soon a new beta will arrive!
Enjoy!
Post automatically merged:

Here it is OpenBeta 5.
https://mega.nz/file/m8MHGSiB#CduzgLnSkWBVuLqH6ZNhS_EdLB9yWj1FofTZhhFH26I

ftp and http use old style method so can have issues, smb,nfs,sftp are with new devoptabs.
browsing remote share will be faster, also mpv will work better on remote share.
Enjoy!
With this beta5, when I try to open USB, it show files/folders of the sd card
 
  • Like
Reactions: proconsule54

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
756
Trophies
1
Age
43
XP
2,727
Country
Italy
Last edited by proconsule54,

kkwong

Active Member
Newcomer
Joined
Nov 22, 2023
Messages
29
Trophies
0
Age
34
XP
158
Country
China
Good job on sharing this wonderful update! I'm learning to adopt this hardware acceleration method to improve game streaming homebrew app. May I know how much is the performance gain if I migrate 720p h264 streaming decode from software to hardware? (like chiaki?)

As from opengl vs deko3d comparing image stat, it seems the rendering time is almost the same.
 
  • Like
Reactions: proconsule54

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
756
Trophies
1
Age
43
XP
2,727
Country
Italy
They are both with vsync so render time is the same for 60hz video, the gain of hw decoding will be near 0 cpu usage to 50% on each core with sw decoding… so is always better to use it.
deko3d is faster a lot then opengl but a little harder to approach since is switch specific.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Veho @ Veho: Oh God no :ohnoes: +1