Homebrew nx-laserplayer

  • Thread starter Thread starter proconsule54
  • Start date Start date
  • Views Views 7,957
  • Replies Replies 89
  • Likes Likes 22

proconsule54

Well-Known Member
Member
Joined
Nov 5, 2019
Messages
942
Reaction score
1,976
Trophies
2
Age
45
XP
3,990
Country
Italy
nx-laserplayer-banner.png

Nintendo Switch Video Player for Optical Disc (CD/DVD/BD)

Thanks to https://github.com/proconsule/libusbdvd it features:

- DVD Video playback (supporting Commercial DVD-Video)
- Blu-ray playback (Commericial Blu-ray NOT supported right now and some Blu-ray may not work)
- SVCD playback
- VCD playback

Thanks to averne https://github.com/averne/mpv it features:

- MPEG2 HW Decoder
- H264 HW Decoder
- H265 HW Decoder (with HDR support)

You need an external optical drive connected via USB to the Switch, a dock with good power supply is needed since usb optical drives have high power spikes


https://github.com/proconsule/nx-laserplayer

https://github.com/proconsule/nx-laserplayer/releases

Screenshots:
2025090923145500.jpg2025090923152100.jpg
 
Working on AACS, hope to support up to Bluray Ultra (h265 HDR).
Also some (not many) HD Bluray have VC1 as video codec, switch don't have an hw decoder for VC1 so don't expect this to work
HD Bluray with h264 (most) will be fully supported
 
For aacs i will follow the vlc “road” so using a common keydb tha can be found on internet, with key and generate a good iv (that is based on sector number with other stuff) and pass it to an aes128_cb (for this i will use mbedtls since libgnupg used by libaacs is unportable) no other routine needed afaik.
Seems not to hard (having the key), bruteforce is out of question, can take days.
Post automatically merged:

Got a bd 4k hdr that is bd+ protected! Very good. I will supprt it also, luckly the vm used on bd+ are not java vm but simle bytecode execution machine, looking at libbdplus seems possible to support this also (changing the crypto lib to mbedtls)
 
Last edited by proconsule54,
Too bad my misunderstood was an aacs 2.0 ahahahah too bad.
Tips for bluray drives DONT UPDATE DRIVE FIRMWARE since newer one enable extra firmware protection on data handling so better to stay on the factory one.
I got commercial bd playback for fullhd , bluray ultra dont work without extrnal help.

Can take sone time to push all into the lib, but aacs 1.0 will be supported soon
 
opposite from what i have done for css, aacs will not be transparent with the lib but inside the player. Is easier to implement and more “fair” for usage.
I adapted only a small portion of libaacs just enough for decryption is a valid vuk key is found. For getting keys dig into the net i will not provide further info on this
 
  • Like
Reactions: Greasson
I have an LG BP50NB40 and I keep getting No USB Drive Found with it. It does have a weird dual USB connection and I'm pretty sure I downgraded and flashed it so it would read 4K. So, it could be because of something I did. Wasn't sure if you tried that yet.

I have another generic, Chinese DVD drive that works fine though. Cool stuff.
 
  • Like
Reactions: proconsule54
I think you flashed to be libredrive compatible, good stuff. I will make the libusb test software more permissive to catch also unsupported ones to debug it
Post automatically merged:

Too bad that till now the only bluray drive that seem to work is mine…
Post automatically merged:

What helps me a lot could be a screen with usb device tree viewer of the drive specs
Post automatically merged:

Found out why many bluray player dont get discovered.
Seems that all of them are subclass 0x06 (check it with usb tree viewer) that i filtered out for not conflicting with libusbhsfs.
I will make an unfilter command to use if drive is not detected.
Post automatically merged:

This is an update on the readme for the upcoming version

Nintendo Switch Video Player for Optical Disc (CD/DVD/BD)

The two mayor protection systems are implemented in this way

- CSS is managed by libusbdvd so all DVD are are recognized as unprotected disc
- AACSv1 is managed by the player itself using libbluray and mbedtls (need a keyfile just like VLC)
So for version 0.0.2
  • DVD Video playback (supporting Commercial DVD-Video)
  • Blu-ray playback (supporting Commercial Bluray with AACSv1, Bluray Ultra with AACSv2 are not supported)

I hope to publish it in the weekend with also an updated lib version
 
Last edited by proconsule54,
All good except from a slow reading from bluray drive, is a shame, all stuff, hwdec and decrypt without an issue and the reading speedbis a mess!! Hope to fix it and release it this weekend! Stay tuned!
Post automatically merged:

Fixed. full speed Bluray playback. Now its time to do some tests on all bluray i have at home
 
Last edited by proconsule54,
  • Like
Reactions: ber71 and worm28
I need to try this out i have a USB blue ray player and i hope its compatible i cant wait for commercial Blu-ray support this is a kickass homebrew app.
 
  • Like
Reactions: proconsule54
if you see a bluray with vlc/kodi you will see it also on nx-laserplayer soon since i use the same method (but with mbedtls)
Post automatically merged:

I need to try this out i have a USB blue ray player and i hope its compatible i cant wait for commercial Blu-ray support this is a kickass homebrew app.
and @JK_ try this
 

Attachments

Last edited by proconsule54,
  • Like
Reactions: worm28
  • Like
Reactions: proconsule54
@proconsule54 I was able (at last) to test my new blu-ray drive

libusbdvd 0.1.0 : crash at startup
nx-laserplayer 0.0.1 : no USB drive found

USBTreeView of my drive, if it can help :
libusbdvd_matshita.png

edit : I wasn't aware of the new test build here. Will try it.

EDIT 2 : libusbdvd 0.0.2 : no USB drive found
 
Last edited by Badablek,
  • Like
Reactions: proconsule54
@proconsule54 I was able (at last) to test my new blu-ray drive

libusbdvd 0.1.0 : crash at startup
nx-laserplayer 0.0.1 : no USB drive found

USBTreeView of my drive, if it can help :
View attachment 528800

edit : I wasn't aware of the new test build here. Will try it.

EDIT 2 : libusbdvd 0.0.2 : no USB drive found
pressed the minus button to force subclass 0x06?
Post automatically merged:

Tips for make it works, first be sure of the subclass of your drive.
Use usb tree viewer and search for bulk endpoints it gives class and subclass

For optical drives it should be 0x02 but many bluray uses 0x06.

If is a 0x02 it should be discovered in auto, if not there should be some deep problem i have to investogate.

If is a 0x06 app should say usb not found with press - button ecc.

Disconnect any other usb device other then optical drive, press - button

@Badablek sorry i uploaded wrong nro
 

Attachments

Last edited by proconsule54,

Site & Scene News

Popular threads in this forum