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,

alUN0

New Member
Newbie
Joined
Feb 14, 2022
Messages
2
Trophies
0
Age
35
Location
IdF
XP
27
Country
France
Hi All,
I have some issues to read movies or videos from location files (µSD). I was abble to read a 60Mo video but not higher size (700 Mo).
But it works well from a USB Key formatted in NTFS.
My internal µSD is formatted in FAT32 ...
Any idea ?
 

darkxex

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

NXMP v0.6.2 Rev 3(Nightly Build)

Pre-release

ChangeLog:
  • Fixed wrong names in Network titles.
  • The app now closes with the (-) button, not the (+), to avoid problems with the built-in keyboard.
  • Added Stream Url
Stream URL is a work in progress, for now it supports:
As I said this is a work in progress, for now you can play around with the new feature by testing your direct links.
2022021415362500-09E44413F00829DF364E7E7DE170E12A
2022021415363700-50E2A11CE4BDDC72EF99DF78315D4938
 
Last edited by darkxex,

darkxex

Well-Known Member
Member
Joined
Jun 13, 2016
Messages
156
Trophies
0
Age
30
Location
Santiago
XP
979
Country
Chile
Hi All,
I have some issues to read movies or videos from location files (µSD). I was abble to read a 60Mo video but not higher size (700 Mo).
But it works well from a USB Key formatted in NTFS.
My internal µSD is formatted in FAT32 ...
Any idea ?
Tested with a 862mb MKV from the microSD, and it works without problems.
 
  • Like
Reactions: proconsule54

darkxex

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

NXMP v0.6.1 Rev 7(Nightly Build)

Pre-release

2022021814113600-09E44413F00829DF364E7E7DE170E12A
Hello friends, I have a couple of announcements:
  • This Build is at the request of Proconsule to test the public portlibs.
  • The portlibs are free to the public and you can download them from here https://github.com/proconsule/nxmp-portlibs (As a tip, compile them on Linux, I compile them on Windows but it's too much trouble even using WSL.)
  • This Nightly Build has updated libraries, both FFmpeg library (02/18/2022), and LibMpv 0.34.1 (This time patched so that deinterlacing works.)
  • It is quite likely that NXMP 0.6.2 Stable will arrive within the weekend, and as Proconsule mentioned to me, they will be compiled with the old portlibs. so if you want to test the new portlibs use the Nightly Builds, but as I always say:
    The Nighty Builds are test Builds, to add or remove functions, some things can be broken.
 

Djakku

Well-Known Member
Newcomer
Joined
May 9, 2019
Messages
96
Trophies
0
XP
1,175
Country
United Kingdom

NXMP v0.6.1 Rev 7(Nightly Build)

Pre-release

Hello friends, I have a couple of announcements:
  • This Build is at the request of Proconsule to test the public portlibs.
  • The portlibs are free to the public and you can download them from here https://github.com/proconsule/nxmp-portlibs (As a tip, compile them on Linux, I compile them on Windows but it's too much trouble even using WSL.)
  • This Nightly Build has updated libraries, both FFmpeg library (02/18/2022), and LibMpv 0.34.1 (This time patched so that deinterlacing works.)
  • It is quite likely that NXMP 0.6.2 Stable will arrive within the weekend, and as Proconsule mentioned to me, they will be compiled with the old portlibs. so if you want to test the new portlibs use the Nightly Builds, but as I always say:
    The Nighty Builds are test Builds, to add or remove functions, some things can be broken.

This is excellent.

On my debian VM, all the libs compiled successfully aside of libass.

I recompiled and reinstalled all the freshly compiled nxmp-portlib but it still didn't compile..

djakku@debian:~/programs/nxmp-portlibs/switch/libass$ dkp-makepkg
==> Making package: switch-libass 0.15.2-1 (Sat 19 Feb 11:14:50 GMT 2022)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found libass-0.15.2.tar.xz
==> Validating source files with sha256sums...
libass-0.15.2.tar.xz ... Skipped
==> Extracting sources...
-> Extracting libass-0.15.2.tar.xz with bsdtar
==> Removing existing $pkgdir/ directory...
==> Starting build()...
[...]
checking whether to build static libraries... yes
checking for aarch64-none-elf-gcc... (cached) aarch64-none-elf-gcc
checking whether the compiler supports GNU C... (cached) yes
checking whether aarch64-none-elf-gcc accepts -g... (cached) yes
checking for aarch64-none-elf-gcc option to enable C11 features... (cached) none needed
checking whether aarch64-none-elf-gcc understands -c and -o together... (cached) yes
checking dependency style of aarch64-none-elf-gcc... (cached) gcc3
checking for strdup... yes
checking for strndup... yes
checking for library containing libiconv_open... no
checking for library containing iconv_open... no
checking for library containing lrint... -lm
checking for aarch64-none-elf-pkg-config... /opt/devkitpro/portlibs/switch/bin/aarch64-none-elf-pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for freetype2 >= 9.10.3... yes
checking for fribidi >= 0.19.0... yes
checking for harfbuzz >= 1.2.3... no
configure: error: Package requirements (harfbuzz >= 1.2.3) were not met:

No package 'harfbuzz' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables HARFBUZZ_CFLAGS
and HARFBUZZ_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
==> ERROR: A failure occurred in build().
Aborting...
 
Last edited by Djakku,
  • Like
Reactions: proconsule54

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
754
Trophies
1
Age
43
XP
2,683
Country
Italy

NXMP v0.6.1 Rev 7(Nightly Build)

Pre-release

