- Joined
- Jan 25, 2024
- Messages
- 12,748
- Points
- 38
- Age
- 39
- Location
- USA
- Website
- gameparadise.org
- Credits
- 217,062
Introduction
Finishing the International Olympiad in Informatics 2021, which was the last IOI for me as a competitor, I suddenly felt like coming back to where I started programming four years ago.
I hope it's not too late to bring an alternative to the now-dead official YouTube app for 3DS to the scene.
I would like to thank @Core_2_Extreme for putting immeasurable effort on https://github.com/Core-2-Extreme/Video_player_for_3DS/ and providing the code of it which is indispensable for developing this app.
Concept
Inspired by NewPipe(https://newpipe.net/), I implemented the parser of YouTube webpages to extract the important information (metadata, stream urls, comments, etc...).
The advantage of this web-scraping is the speed; compared to the New 3DS browser, the only way to watch YouTube on the 3DS now, this app is faster because it does not fully parse HTMLs or run javascripts. It does not even load css and some javascripts that are not related to the information we want to gain.
By combining this parser with the fast decoder by Core_2_Extreme, we can have a better YouTube client on the 3DS.
Apology
I usually care (sometimes excessively) about the support of older devices/OSes, but this time I decided not to support Old 3DSes.
They have lower CPU frequency than new 3DSes and, most importantly, lack the hardware decoding capability, resulting in failure to stably achieve 30 FPS in playing 144p videos, which is the lowest resolution available on YouTube.
When the video fails to maintain the supposed FPS and falls out of real time, the audio starts cutting out, which I felt annoying enough to deny the idea of "better than nothing".
Features
Currently only the very basic functions are implemented.
The app is available in .cia and .3dsx. For both formats, it is required that you have Luma3DS installed (preferably the latest one).
Binary : https://github.com/windows-server-2003/ThirdTube/releases
Source code : https://github.com/windows-server-2003/ThirdTube
Credits
In the process of developing this app, I used and referred to various code written by other people.
Credits go to :
In this kind of threads, there are always people who ask "What's the point" or say "It's way better on mobile phones". To be honest, I'm skeptical if this app could be practically useful. Maybe it's needed for chlidren who have their phones controlled tightly by their parents but have freedom on 3DSes but...
Well, homebrews need not be based on practical needs. If you love to tweak ridiculously old gadgets just because they are ridiculously old, you are probably one of us who enjoy this project.
I hope you can feel the excitement of doing usual things on weird devices.
Finishing the International Olympiad in Informatics 2021, which was the last IOI for me as a competitor, I suddenly felt like coming back to where I started programming four years ago.
I hope it's not too late to bring an alternative to the now-dead official YouTube app for 3DS to the scene.
I would like to thank @Core_2_Extreme for putting immeasurable effort on https://github.com/Core-2-Extreme/Video_player_for_3DS/ and providing the code of it which is indispensable for developing this app.
Concept
Inspired by NewPipe(https://newpipe.net/), I implemented the parser of YouTube webpages to extract the important information (metadata, stream urls, comments, etc...).
The advantage of this web-scraping is the speed; compared to the New 3DS browser, the only way to watch YouTube on the 3DS now, this app is faster because it does not fully parse HTMLs or run javascripts. It does not even load css and some javascripts that are not related to the information we want to gain.
By combining this parser with the fast decoder by Core_2_Extreme, we can have a better YouTube client on the 3DS.
Apology
I usually care (sometimes excessively) about the support of older devices/OSes, but this time I decided not to support Old 3DSes.
They have lower CPU frequency than new 3DSes and, most importantly, lack the hardware decoding capability, resulting in failure to stably achieve 30 FPS in playing 144p videos, which is the lowest resolution available on YouTube.
When the video fails to maintain the supposed FPS and falls out of real time, the audio starts cutting out, which I felt annoying enough to deny the idea of "better than nothing".
Features
Currently only the very basic functions are implemented.
- Searching
- Video viewer with most of the features inherited from https://github.com/Core-2-Extreme/Video_player_for_3DS/
Video resolution is fixed to 360p - Comments (replies are not implemented yet)
- Suggestions
- Channel page (video list and channel description
The app is available in .cia and .3dsx. For both formats, it is required that you have Luma3DS installed (preferably the latest one).
Binary : https://github.com/windows-server-2003/ThirdTube/releases
Source code : https://github.com/windows-server-2003/ThirdTube
Credits
In the process of developing this app, I used and referred to various code written by other people.
Credits go to :
- @Core_2_Extreme for the awesome Video player for 3DS (https://github.com/Core-2-Extreme/Video_player_for_3DS/)
- The contributors of youtube-dl(https://github.com/ytdl-org/youtube-dl) and pytube(https://github.com/pytube/pytube) for youtube parsing code which I referred to
In this kind of threads, there are always people who ask "What's the point" or say "It's way better on mobile phones". To be honest, I'm skeptical if this app could be practically useful. Maybe it's needed for chlidren who have their phones controlled tightly by their parents but have freedom on 3DSes but...
Well, homebrews need not be based on practical needs. If you love to tweak ridiculously old gadgets just because they are ridiculously old, you are probably one of us who enjoy this project.
I hope you can feel the excitement of doing usual things on weird devices.