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,

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
755
Trophies
1
Age
43
XP
2,697
Country
Italy
yeah i noticed that with mpv as well. if you pass it a m3u with multiple sources (eg, same show but at different quality) it seems to randomly (iirc) select a source, which takes a very long time to do so. after the source is selected, it loads instantly, so that part of the m3u loading is okay.

but yeah, something to parse the multiple sources, list them out to the user, showing the quality difference (if listed in the m3u master) would be a nice-to-have feature. this can also be used for crunchyroll and funimation
Yes, i will do a m3u parser and pass only the selected source to mpv.
 
  • Like
Reactions: laraklara

DarkMatterCore

Finding my light.
Developer
Joined
May 30, 2009
Messages
1,292
Trophies
1
Age
28
Location
Madrid, Spain
Website
github.com
XP
2,604
Country
Spain
@DarkMatterCore in libusbhsfs is possible to add an APFS file support.
I only need to read not write.
Just saw this post, sorry for the delay. It should be theoretically possible as long as an open source APFS driver with either an ISC-compliant or a GPL-compliant license exists. Shall this be the case, adding support for APFS should be trivial (and fun).
 

docgold

Active Member
Newcomer
Joined
Feb 4, 2021
Messages
28
Trophies
0
Age
44
XP
106
Country
Bosnia and Herzegovina
Happy to have recovered after big health problems and looking forward to experience the progress of this great player.
As i secure alot of YouTube content on my SD card I use on linux system Video Downloader - https://github.com/Unrud/video-downloader - to get those videos. It's based on yt-dlp.
I've tested a .webm video file and it isn't listed in NXMP.
 

docgold

Active Member
Newcomer
Joined
Feb 4, 2021
Messages
28
Trophies
0
Age
44
XP
106
Country
Bosnia and Herzegovina
Those fkn vaccines allmost killed me.

Your advice was succesfull. It works.

Are there any changes in Enigma2 syntax? I can't find valid instructions in github how to define different port, user & password?
[Enigma2]
e2address=http://ip_of_receiver/ ... ?
 
  • Like
Reactions: proconsule54

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
755
Trophies
1
Age
43
XP
2,697
Country
Italy
Those fkn vaccines allmost killed me.

Your advice was succesfull. It works.

Are there any changes in Enigma2 syntax? I can't find valid instructions in github how to define different port, user & password?
[Enigma2]
e2address=http://ip_of_receiver/ ..
User and PW are not supported right now, port is in form
Code:
http://ip_of_receiver:port/
 

docgold

Active Member
Newcomer
Joined
Feb 4, 2021
Messages
28
Trophies
0
Age
44
XP
106
Country
Bosnia and Herzegovina
Dev Update:
Touch Friendly Interface (can be enabled/disabled in settings menu)

View attachment 293616View attachment 293617

This will make easier to use with touch controls.
Yeah, I had the situation that NXMP froze when I touched the screen. Maybe someone can help out to let those 8 symbols look uniformly. I've read you're not into graphics but maybe someone specialized in this segment can contribute. I like the combination of blue and orange you've chosen. It reminds me of former techno "radio sunshine live" logo. Sadly they took redesign but maybe this is an inspiration for you. A little bit of change in color matching like this Logo. Keep up on good work.
 
  • Like
Reactions: proconsule54

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
755
Trophies
1
Age
43
XP
2,697
Country
Italy
Yeah, I had the situation that NXMP froze when I touched the screen. Maybe someone can help out to let those 8 symbols look uniformly. I've read you're not into graphics but maybe someone specialized in this segment can contribute. I like the combination of blue and orange you've chosen. It reminds me of former techno "radio sunshine live" logo. Sadly they took redesign but maybe this is an inspiration for you. A little bit of change in color matching like this Logo. Keep up on good work.
The colors was choosen by @bodyXY that makes many of the icons used in NXMP.
I asked here for some help on icons but sadly noone replied.....
 

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
755
Trophies
1
Age
43
XP
2,697
Country
Italy
Maybe i forgot the libnfs.a i will add it