2022021814113600-09E44413F00829DF364E7E7DE170E12A
Hello friends, I have a couple of announcements:
  • This Build is at the request of Proconsule to test the public portlibs.
  • The portlibs are free to the public and you can download them from here https://github.com/proconsule/nxmp-portlibs (As a tip, compile them on Linux, I compile them on Windows but it's too much trouble even using WSL.)
  • This Nightly Build has updated libraries, both FFmpeg library (02/18/2022), and LibMpv 0.34.1 (This time patched so that deinterlacing works.)
  • It is quite likely that NXMP 0.6.2 Stable will arrive within the weekend, and as Proconsule mentioned to me, they will be compiled with the old portlibs. so if you want to test the new portlibs use the Nightly Builds, but as I always say:
    The Nighty Builds are test Builds, to add or remove functions, some things can be broken.
Thanks to @darkxex for this build. The new portlibs will be for sure better but the old one has a long story of stability so i prefer to use it for the 0.6.2 release (since newer one are not deep tested) from the next release we will use the newer ones if they are proven to be as stable as the older ones
 

darkxex

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

NXMP v0.6.2 Rev 8(Nightly Build)

Pre-release

Changelog:
  • Fixed bug where the maximum size of the subtitles is 120 in the right menu, but it is maximum 119 in the Settings menu, being inconsistent. (I just replaced the < 120 with <= 120)
  • Fixed Bug, where if in Settings you chose the size of Subtitles, for example 60, when entering the right menu, it would still show 55, since that value was embedded.
  • Fixed Bug (I don't know if it's a bug or it was intentional) where if you changed the value of the subtitle size with any value in the right menu, this was not reflected in the size of the settings menu. so now to my liking they work in sync.
  • Added function to save the size of the subtitle scaling and to be able to be modified from the Settings Menu, (and obviously they also work in sync.)
2022021918094700-09E44413F00829DF364E7E7DE170E12A
 

proconsule54

Well-Known Member
OP
Member
Joined
Nov 5, 2019
Messages
754
Trophies
1
Age
43
XP
2,683
Country
Italy
Release 0.6.2 Stable:
  • Since this version, NXMP works at 1080p in Docked mode and at 720p in handheld mode.
  • On Win32 Port (for testing themes) use the -d switch to start in "docked" mode resolution
  • Added Oc at Startup in Settings
  • Fixed bug where Overclock is automatically deactivated, leaving a false overclock activated message the next time.
  • Fixed wrong names in Network titles.
  • The app now closes with the (-) button, not the (+), to avoid problems with the built-in keyboard.
  • Added Stream Url (Direct url, Fembed, Bitly and JKAnime)
  • Fixed bug where the maximum size of the subtitles is 120 in the right menu, but it is maximum 119 in the Settings menu, being inconsistent. (I just replaced the < 120 with <= 120)
  • Fixed Bug, where if in Settings you chose the size of Subtitles, for example 60, when entering the right menu, it would still show 55, since that value was embedded.
  • Fixed Bug (I don't know if it's a bug or it was intentional) where if you changed the value of the subtitle size with any value in the right menu, this was not reflected in the size of the settings menu. so now to my liking they work in sync.
  • Added function to save the size of the subtitle scaling and to be able to be modified from the Settings Menu, (and obviously they also work in sync.)
  • Added Dark-SP and Light-SP themes

https://github.com/proconsule/nxmp/releases/tag/v0.6.2
 

darkxex

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

NXMP v0.6.3 Rev 3(Nightly Build)

Pre-release

Changelog:
  • Our friend @proconsule designed a Battery Icon, which replaces the progressbar implemented in the previous Nightly Build.
  • This Battery Icon also changes color depending on the battery percentage:
  • High Battery: Green
  • Middle Battery: Yellow
  • Low Battery: Red
2022022719361100-09E44413F00829DF364E7E7DE170E12A
 

darkxex

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

NXMP v0.6.3 Rev 4(Nightly Build)

Pre-release

Hello friends, finally an important Nightly Build.​

Changelog:
  • Added Battery Icon to Main Menu.
  • Since this version, the button (+) "Show file selection during playback", will only work if the RightMenu is closed. in this way we solve the problem of multiple overlaps.
  • This is the most important, fixed a bug that crashed NXMP, if you were in "Show file selection during playback" mode and you pressed the (Y) button, the next time you pressed the (+) button, the console would crash, this happens due to because NXMP saves the last state in a variable ("laststate"), therefore we have the state, in playback, and the previous state, which is in the filebrowser or whatever, but if you press the (Y), the last state, it would become the Home Menu, breaking the way the (+) button works. It took me about 1 hour to find the reason for the bug and how to fix it.
The solution I came up with was, if the "laststate" was replaced with something other than what it was originally, I created a state called "savestate" that saves that state, it would reset the "laststate" to the File Browser if the state was altered .
 

darkxex

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

NXMP v0.6.3 Rev 5(Nightly Build)

Pre-release

Hello friends, the Embedded Styles function has been deprecated, it has been replaced by Styles Override that allows greater customization of the Styles for the subtitles.
Changelog:
  • No: Render subtitles as specified by the subtitle scripts, without overrides.
  • Yes: Apply all the --sub-ass-* style override options. Changing the default for any of these options can lead to incorrect subtitle rendering (default).
  • Force: Like yes, but also force all --sub-* options. Can break rendering easily.
  • Scale: Like yes, but also apply --sub-scale.
  • Strip: Radically strip all ASS tags and styles from the subtitle. This is equivalent to the old --no-ass / --no-sub-ass options.
This also controls some bitmap subtitle overrides, as well as HTML tags in formats like SRT, despite the name of the option.
2022030112401500-09E44413F00829DF364E7E7DE170E12A
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: https://www.youtube.com/watch?v=uLN9qrJ8ESs