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,660
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,660
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,660
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,660
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,660
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,313
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
  • Veho @ Veho:
    The fuuuuu---
  • Veho @ Veho:
    I thought it was an actual xBox at that price.
  • Sicklyboy @ Sicklyboy:
    I wanna grab a 360 Slim and a 360 E one of these days. Missed the boat of getting them at their lowest though, once they were discontinued. Could've got them for cheap back when I was a broke 20 something working at Target, but then again, I was a broke 20 something working at Target
  • Veho @ Veho:
    Being broke is no fun.
  • K3Nv2 @ K3Nv2:
    @Sicklyboy, $150 isn't that bad for a jtag slim on ebay
  • Veho @ Veho:
    I only wish it was actually playable.
  • Veho @ Veho:
    There's a guy on the Tube of You that makes playable mechanical arcade games out of Lego. This could work on the same principle.
  • Veho @ Veho:
    Just a couple of guys taking their manatee out for some fresh air, why you have to molest them?
  • Veho @ Veho:
    Stupid Chinese shop switched their shipping company and this one is slooooooow.
  • LeoTCK @ LeoTCK:
    STOP BUYING CHINESE CRAP THEN
  • LeoTCK @ LeoTCK:
    SUPPORT LOCAL PRODUCTS, MAKE REVOLUTION
  • LeoTCK @ LeoTCK:
    THEY KEEP REMOVING LOCAL SHIt AND REPLACING WItH INFERIOR CHINESE CRAP
  • LeoTCK @ LeoTCK:
    THATS WHY MY PARTNER CANT GET A GOOTWEAR HIS SIZE ANYMORE
  • LeoTCK @ LeoTCK:
    HE HAS BIG FOOT AND BIG DUCK
  • LeoTCK @ LeoTCK:
    d*ck i mean*
  • LeoTCK @ LeoTCK:
    lol
  • Veho @ Veho:
    Mkay.
  • Veho @ Veho:
    I just ordered another package from China just to spite you.
  • SylverReZ @ SylverReZ:
    Leo could not withstand communism.
  • SylverReZ @ SylverReZ:
    Its OUR products to begin with lol.
  • The Real Jdbye @ The Real Jdbye:
    @LeoTCK actually good quality products are dying out because they can't compete with dropshipped chinese crap
    The Real Jdbye @ The Real Jdbye: @LeoTCK actually good quality products are dying out because they can't compete with dropshipped...