Homebrew Homebrew app [Release] Video player for 3DS

Core_2_Extreme

Well-Known Member
OP
Member
Joined
Feb 11, 2019
Messages
123
Trophies
0
Age
20
XP
798
Country
Japan
Video player for 3DS

Discord channel : https://discord.gg/MMsAXvetpR

If you want to watch youtube video on new 3ds, you can use thirdtube (developed by @windows_server_2003)

v1.5.0
Subtitles have been supported (*0)
Disable video, audio and subtitle have been added
Audio desync has been fixed
AV1 videos have been supported
The problem some video won't play smoothly in sw decoder has been fixed
Screen brightness adjustment function has been added (DPAD "↑" and "↓")
Other minor changes
*0 No style support, only plain text
Download : https://github.com/Core-2-Extreme/Video_player_for_3DS/releases/tag/v1.5.0

v1.4.2
Unexpected touch in Nintendo's home menu has been fixed
Multi-threaded decoding stability has been fixed and it is enabled by default
Seeking stability has been fixed
Repeat, in order, random playback mode have been added
Other minor changes
Download : https://github.com/Core-2-Extreme/Video_player_for_3DS/releases/tag/v1.4.2

v1.4.1
The "FSUSER_OpenFile() failed" error has been fixed
Adjusted font and button size in settings menu
Multi-threaded decoding is disabled by default because it has stability problem
Polish(Polski) translation has been added (by JustScratchCoder)
Download : https://github.com/Core-2-Extreme/Video_player_for_3DS/releases/tag/v1.4.1

v1.4.0
Decoded image(raw) buffer has been added and it makes playback
much much much much better (especially on OLD3DS)
Spanish(español) translation has been added (by Cookiee)
Romanian(Română) translation has been added (by Tescu48)
Download : https://github.com/Core-2-Extreme/Video_player_for_3DS/releases/tag/v1.4.0

v1.3.3
'aspect ratio 10:3 mode' has been changed to 'correct aspect ratio mode' (follow sar value(*0))
Color conversion speed has been improved
Simplified Chinese(简体中文) translation has been added (by LITTOMA)
Italian(italiano) translation has been added (by dixy52-beep)
*0 if video size is 800x240 and no sar value is set, it autmatically apply sar 1:2
Download : https://github.com/Core-2-Extreme/Video_player_for_3DS/releases/tag/v1.3.3

v1.3.2
Added aspect ratio 10:3 mode (for 800x240 videos)
Added disable resize and move video mode
Added remember video pos mode (resume from that pos next time)
Other minor changes
Download : https://github.com/Core-2-Extreme/Video_player_for_3DS/releases/tag/v1.3.2

v1.3.1
Volume adjustment has been added (from 0% to 999%)
Direction pad seeking has been added (from 1 second to 99 seconds)
Hungarian(magyar) translation has been added (by vargaviktor)
Other minor changes
Download : https://github.com/Core-2-Extreme/Video_player_for_3DS/releases/tag/v1.3.1

v1.3.0
The video that has more than one audio tracks has been supported (Press Y key-> select audio track to select track)
Multi-threaded decoding has been supported (Press Y key-> use multi-threaded decoding to toggle)
Hardware decoder has been merged (Press Y key-> use hw decoder to toggle)
Full screen mode has been supported (Press select key to toggle)
Other minor changes
Download : https://github.com/Core-2-Extreme/Video_player_for_3DS/releases/tag/v1.3.0

v1.2.0
Hardware decoding won't work in .cia has been fixed
Hardware decoding won't work in some resolution has been fixed
Added hardware color conversion for software decoder
Added 3D video support(*)
Other minor changes and optimization

* New 3DS or 3DS only, software decoder only, in order to see 3D video as 3D you need to enable 3D mode in settings(settings->LCD->Screen mode->3D)
Download : https://github.com/Core-2-Extreme/Video_player_for_3DS/releases/tag/v1.2.0

v1.1.1
Video will not be decoded correctly in hardware decoder has been fixed
Download : https://github.com/Core-2-Extreme/Video_player_for_3DS/releases/tag/v1.1.1

v1.1.0
Added hardware decoder (β)
Download : https://github.com/Core-2-Extreme/Video_player_for_3DS/releases/tag/v1.1.0

v1.0.1
Added allow skip frames option
Download : https://github.com/Core-2-Extreme/Video_player_for_3DS/releases/tag/v1.0.1

v1.0.0
Initial release
Download : https://github.com/Core-2-Extreme/Video_player_for_3DS/releases/tag/v1.0.0

Source : https://github.com/Core-2-Extreme/Video_player_for_3DS

00000026.jpg


Features
Hardware accelerated decoding(*0)✅
Hardware accelerated color conversion✅
Multiple video codec support(MPEG4, H.264, H.265, Motion Jpeg) ✅
Multiple audio codec support(mp1, mp2, mp3, ac3, aac, ogg, pcm audio) ✅
Seek ✅
3D video(*1)✅
Zoom in/out video ✅
Move video ✅
File explorer ✅

