Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

FourthTube 3DS: Difference between revisions

From GameBrew
Created page with "{{Infobox 3DS Homebrews |title=FourthTube |image=Thirdtube3ds02.png |description=Another work-in-progress fork of the homebrew YouTube client for the 3DS called ThirdTube. |author=erievs |lastupdated=2025/01/21 |type=Media Players |version=beta 30 |license=GPL-3.0 |download=https://dlhb.gamebrew.org/3dshomebrews/FourthTube3DS.7z |website=https://gbatemp.net/threads/fourthtube-for-now-a-fork-of-thirdtube-that-works.660775/ |source=https://github.com/erievs/FourthTube |don..."
 
No edit summary
Line 19: Line 19:
|image_alt=FourthTube
|image_alt=FourthTube
}}
}}
FourthTube is a fork of a previous application called [[ThirdTube 3DS]], which had become non-functional around July 2024. The developer of FourthTube, also known for creating NexTube, collaborated with members of the ThirdTube Discord server to implement a fix, resulting in the creation of FourthTube.  
FourthTube is a fork of [[ThirdTube 3DS|ThirdTube]], which had become non-functional around July 2024. The developer of FourthTube, also known for creating NexTube, collaborated with members of the ThirdTube Discord server to implement a fix, resulting in the creation of FourthTube.  


ThirdTube functioned by utilizing a decrypter and manipulating certain JavaScript files to access YouTube's player without encountering access issues. However, this method proved to be unstable over time. In contrast, FourthTube employs a different approach by sending data that mimics the iOS YouTube app, a technique also used by tools like YT-DLP. This method enhances stability and ensures better compatibility with YouTube's services.  
ThirdTube uses a decrypter and manipulates certain JavaScript files to access YouTube's player without encountering access issues. However, this method proved to be unstable over time. In contrast, FourthTube employs a different approach by sending data that mimics the iOS YouTube app, a technique also used by tools like YT-DLP.  


Despite these improvements, users have reported that the application may still experience crashes during video playback. The development team is aware of these issues and has outlined plans to address them in future updates. Their to-do list includes renaming the application, implementing stability fixes, and resolving caption-related issues.  
== Features ==
* Video Playback up to 480p.
* Livestreams and premiere videos support.
* Searching.
* Video suggestion.
* Comments.
* Captions.
* Local watch history and channel subscription.
* No ads.


== Features ==
==Installation==
* Video Playback up to 480p
Requires 3DS (including 2DS) with [[Luma3DS]] (at least 8.1.0-0) and [[DSP1 3DS|DSP1]].
* Livestreams and premiere videos support
* Searching
* Video suggestion
* Comments
* Captions
* Local watch history and channel subscription
* No ads<br />
It's more like &quot;Ads are not implemented&quot; rather than &quot;We have ad-blocking functionality&quot;.<br />
Of course, we will never &quot;implement&quot; it :)


== Controls ==
== Controls ==
* B button : go back to the previous scene
B - Go back to the previous scene
* C-pad up/down : scroll
 
* L/R : switch between tabs
Circle Pad Up/Down - Scroll
* Select + Start : blackout the bottom screen
 
* In video player
L/R - Switch between tabs
** Arrow left/right : 10 s seek
 
** ZL/ZR : 5 s seek
Select+Start - Blackout the bottom screen
 
'''In video player:'''
 
Left/Right - 10s seek
 
ZL/ZR - 5s seek
 
'''Debugging:'''


Below are for debug purposes
Select+X - Toggle debug log


* Select + X : toggle debug log
Select+Y - Toggle memory usage monitor
* Select + Y : toggle memory usage monitor
* Select + R + A : toggle FPS monitor


== Requirements ==
Select+R+A - Toggle FPS monitor
* A 3DS (including 2DS) with [[Luma3DS]] installed and [DSP1 3DS]] run.
* We haven't tested the minimum system version, but at least 8.1.0-0 is needed.


==Screenshots==
==Screenshots==
Line 84: Line 87:


