More actions
m (Text replacement - "| licence" to "| license") |
No edit summary |
||
Line 3: | Line 3: | ||
| image = ThirdTube-3DS-04.jpg|250px | | image = ThirdTube-3DS-04.jpg|250px | ||
| type = Media players | | type = Media players | ||
| version = v0. | | version = v0.3.0 | ||
| lastupdated = 2021/ | | lastupdated = 2021/10/12 | ||
| license = Mixed | | license = Mixed | ||
| author = windows-server-2003 | | author = windows-server-2003 | ||
| website = https://gbatemp.net/threads/release-thirdtube-a-homebrew-youtube-client-for-the-new-3ds.591696 | | website = https://gbatemp.net/threads/release-thirdtube-a-homebrew-youtube-client-for-the-new-3ds.591696 | ||
| download = https:// | | download = https://github.com/windows-server-2003/ThirdTube/releases | ||
| source = https://github.com/windows-server-2003/ThirdTube | | source = https://github.com/windows-server-2003/ThirdTube | ||
}} | }} | ||
== | ThirdTube is a work-in-progress homebrew YouTube client for the New 3DS. The project is inspired by [https://newpipe.net NewPipe], it accesses the mobile version of YouTube, parses the important part of the downloaded html and plays the stream using the fast decoder taken from [https://github.com/Core-2-Extreme/Video_player_for_3DS Video player for 3DS] by Core-2-Extreme. It does not run any javascripts or render html/css, so it’s significantly faster than YouTube on the browser. The name is derived from the fact that it is the third YouTube client on 3DS, following the official YouTube app (discontinued) and the new 3DS browser. | ||
'''Note from developer:''' | |||
This application is still in the alpha stage, you may and will encounter crashes and other bugs. If you find one of those, it would be helpful to open an issue on [https://github.com/windows-server-2003/ThirdTube/issues the GitHub repository]. | |||
==Features== | |||
* Video Playback up to 360p (480p might be considered in the future development). | |||
* Livestreams and premiere videos support. | |||
* Searching. | |||
* Video suggestion. | |||
* Comments. | |||
* Captions. | |||
* Local watch history and channel subscription. | |||
* No ads (or rather Ads are not implemented, as this application web-scrapes YouTube). | |||
==Installation== | |||
Available as 3DSX and CIA. | |||
* CIA - Install the .cia with the CIA manager of your choice. | |||
* 3DSX - Use the .3dsx with the homebrew launcher. | |||
== | ==Controls== | ||
B - Bo back to the previous scene | |||
D-Pad Up/Down - Scroll | |||
'''In video player:''' | |||
Arrow Left/Right - 10 sseek | |||
Hamburger menu - Jump to the Search, Settings, About scene, Exit | |||
==Screenshots== | |||
https://dlhb.gamebrew.org/3dshomebrew/ThirdTube-3DS-01.jpg | https://dlhb.gamebrew.org/3dshomebrew/ThirdTube-3DS-01.jpg | ||
https://dlhb.gamebrew.org/3dshomebrew/ThirdTube-3DS-02.jpg | https://dlhb.gamebrew.org/3dshomebrew/ThirdTube-3DS-02.jpg | ||
Line 32: | Line 50: | ||
https://dlhb.gamebrew.org/3dshomebrew/ThirdTube-3DS-04.jpg | https://dlhb.gamebrew.org/3dshomebrew/ThirdTube-3DS-04.jpg | ||
== | ==Media== | ||
'''How to watch Youtube on 3DS with ThirdTube''' ([https://www.youtube.com/watch?v=fzhFpWm4KJ4 ]) <br> | |||
<youtube>fzhFpWm4KJ4</youtube> | |||
== | ==Compatibility== | ||
New 3DS (including a New 2DS) with [https://github.com/LumaTeam/Luma3DS Luma3DS] installed and [https://github.com/zoogie/DSP1 DSP1] run. At least 8.1.0-0 is needed (not tested on minimum system version). | |||
Deveolper stated that Old 3DS is not supported, as it lacks of hardware-decoding capability and cannot even play 144p at a constant 30 FPS. | |||
== | ==Known issues== | ||
Extracted stream urls randomly return 403 and the video playback fails The reason is unknown, but a temporary workaround is to press Advanced Tab -> Reload when this happens. | |||
Stream downloading randomly slows down (about 10% of the times) This is due to YouTube (probably deliberately) throttling the download speed. The workaround is the same as the 403 issue; reloading will fix it. | |||
Long comments are cut This is intentionally done for a performance reason and probably fixable by, for example, folding the comments by default. | |||
''' | ==Changelog== | ||
'''v0.3.0 2021/10/12''' | |||
* Added support for playlists. | |||
** Now playlists appear both in search results and suggestions. | |||
* Added local watch history (see hamburger menu -> History). | |||
** You can disable history recording/clear history in settings. | |||
* Added local subscription and ability to load recent videos from the subscribed channels (see hamburger menu -> Subscription). | |||
* Added Control tab in the video player. | |||
* Added video quality selector and audio-only mode selector in Control tab. | |||
** These options will save data usage and make the playback smooth when using a slow connection. | |||
* Added yet another network framework : libcurl (it should be more stable?). | |||
* Added the button to directly input URL, next to the search box.. | |||
* Added seeking by 10 seconds by pressing the arrow button left/right. | |||
* Added scrolling by using the d-pad up/down. | |||
* Added video pages caching. | |||
* Added the reason when a video is unplayable (e.g. private, removed, copyright takedown). | |||
* Added video duration overlay text in the video list of a channel. | |||
* Improved performance when opening the software keyboard. | |||
* Improved the behavior when reaching the end of the video. | |||
* Improved the behavior of the progress bar when seeking. | |||
* Improved stability. | |||
* Reorganized the settings menu. | |||
* Removed Advanced tab. | |||
** Debug info can still be seen in Control tab if enabled in settings. | |||
** The texture filter toggle button has been moved to settings with the name "Linear video filter". | |||
** The reload button has been moved to Control tab. | |||
* Fixed showing "Settings" in the hamburger menu when you are already opening settings. | |||
* Fixed httpcContext resource leaking when redirection occurs, which caused the app to stop working. | |||
* Fixed broken playback when playing videos with non-standard heights. | |||
[https://github.com/windows-server-2003/ThirdTube/releases Release notes.] | |||
== Credits == | ==Credits== | ||
* Core 2 Extreme - For [https://github.com/Core-2-Extreme/Video_player_for_3DS Video player for 3DS] which this app is based on. Needless to say, the video playback functionality is essential for this app, and it would not have been possible to develop this software without him spending his time optimizing the code sometimes even with assembly and looking into HW decoding on the new 3DS. | |||
* dixy52-beep - For in-app textures. | |||
* [https://github.com/Poketubepoggu PokéTube] - For the icon and the banner | |||
* The contributors of [https://github.com/ytdl-org/youtube-dl youtube-dl] - As a reference about YouTube webpage parsing. It was especially helpful for the deobfuscation of ciphered signatures. | |||
* The contributors of [https://github.com/pytube/pytube pytube] - As a reference about YouTube webpage parsing. Thanks to its strict dependency-free policy, making it possible to port some of the code without difficulty. | |||
* | ==External links== | ||
* | * GitHub - https://github.com/windows-server-2003/ThirdTube | ||
* GBAtemp - https://gbatemp.net/threads/release-thirdtube-a-homebrew-youtube-client-for-the-new-3ds.591696 | |||
[[Category:3DS homebrew applications]] | [[Category:3DS homebrew applications]] | ||
[[Category:Homebrew media players on 3DS]] | [[Category:Homebrew media players on 3DS]] |
Revision as of 01:52, 22 October 2021
ThirdTube | |
---|---|
File:ThirdTube-3DS-04.jpg | |
General | |
Author | windows-server-2003 |
Type | Media players |
Version | v0.3.0 |
License | Mixed |
Last Updated | 2021/10/12 |
Links | |
Download | |
Website | |
Source | |
ThirdTube is a work-in-progress homebrew YouTube client for the New 3DS. The project is inspired by NewPipe, it accesses the mobile version of YouTube, parses the important part of the downloaded html and plays the stream using the fast decoder taken from Video player for 3DS by Core-2-Extreme. It does not run any javascripts or render html/css, so it’s significantly faster than YouTube on the browser. The name is derived from the fact that it is the third YouTube client on 3DS, following the official YouTube app (discontinued) and the new 3DS browser.
Note from developer:
This application is still in the alpha stage, you may and will encounter crashes and other bugs. If you find one of those, it would be helpful to open an issue on the GitHub repository.
Features
- Video Playback up to 360p (480p might be considered in the future development).
- Livestreams and premiere videos support.
- Searching.
- Video suggestion.
- Comments.
- Captions.
- Local watch history and channel subscription.
- No ads (or rather Ads are not implemented, as this application web-scrapes YouTube).
Installation
Available as 3DSX and CIA.
- CIA - Install the .cia with the CIA manager of your choice.
- 3DSX - Use the .3dsx with the homebrew launcher.
Controls
B - Bo back to the previous scene
D-Pad Up/Down - Scroll
In video player:
Arrow Left/Right - 10 sseek
Hamburger menu - Jump to the Search, Settings, About scene, Exit
Screenshots
Media
How to watch Youtube on 3DS with ThirdTube ([1])
Compatibility
New 3DS (including a New 2DS) with Luma3DS installed and DSP1 run. At least 8.1.0-0 is needed (not tested on minimum system version).
Deveolper stated that Old 3DS is not supported, as it lacks of hardware-decoding capability and cannot even play 144p at a constant 30 FPS.
Known issues
Extracted stream urls randomly return 403 and the video playback fails The reason is unknown, but a temporary workaround is to press Advanced Tab -> Reload when this happens.
Stream downloading randomly slows down (about 10% of the times) This is due to YouTube (probably deliberately) throttling the download speed. The workaround is the same as the 403 issue; reloading will fix it.
Long comments are cut This is intentionally done for a performance reason and probably fixable by, for example, folding the comments by default.
Changelog
v0.3.0 2021/10/12
- Added support for playlists.
- Now playlists appear both in search results and suggestions.
- Added local watch history (see hamburger menu -> History).
- You can disable history recording/clear history in settings.
- Added local subscription and ability to load recent videos from the subscribed channels (see hamburger menu -> Subscription).
- Added Control tab in the video player.
- Added video quality selector and audio-only mode selector in Control tab.
- These options will save data usage and make the playback smooth when using a slow connection.
- Added yet another network framework : libcurl (it should be more stable?).
- Added the button to directly input URL, next to the search box..
- Added seeking by 10 seconds by pressing the arrow button left/right.
- Added scrolling by using the d-pad up/down.
- Added video pages caching.
- Added the reason when a video is unplayable (e.g. private, removed, copyright takedown).
- Added video duration overlay text in the video list of a channel.
- Improved performance when opening the software keyboard.
- Improved the behavior when reaching the end of the video.
- Improved the behavior of the progress bar when seeking.
- Improved stability.
- Reorganized the settings menu.
- Removed Advanced tab.
- Debug info can still be seen in Control tab if enabled in settings.
- The texture filter toggle button has been moved to settings with the name "Linear video filter".
- The reload button has been moved to Control tab.
- Fixed showing "Settings" in the hamburger menu when you are already opening settings.
- Fixed httpcContext resource leaking when redirection occurs, which caused the app to stop working.
- Fixed broken playback when playing videos with non-standard heights.
Credits
- Core 2 Extreme - For Video player for 3DS which this app is based on. Needless to say, the video playback functionality is essential for this app, and it would not have been possible to develop this software without him spending his time optimizing the code sometimes even with assembly and looking into HW decoding on the new 3DS.
- dixy52-beep - For in-app textures.
- PokéTube - For the icon and the banner
- The contributors of youtube-dl - As a reference about YouTube webpage parsing. It was especially helpful for the deobfuscation of ciphered signatures.
- The contributors of pytube - As a reference about YouTube webpage parsing. Thanks to its strict dependency-free policy, making it possible to port some of the code without difficulty.