⚠️ *0 New 3DS and New 2DS only
⚠️ *1 New 3DS and 3DS only, software decoder only, in order to see 3D video as 3D
you need to enable 3D mode in settings(settings->LCD->Screen mode->3D)
How to convert your 3d video for 3DS : https://gbatemp.net/threads/release-video-player-for-3ds.586094/page-10#post-9575227 (by T0biasCZe)

Performance
⚠️ Decoding speed depends on encoder option, video type, video scene, etc...
⚠️ This table shows average fps, so you may hear stutter audio if you use this framerate.
(Lower video resolution or framerate in that case)
Software decoding in this table uses only one thread not multi-threaded decoding.

MPEG1video​

MPEG1video test file was encoded following command :
ffmpeg -i {input_file_name} -acodec copy -vcodec mpeg1video -s {width}x{height} -r 30 -q:v 15 {output_file_name}


MPEG1video256x144 (144p)426x240 (240p)640x360 (360p)800x240854x480 (480p)
OLD3DS Software decoding69.0fps39.9fps24.0fps27.4fps16.7fps
NEW3DS Software decoding532.0fps267.2fps119.8fps158.0fps69.4fps

MPEG2video​

MPEG2video test file was encoded following command :
ffmpeg -i {input_file_name} -acodec copy -vcodec mpeg2video -s {width}x{height} -r 30 -q:v 15 {output_file_name}


MPEG2video256x144 (144p)426x240 (240p)640x360 (360p)800x240854x480 (480p)
OLD3DS Software decoding67.1fps37.6fps22.3fps26.3fps15.4fps
NEW3DS Software decoding518.8fps254.2fps113.9fps145.7fps65.9fps


H263+​

H263+ test file was encoded following command :
ffmpeg -i {input_file_name} -acodec copy -vcodec h263p -s {width}x{height} -r 30 -q:v 15 {output_file_name}


H263+256x144 (144p)424x240 (240p)640x360 (360p)800x240856x480 (480p)
OLD3DS Software decoding62.8fps35.6fps21.1fps24.6fps8.7fps
NEW3DS Software decoding527.9fps257.8fps113.1fps144.2fps33.9fps


H264​

H264 test file was encoded following command :
ffmpeg -i {input_file_name} -acodec copy -vcodec libx264 -s {width}x{height} -r 30 -preset fast -profile:v baseline {output_file_name}


H264256x144 (144p)426x240 (240p)640x360 (360p)800x240854x480 (480p)
OLD3DS Software decoding30.7fps15.9fps8.8fps10.2fps5.4fps
NEW3DS Software decoding226.7fps95.1fps43.4fps53.2fps25.1fps
NEW3DS Hardware decoding560.6fps338.7fps206.0fps235.3fps114.7fps


H265​

H265 test file was encoded following command :
ffmpeg -i {input_file_name} -acodec copy -vcodec libx265 -s {width}x{height} -r 30 -preset fast -profile:v main {output_file_name}


H265256x144 (144p)426x240 (240p)640x360 (360p)800x240854x480 (480p)
OLD3DS Software decoding22.4fps11.3fps6.2fps7.2fps3.9fps
NEW3DS Software decoding136.8fps55.7fps26.4fps30.9fps15.3fps


Supported video codec
Motion jpeg
MPEG4 (MPEG4 part2)
MPEG1video
MPEG2video
H.263
H.263+
H.264 (MPEG4 part10)
H.265 (HEVC)

Supported audio codec
mp1 (MPEG audio layer 1)
mp2 (MPEG audio layer 2)
mp3 (MPEG audio layer 3)
ac3
aac (Advanced audio coding)
ogg (Vorbis)
pcm audio

Controls
A : Play/Pause
B : Stop
Y : Debug
X : Select file
R : Zoom in
L : Zoom out
C/DPAD : Move video
touch the bar : Seek
 
Last edited by Core_2_Extreme,

Core_2_Extreme

Well-Known Member
OP
Member
Joined
Feb 11, 2019
Messages
123
Trophies
0
Age
20
XP
798
Country
Japan
Does it supports 3d movies?

Sent from my Mi Note 10 Lite using Tapatalk
no.

--------------------- MERGED ---------------------------

Where has this Brew been all my life?!

(Also, would it be possible to make a "portable" version with the video packed into the CIA?)
It is possible.
 

Core_2_Extreme

Well-Known Member
OP
Member
Joined
Feb 11, 2019
Messages
123
Trophies
0
Age
20
XP
798
Country
Japan
Amazing! You made my day.
Would be cool to see some performance improvements in the future so that the Old3DS can play 240p videos at 30fps or more. A frameskip option would be great too.

A frameskip option would be ok if you are playing motion jpeg video otherwise video image will corrupt.
This is because motion jpeg file contain all frames as a keyframe(complete image data) but not H.264(and many codecs).

Anyway I'll add frameskip function so you can see what happen if you skip frame on H.264 file.
 
  • Like
Reactions: Computer_Freak_2004
General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: Lol