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,

DNV

New Member
Newbie
Joined
Sep 10, 2023
Messages
2
Trophies
0
Age
34
XP
19
Country
United States
Any support for .mkv files? I'm getting a blue screen everytime I try to open one and atmosphere crashes on docked mode. Running the latest build 0.7.0

On handheld, I can play the file but there is no video; only a green screen with audio playing. I can confirm on my mac that the original .mkv works.
 
Last edited by DNV,
  • Like
Reactions: proconsule54

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
756
Trophies
1
Age
43
XP
2,731
Country
Italy
Any support for .mkv files? I'm getting a blue screen everytime I try to open one and atmosphere crashes on docked mode. Running the latest build 0.7.0

On handheld, I can play the file but there is no video; only a green screen with audio playing. I can confirm on my mac that the original .mkv works.
Switch version? Atmo version? Can you supply a sample file that do the problem?
 

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,813
Trophies
2
Age
48
Location
Japan
XP
3,729
Country
United States
So... your portlibs packages are only for windows? what do we do in Linux to use these? Is this going to break building other homebrew if I do this in Linux? Already, to install dkp-toolchain-vars, I had to remove devkitpro-pkgbuild-helpers, because they are in conflict.

Also, makepkg seems to have a problem with libnfs.
 
Last edited by urherenow,
  • Like
Reactions: proconsule54

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
756
Trophies
1
Age
43
XP
2,731
Country
Italy
Portlibs are cross compiled binary targetting horizionos, no matter if they come from an host running win or linux, they are just the same
Post automatically merged:

For libnfs pls supply a log file so i can fix it

For breaking other homebrew.. maybe i use diff version of something that other homebrw dont like, but this is for a compile point of view not for normal switch usage

Keep in mind that my portlibs are used only to build nxmp, i dont use for any other project, i try to use the default packages where is possible
 
Last edited by proconsule54,

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,813
Trophies
2
Age
48
Location
Japan
XP
3,729
Country
United States
Portlibs are cross compiled binary targetting horizionos, no matter if they come from an host running win or linux, they are just the same
Post automatically merged:

For libnfs pls supply a log file so i can fix it

For breaking other homebrew.. maybe i use diff version of something that other homebrw dont like, but this is for a compile point of view not for normal switch usage

Keep in mind that my portlibs are used only to build nxmp, i dont use for any other project, i try to use the default packages where is possible
I would... but I don't know how. Where should I place these portlibs so that they're used when building nxmp? Rename the existing portlibs folder in devkitpro and make a new one with all of these? Are any existing ones from official portlibs required, besides these? Libsmb2 has problems as well.
 

Attachments

  • libnfs.txt
    4.3 KB · Views: 30
  • libsmb2.txt
    1.6 KB · Views: 19
Last edited by urherenow,

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
756
Trophies
1
Age
43
XP
2,731
Country
Italy
Something wrong on your toolchain

I cloned nxmp-portlibs into a debian 10 machine, used dkp-makepkg on libnfs

Code:
==> Rimozione dei dati superflui in corso...
  -> Eliminazione dei file indesiderati in corso...
  -> Compressione delle pagine man ed info in corso...
==> Checking for packaging issues...
==> Creazione del pacchetto "libnfs-4.0.0" in corso...
  -> Generazione del file .PKGINFO in corso...
  -> Generazione del file .BUILDINFO in corso...
  -> Creazione del file .MTREE in corso...
  -> Compressione del pacchetto in corso...
==> Uscita dall'ambiente di fakeroot.
==> Signing package(s)...
==> Compilazione terminata: libnfs-4.0.0 4.0.0-1 (dom 10 set 2023, 12.02.18, CEST)

Sorry for the language is italian... say OK
 

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,813
Trophies
2
Age
48
Location
Japan
XP
3,729
Country
United States
Nevermind. I took care of both by installing gtk-doc-tools, libtool-bin, and intltool. but... I didn't know about dkp-makepkg.

https://github.com/proconsule/nxmp-portlibs just says to use makepkg. dkp-makepkg probably would have saved me the trouble. Now I feel compelled to do these from scratch again with dkp-makepkg, to be sure they are correct.
 

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
756
Trophies
1
Age
43
XP
2,731
Country
Italy
This is a win issue, good you point it to me
Post automatically merged:

You are using source from stable or fron currebt master?
 

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,813
Trophies
2
Age
48
Location
Japan
XP
3,729
Country
United States
This is a win issue, good you point it to me
Post automatically merged:

You are using source from stable or fron currebt master?
I ALWAYS git clone --recursive from the terminal (so I've probably pulled things you've merged since after the release... and this is exactly why I like to figure out how to roll my own).

Besides those 2 includes appearing with different cap/low letters in different header files (and not knowing about dkp-makepkg), another thing that gave me a headache was your libmpv. It doesn't seem to do all of the steps that others do (which tells me to execute "libtool --finish /opt/devkitpro/portlibs/switch/lib" afterwards), so I had to manually install that to my portlibs. I'm sure there is also some easier way, but I'm ignorant of how to tell it to install on its own. Normally, I'd clone the source for one of those, then simply make install, but the way you have this setup, doesn't have makefiles that I've seen. I could swear another one was like that, but it didn't prevent me from finishing the build, so I don't have an error to figure it out. I'm too tired to do it all over again to pay closer attention.

I did just successfully make an .nro though.

EDIT: Submitted pull request. Took me a few minutes... Github changed the way that works. And now that I've submitted it, I forgot to change the readme to say dkp-makepkg for Linux users.
 
Last edited by urherenow,

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
756
Trophies
1
Age
43
XP
2,731
Country
Italy
Is there any chance to fix the VOB files issue in a future version? or is it unfixable? Just curious.

Also, great work so far!
PM me a link to check pls
Post automatically merged:

Dev Update:

I added in the past the most common file extension supported by ffmpeg, yes but the file support is huge and probably some extension is not there, instead of recomplie all to add just an extension i added to config.ini

Code:
enabled_extensions = .8svx,.aac,.ac3,.aif,.asf,.avi,.dv,.flv,.m2ts,.m2v,.m4a,.mkv,.mov,.mp3,.mp4,.mpeg,.mpg,.mts,.ogg,.rmvb,.swf,.ts,.vob,.wav,.wma,.wmv,.flac,.m3u,.m3u8,.webm,.jpg,.gif,.png

if this config option is not present it will use the default hardcoded extension list, if is present it ueses this.
you can add as many as you want or limiting to just mp4, your choice!
Post automatically merged:

The next version instead of be 0.7.1 will be 0.8.0 (too many changes for only a micro version revision)
The biggest changes is the GUI, it will look nearly the same (but cleaner) but at code level it chages a lot!

Stay tuned, starting to test code for stable release!
Post automatically merged:

For some time i dont accept patch to code because i am working very hard on all the code, wait the stable release for bug hunting (there will be a lot for sure)
Post automatically merged:

Very important, i need someone that want to make a manual since new version changes a bit in usage. Dont be shy 🤣
 
Last edited by proconsule54,
  • Like
Reactions: spkatsi

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: why