=== ThirdTube ===
=== ThirdTube ===
* [https://github.com/windows-server-2003 WindowsServer2003] - The creator of ThirdTube.
*[https://github.com/windows-server-2003 WindowsServer2003] - The creator of ThirdTube.
* [https://github.com/Smu1zel Smu1zel] - Figured out the line of code that needed to be changed and tested the change out, fixing the app after it stopped working in 2024.
*[https://github.com/Smu1zel Smu1zel] - Figured out the line of code that needed to be changed and tested the change out, fixing the app after it stopped working in 2024.
* [https://github.com/erievs NCP 3.0] - Fixing the app after it stopped working in 2024.
*[https://github.com/erievs NCP 3.0] - Fixing the app after it stopped working in 2024.
* [https://github.com/5GBurrito 5GBurrito] - Minor changes (project manager?).
*[https://github.com/5GBurrito 5GBurrito] - Minor changes (project manager?).
* [https://github.com/2b-zipper 2B_enpitsu] - New banner, watch history fix, new icon, 480p support, some other fixes, and a fair bit more (thank you so much!).
*[https://github.com/2b-zipper 2B_enpitsu] - New banner, watch history fix, new icon, 480p support, some other fixes, and a fair bit more (thank you so much!).
* [https://github.com/ItsFrocat ItsFrocat] &amp; [https://github.com/Dragontwo14 Dragontwo14] - For the strings used in the German translation.
*[https://github.com/ItsFrocat ItsFrocat] &amp; [https://github.com/Dragontwo14 Dragontwo14] - For the strings used in the German translation.
* [https://github.com/cooolgamer cooolgamer] - For the strings used in the French translation.
*[https://github.com/cooolgamer cooolgamer] - For the strings used in the French translation.
* [https://returnyoutubedislike.com/install returndislike] - Used for dislikes.
*[https://returnyoutubedislike.com/install returndislike] - Used for dislikes.


== External links ==
== External links ==
* Gbatemp - https://gbatemp.net/threads/fourthtube-for-now-a-fork-of-thirdtube-that-works.660775/
* Gbatemp - https://gbatemp.net/threads/fourthtube-for-now-a-fork-of-thirdtube-that-works.660775/
* Github - https://github.com/erievs/FourthTube
* Github - https://github.com/erievs/FourthTube

Revision as of 05:45, 26 January 2025

FourthTube
General
Authorerievs
TypeMedia Players
Versionbeta 30
LicenseGPL-3.0
Last Updated2025/01/21
Links
Download
Website
Source

FourthTube is a fork of ThirdTube, which had become non-functional around July 2024. The developer of FourthTube, also known for creating NexTube, collaborated with members of the ThirdTube Discord server to implement a fix, resulting in the creation of FourthTube.

ThirdTube uses a decrypter and manipulates certain JavaScript files to access YouTube's player without encountering access issues. However, this method proved to be unstable over time. In contrast, FourthTube employs a different approach by sending data that mimics the iOS YouTube app, a technique also used by tools like YT-DLP.

Features

  • Video Playback up to 480p.
  • Livestreams and premiere videos support.
  • Searching.
  • Video suggestion.
  • Comments.
  • Captions.
  • Local watch history and channel subscription.
  • No ads.

Installation

Requires 3DS (including 2DS) with Luma3DS (at least 8.1.0-0) and DSP1.

Controls

B - Go back to the previous scene

Circle Pad Up/Down - Scroll

L/R - Switch between tabs

Select+Start - Blackout the bottom screen

In video player:

Left/Right - 10s seek

ZL/ZR - 5s seek

Debugging:

Select+X - Toggle debug log

Select+Y - Toggle memory usage monitor

Select+R+A - Toggle FPS monitor

Screenshots

FourthTube3DS-01.png

FourthTube3DS-02.png

FourthTube3DS-03.png

Changelog

beta 30

  • Added option to switch app data (iOS, Android VR) to Settings -> Advanced
  • Update iOS client
  • Added visitor data (YouTube requests) (Comment From Me ErieVS: I have no idea why I didn't think about doing this to begin with, I used it with MangoTube, guess I just forgot, anwyas huge thanks to 2ipper for this fix!)

Credits

FourthTube

  • 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

For the icon and the banner

As a reference about YouTube webpage parsing. It was especially helpful for the deobfuscation of ciphered signatures.

As a reference about YouTube webpage parsing. Thanks to its strict dependency-free policy, I was able to port some of the code without difficulty.

ThirdTube

  • WindowsServer2003 - The creator of ThirdTube.
  • Smu1zel - Figured out the line of code that needed to be changed and tested the change out, fixing the app after it stopped working in 2024.
  • NCP 3.0 - Fixing the app after it stopped working in 2024.
  • 5GBurrito - Minor changes (project manager?).
  • 2B_enpitsu - New banner, watch history fix, new icon, 480p support, some other fixes, and a fair bit more (thank you so much!).
  • ItsFrocat & Dragontwo14 - For the strings used in the German translation.
  • cooolgamer - For the strings used in the French translation.
  • returndislike - Used for dislikes.

External links

Advertising: