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
@proconsule54 it's just a little thing, all work it's thanks to you, and as I see, more users start to test too, this is awesome ^^

The only note about my tests, I test all protocols added and work, but my enviroment it's under debian dedicated server connected on my LAN, this should work too on Windows but if it's necessary with a few time I can prepare a Windows VM to test too.

I downloading now the release to test again, but I think that all gona work as expected like Beta 3, if I see anything wrong I post here what I encounter xP
 
  • Like
Reactions: proconsule54

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
753
Trophies
1
Age
43
XP
2,679
Country
Italy
@Laurentiu85 you were right, there is a small bug if files are added to playlist and then started from playlist menu without db active.

this issue is fixed now and will be released on 0.6.1
there was a missing
C++:
if(configini->getDbActive(true)){
in file playlistBrowser.cpp on line 33

thanks for reporting it!

Edit:
After adding files with checkboxes you can start the playlist using X button.
I'll have to make a better guide... @Chocola can you help me? :D
 

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
753
Trophies
1
Age
43
XP
2,679
Country
Italy
Dev Update:
Working on DLNA.
Basicaly is an upnp implementation with XML parsing, i am trying to port libupnp tht can help me a lot, seems not too hard.

The first implementation i am working on is browsing and playing file from a MediaServer device and control a TV device (if supported) with basic volume control and input selection.

Act as a renderer will be the next.
 

Chocola

GBAtemp Meowgular
Member
Joined
Sep 18, 2018
Messages
379
Trophies
0
Age
32
Location
Neko Paradise
XP
723
Country
Korea, South
Nice xP

XML and JSON parsers gona be usefull too for media info scrappers too ^^

I'm still working in the info (now taking screenshoots to update the screenshoots of the post and taking images for guide), I hope that didn't miss any feature or source xD
 

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
753
Trophies
1
Age
43
XP
2,679
Country
Italy
For media library i will follow this roadmap.

First an internal file scraper , if the file contains the right metadata it will show thumbnail, plot and any other info (this is for mkv and mp4 as far as i know)
this will be the first thing to code (and to put on the database)

Then i will do an online scraper (that require probably an api key).
The field will be the same as the internal scraper.
 

Chocola

GBAtemp Meowgular
Member
Joined
Sep 18, 2018
Messages
379
Trophies
0
Age
32
Location
Neko Paradise
XP
723
Country
Korea, South
The new first post thread edited by @Chocola is FANTASTIC.
The feature list is huge, i didn't realized NXMP have all this features.....
Thanks a lot!

This is only the start process, you add all of these amazing features to the project xP

I having issues with tables, so I should put the links only as text (my first idea are put some buttons after description and center all with a table), but the table compress to content size instead be full width like edit/preview :/

The other issue that I found are that can't upload new attachments, I didn't know if 5 are the limit per thread or co-authors can't upload new attachments.

Still working doing my best on docs, I take my time doing it and testing ways with the bbcode format of the forum xD

The usage guide it's so long because I want to explain how to configure the sources, a description of all options... maybe post it here make thread so long for forum users, I think on spoiler option or maybe a HTML docs on github?
 
  • Like
Reactions: proconsule54

Chocola

GBAtemp Meowgular
Member
Joined
Sep 18, 2018
Messages
379
Trophies
0
Age
32
Location
Neko Paradise
XP
723
Country
Korea, South
It is absurd that WiiU can HW decode H264 and Switch cant (with the public sdk)

I dont have access to a WiiU but if i'll have i'll port NXMP also there......

I have Wii but not WiiU, if you need something from Wii just say to me.

On Wii currently I have WiiMC: https://github.com/dborth/wiimc this homebrew have a lot of time without update but maybe you found some usefull code there.
 
  • Like
Reactions: proconsule54

FFTW

Well-Known Member
Newcomer
Joined
Sep 6, 2021
Messages
66
Trophies
0
Age
30
XP
378
Country
United States
So I have installed version 0.6 (by overwriting the previous one as you told me) and indeed the database was preserved, so thanks for that :)

I have actually been compiling suggestions for a bit while using NXMP, and I thought to post them alongside my original suggestions when the new version is released, so now ;)

first, four issues that I noticed, two with the database migration:
1-it only remembered the videos I was in the middle of. The videos I had already watched and finished in the previous version weren't marked green, they were treated as if they weren't watched at all
2-none of my settings in the options are saved, so I have to apply all of them again every time the app is updated to a new version. This will become even more of an issue the more options are added. please make it so that the options one chose are saved between updates. Same thing to the settings of each video too (subtitle, spoken language, etc)

and two general issues:

1-files with long names overlap the "size" information and run off the screen so you can't read them fully. This is easily fixed by making them scroll and starting said scrolling before the "size" area
2- I have noticed that having a file with arabic letters results in its name just being a bunch of question marks. please add support to arabic letters in file names, so that said file names are readable.

Now for my request list, including some new ones :)

1- The ability to browse the app using the left joystick and the right joystick too in addition to the d-pad (right joystick for when you want to use only one joycon for browsing it, and left joystick for normal situations).

2- when you exit a folder exit on the same folder you were in, instead of returning to the very top.

3-when you are on top of the folder list and you press up again you will reach the bottom of the list (as a shortcut in case you have a lot of folders and you want to reach one that is near the bottom).

4-when skipping in a video, if you keep pressing the skip button you should continue skipping at the same rate, not have to press it every single time. imagine you want to reach a specific scene in a movie for example, it is way way more comfortable to just press the skip button once and continue pressing it to keep skipping it than it is to press it 60 or 70 times in a row.