Edit:

The libnfs.a is present in my portlibs binary. Probably is missing the -lnfs in Makefile

Code:
LIBS    := `curl-config --libs` `sdl2-config --libs` `freetype-config --libs` -lmpv -lssh2 -lswscale -lswresample -lavformat -lavfilter -lavcodec -lavutil -llzma -lopus -lvpx -lass -lharfbuzz -lfreetype -lfribidi -lpng -lbz2 -lusbhsfs -lntfs-3g -llwext4 -lglad -lEGL -lglapi -ldrm_nouveau -ltinyxml2 -lturbojpeg -llua -lmbedcrypto -lmbedx509 -lmbedtls -lmbedcrypto -lmbedx509 -lmbedtls -lsqlite3 -lsmb2 -lnx -lz

change to this

Code:
LIBS    := `curl-config --libs` `sdl2-config --libs` `freetype-config --libs` -lmpv -lssh2 -lswscale -lswresample -lavformat -lavfilter -lavcodec -lavutil -llzma -lopus -lvpx -lass -lharfbuzz -lfreetype -lfribidi -lpng -lbz2 -lusbhsfs -lntfs-3g -llwext4 -lglad -lEGL -lglapi -ldrm_nouveau -ltinyxml2 -lturbojpeg -llua -lmbedcrypto -lmbedx509 -lmbedtls -lmbedcrypto -lmbedx509 -lmbedtls -lsqlite3 -lsmb2 -lnfs -lnx -lz
 
Last edited by proconsule54,

darkxex

Well-Known Member
Member
Joined
Jun 13, 2016
Messages
156
Trophies
0
Age
30
Location
Santiago
XP
979
Country
Chile
Maybe i forgot the libnfs.a i will add it

Edit:

The libnfs.a is present in my portlibs binary. Probably is missing the -lnfs in Makefile

Code:
LIBS    := `curl-config --libs` `sdl2-config --libs` `freetype-config --libs` -lmpv -lssh2 -lswscale -lswresample -lavformat -lavfilter -lavcodec -lavutil -llzma -lopus -lvpx -lass -lharfbuzz -lfreetype -lfribidi -lpng -lbz2 -lusbhsfs -lntfs-3g -llwext4 -lglad -lEGL -lglapi -ldrm_nouveau -ltinyxml2 -lturbojpeg -llua -lmbedcrypto -lmbedx509 -lmbedtls -lmbedcrypto -lmbedx509 -lmbedtls -lsqlite3 -lsmb2 -lnx -lz

change to this

Code:
LIBS    := `curl-config --libs` `sdl2-config --libs` `freetype-config --libs` -lmpv -lssh2 -lswscale -lswresample -lavformat -lavfilter -lavcodec -lavutil -llzma -lopus -lvpx -lass -lharfbuzz -lfreetype -lfribidi -lpng -lbz2 -lusbhsfs -lntfs-3g -llwext4 -lglad -lEGL -lglapi -ldrm_nouveau -ltinyxml2 -lturbojpeg -llua -lmbedcrypto -lmbedx509 -lmbedtls -lmbedcrypto -lmbedx509 -lmbedtls -lsqlite3 -lsmb2 -lnfs -lnx -lz
thanks, work amazing, I'll send a humble commit soon.
 

darkxex

Well-Known Member
Member
Joined
Jun 13, 2016
Messages
156
Trophies
0
Age
30
Location
Santiago
XP
979
Country
Chile
miaporte.png

Hi friend, this is my pullrequest.

Same as audio above, but added the feature to choose the default subtitle.
what happens is that when there are multiple subtitles in a mkv, by default, it disables the subtitles, when choosing one, it will always start with the desired subtitle.

https://github.com/proconsule/nxmp/pull/9

If anyone wants to try it, here's my fork.
https://github.com/darkxex/nxmp/releases/
 
  • Like
Reactions: Djakku and ber71

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    BakerMan @ BakerMan: well then show them how to scratch it (this is a verbalase joke)