5: when watching the video, show the estimated time you will finish watching it, as well as the current time.

6-Having the player tell you in the details the video resolution (720p,480p, etc), and the date when you last watched each video.

7-The option to sort by grid with thumbnails instead of as a list.

8 and 9- The ability to connect to a database to provide information on the show you are watching, as well as the ability to connect to a subtitles database to provide subtitles in varying languages for said show (those 2 are from Movian).

10- adding the option within the player to enable boost mode for specific videos (and disable it when you exit the player) for Improved playback for 1080p, as a few of my 1080p videos either stutter and have the video lagging heavily behind the audio, or simply get stuck at "buffering video" in the start and not play at all.

PS: Thanks again for all your great work :)
 
Last edited by FFTW,

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
753
Trophies
1
Age
43
XP
2,679
Country
Italy
Thanks @FFTW your issues report and suggestion are always important.
For the issue of watched videos was not possbile because ther wasnt a completed column in database before, this is why i upgraded the database to add it.

for settings just not overwrite the config.ini all the time, this will revert to default your options.

for suggestions:
Are all possible but it will take times, some are not too hard (the arabic font) other are a little hareder to make but for sure i will work on it.
Keep in mind that even if 0.6.0 seems a not big update in terms of code are 2500 lines more (only on NXMP) and like 300/400 on FFMPEG to support the new protocols. was an hard work for me and for the testers (@Chocola @sashka69 right?)
 

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
753
Trophies
1
Age
43
XP
2,679
Country
Italy
Dev Update:
I have a working implementation of UPNP (DLNA aslo work).
Since i looked up at vlc code i have to know if someone with a DLNA server can view the contents with vlc. if it browse ok and play well.

For using vlc woth DLNA or UPNP just
  • Open up VLC Media Player.
  • Go to View > Playlist [CTRL + L].
  • On the left under Local Network, click on Universal Plug’n’Play.
let me know it it works for you if yes then in the next version NXMP will have UPNP also!

(the transports portocol of UPNP/DLNA are http/rtp that are already present in NXMP so it should work only the browsing feature is a bit tricky!)

@Imancol can you check this (you asked for DLNA right?)
 

Chocola

GBAtemp Meowgular
Member
Joined
Sep 18, 2018
Messages
379
Trophies
0
Age
32
Location
Neko Paradise
XP
723
Country
Korea, South
Yes, I still helping with the betas on my free time, I don't care if it's hard tests or a lot of trys, you still counting with me.

And when build docs are ready you can counter with me for atleast simple things ^^
 

sashka69

Active Member
Newcomer
Joined
Dec 24, 2013
Messages
37
Trophies
1
Age
36
XP
1,326
Country
Gambia, The
Same for as @Chocola said. @proconsule54 you can count on me too, if there is a new beta and I'm not at work.

Will try my upnp with VLC as we speak and give feedback later on.
Keep on the good work. Hope to see my switch as a chromecast/miracast 'display' soon!!

EDIT. I can use VLC for viewing my upnp / dlna stuff on my qnap NAS. Put in in your next beta and I'll be your guinea pig for that feature.
 
Last edited by sashka69,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • Xdqwerty @ Xdqwerty:
    also gonna install twilight menu in my r4 flashcard
  • Psionic Roshambo @ Psionic Roshambo:
    One thing that just occurred to me.... The sound on the 2600 sucked less back then the harsh sound we hear now is from infinitely better speakers we have now, back when the 2600 was new speakers produced a almost muffled sound, like CRTs made old graphics look slightly better.
  • Psionic Roshambo @ Psionic Roshambo:
    I wonder if I could recommend that to some emulation devs that perhaps the sound could use some smoothing out to simulate those old TVs
  • Psionic Roshambo @ Psionic Roshambo:
    I think a few of the early systems could benefit from that, at least up to the 8 bit generation, by the 16 bit generation I think TVs had gotten a lot better in almost every way
  • Xdqwerty @ Xdqwerty:
    i dont have an sd card adapter but I have an usb sd card adapter
  • K3Nv2 @ K3Nv2:
    Old people games
  • Xdqwerty @ Xdqwerty:
    its not the one that comes with the r4
  • Xdqwerty @ Xdqwerty:
    doesnt work (my flashcard is from r4isdhc.com)
  • Xdqwerty @ Xdqwerty:
    might install ysmenu first
  • Psionic Roshambo @ Psionic Roshambo:
    Try Wood firmware
  • Psionic Roshambo @ Psionic Roshambo:
    For your R4
  • Psionic Roshambo @ Psionic Roshambo:
    It's old but it's the best firmware out for DS stuff
  • Xdqwerty @ Xdqwerty:
    it says it only works for the original R4, R4i Gold (r4ids.cn), R4iDSN (r4idsn.com) and Acekard R.P.G.
  • Xdqwerty @ Xdqwerty:
    nvm it does support mine
  • Xdqwerty @ Xdqwerty:
    but why choose it over ysmenu @Psionic Roshambo?
  • Xdqwerty @ Xdqwerty:
    bc im stupid?
  • Xdqwerty @ Xdqwerty:
    yea ik im stupid
  • Xdqwerty @ Xdqwerty:
    good night
  • Psionic Roshambo @ Psionic Roshambo:
    Just give it a try, but honestly if you have a 3DS you can play DS games without a card just off the internal SD card
  • Psionic Roshambo @ Psionic Roshambo:
    Slightly slower loading but a bit more convenient
  • BakerMan @ BakerMan:
    guys, my fuckin headphones have an out of place speaker
  • K3Nv2 @ K3Nv2:
    Did you try wearing them?
    B @ btjunior: @Xdqwerty 16