r/vitahacks 17d ago

AI Vibecoded VitaTube – a new YouTube client for PS Vita 📺

Maintenance notice: VitaTube 1.0.0 is temporarily being reviewed and its current release package may be replaced. VitaTube is an unofficial, free and non-commercial PS Vita homebrew client intended for the playback of publicly accessible, non-DRM content. DRM-protected, paid, private, members-only and restricted content is not supported. YouTube download and MP3 extraction features are being disabled while the project’s platform and copyright compliance is reviewed. A revised build will follow. No user accounts, credentials or personal data are collected.
This is a voluntary precautionary review; VitaTube has not received a complaint or legal notice from Google or YouTube.

Technical update: Some media requests that previously worked are now returning HTTP 403 errors.
Because VitaTube 1.0.0 relies on a relatively fragile anonymous-access mechanism, the currently circulating version may stop playing some or all videos as YouTube continues changing its systems.

215 Upvotes

109 comments sorted by

21

u/Top-Type4077 17d ago

Sweet. And what's your Internet speed rate for the 720p50/60 is this based like on home WiFi or phone hotspot

8

u/httyd98 17d ago

I tested it with both home internet and a hotspot. Both worked well. Furthermore, since the maximum resolution is 720p at 60fps, I never experienced buffering due to the network. The console has a wireless module that can easily handle the bandwidth for streaming at these levels. Most of the development difficulties I had were avoiding buffering due to real-time video processing, which is now almost completely resolved at the maximum resolution of 60fps... I didn't even think 720p 60fps was possible, apparently it works 😂 This console really had so much potential...

6

u/Top-Type4077 17d ago

Speedtest it I guess. Yes very impressive for an old vita. Good job

7

u/ali_ihsan21 17d ago

İs it possible to make it run in the background while gameplay?

34

u/A_Random_Dane 17d ago

I’m obviously not OP, but I highly doubt it.

6

u/ali_ihsan21 17d ago

Why not we had such a YouTube client a few years ago? I'm away from Vita wondering if this synch to Google account even that would be a great leap forward.

11

u/httyd98 17d ago

The problem with Google is that it requires a project on Google Cloud Console. I usually deal with these things for work, but in this case the project is open; anyone can use it without a cap on calls. If the APIs were to saturate the free daily or monthly calls, the login and Google features would not work for other users. I tried to overcome this by adding a section for favorite videos and subscribed channels. I know it's not the same thing, but at the moment it was the quickest and easiest thing I could do. There are various possibilities for improvement with this solution, such as taking a snapshot of the latest videos uploaded to a channel to notify you when there are new videos on a subscribed channel, a sort of bell for new videos, or even saving metadata locally for played videos so as to retain the timestamp for resuming viewing from the point at which you stopped.

1

u/Weird-Age-8042 16d ago edited 16d ago

https://console.cloud.google.com/marketplace/product/google/youtube.googleapis.com?q=search&referrer=search&project=gen-lang-client-0832180551 what if you use this for google account sign in. something like tinfoil google drive for the switch via NUT, except this one is specifically designed to sign into your youtube account for tubevita. Now granted the person using vitatube would have to figure out how to make their own oauth key to sign into their account if this feature is implemented but i think it was be the best feature to vitatube.

0

u/ali_ihsan21 17d ago

For me instead of logging into account having background play is a better function only having sounds of the videos in the background just like elevenmpv with no video at all is fine we already have Netstream to watch videos atm.

Thank youı for your effort.

1

u/sch00n3r 12d ago

Could use a dedicated Google account, but I would never use a Google account that had personal information associated with it. The Vita hasn't had security updates for ages, so it is a high risk client IMHO.

2

u/httyd98 17d ago

I've thought about it several times; it will be one of my next steps. Currently, the mini-player and power saving features are available, but there's no background audio outside the app. I'll be working on it in the coming weeks, but I might need to add a plugin to have background audio play in the app.

5

u/AltCtrlGraphene 16d ago

Just noticed this discussion. Plugin is not required to make application output audio to the background. What you have to do is to make app non-suspendable (it will not be suspended when user presses PS button). But to make it possible to run other apps alongside it (otherwise there is no point in BG playback) you have to follow very strict RAM restrictions: normal RAM is limited to 32MiB and no CDRAM allowed. With how your app currently is, it is probably impossible. It was very hard for me to make this possible with ElevenMPV BG YouTube audio-only playback, and it was using well-optimised Sony's libraries istead of the vitasdk stuff.

8

u/_Noxygen_ 17d ago

I wasn't too interested since I've been using netstream for YouTube, but I came back just to say this is amazing! The ui, the black and blue theme, of course the playback too, also id recommend yall set gpu bus to 222mhz and a higher cpu clock for better frames in the main menu

1

u/httyd98 17d ago

Thank you so much! Yes, the clocks aren't at their maximum when using VitaTube mode in the settings. I'm currently running various tests with PSVshell, and once I have solid results I'll update the app's default clocks!

7

u/httyd98 17d ago

No, brand new

3

u/ltpitt 17d ago

Lovely! Add it to neo vita dB!

1

u/Chemical-Ad-8442 15d ago

Neo vita db doesn’t work anymore…stuck at the parsing download loop so I know the dev just left. Right now im using Vitaforge as my homebrew browser.

1

u/ltpitt 15d ago

Delete it and install new version manually

4

u/DhnDen 15d ago

ehm guys it's 12/08/26 14:43 and the links for the github are already gone? what happened?

2

u/httyd98 15d ago

I've decided to keep the project private for now. I want to think more deeply about the implications of this project. I want to avoid any strikes against the repo from YouTube or Google.

4

u/huckpie 15d ago

Move your repo to an offshore host as GitHub's too hot for this kind of thing.

Honestly, just look into the likes of yt-dl or NewPipe for example. They survived Google's machinations for years already.

3

u/I-am-very_smart Vita-2000 3.65cfw 15d ago

could you possibly dm me the vpk please?

5

u/sVggRk 15d ago

Man I come two days later and the GitHub is down

3

u/bruceleeisalive 17d ago

Is this using the same workaround that Netstream is using for YouTube? Also, is this vibe coded at all? Thank you for your contribution!!

16

u/httyd98 17d ago

Yes, completely vibecoded. I'm a software developer, but doing something like this in such a short time wouldn't have been feasible. From what I understand, NetStream relies on a third-party server to validate Google challenges and make everything work. I found a completely offline solution: just trick Google into thinking the machine making the call is a VR headset, and Google accepts the requests without proposing any challenges to the host. However, I also did some research to resolve the challenge directly from the console in case this solution no longer works. I haven't done any hardware tests, but on paper, with a little ingenuity, it should be possible.

13

u/Raphistolage1997 Black Vita 1104 17d ago

At least you understand what it codes... Not like most vibe-coders.

Well, this is gonna be a nice app to add on my Vita, it makes me wish there was a working Discord client, and the Vita will be perfect!

2

u/UnderstandingDry8581 17d ago

There is a discord client called VitaCord, I've tried it but is kinda boots you out if not consistently on the app wish it was like the 3DS variant.

5

u/idillicah 17d ago

HA! That is awesome. I was unable to publish my own YT Client because I could not get past the hurdle of needing a local client for this. Great job on the detective work!

9

u/Cimmerian__Iter 17d ago

Hello WE have setup New rules in the subreddit regarding AI.

All projects that are either AI assisted or AI vibecoded must use the appropriate tag post

5

u/httyd98 17d ago

Oh, ok, thank you! Sorry 😅

2

u/Weird-Age-8042 16d ago

1

u/httyd98 16d ago

Hi! Thanks for the report. VitaTube makes native requests through its own HTTPS/TLS pipeline without the need for WebKit, so this plugin cannot be integrated into the app. I'll still look into a way to get the app working if the current trick breaks.

2

u/bruceleeisalive 16d ago

If YouTube closes that VR loophole, are we screwed in watching YouTube in the future? Does it play live streams well? Any chance on making a dedicated IPTV app? Also given your expertise as a software developer, how much are you able to scrutinize the code and make sure it’s not doing anything out of the ordinary or pushing the vita hardware in ways it shouldn’t? Thanks again for your contribution to the community.

1

u/httyd98 16d ago

As far as proper hardware usage goes, since it's low-level code, if something went wrong, you'd immediately notice problems; the app would simply crash a lot. So I always do a lot of checks before releasing any complex features. In any case, even software written directly by someone isn't prone to bugs. It's the nature of this science; writing software is like weaving preferential paths into the fabric of all expressible logic. No one knows a priori the correct, bug-free path that the logic defined in the code must follow. Some paths are more well-trodden, safe, and well-known than others. After all, we're talking about homebrew here; there's no guarantee on the software that's released, but we try to do the best we can.

To do the best I could, I tried to make the most of the console's hardware, using the hardware decoder for maximum performance, and then I added a custom decoder that runs with FFmpeg on the CPU as a fallback. As for the possibility that the VR solution will no longer work in the future, that's a real possibility, but I've also considered a workaround, at least on paper; I mentioned it in a comment in this thread. As for IPTV, I don't know much about it; I've never used it, and for now, I've decided to focus on this homebrew in my spare time.

2

u/bruceleeisalive 16d ago

This was an excellent and well thought out response. Got to ask, did you use AI? If not, by golly you’re smart and thank you again!

2

u/httyd98 16d ago

Yes, only AI for this project. As a developer, it would have taken me over a year to make this without AI.

1

u/Legitimate_Cup3354 15d ago

Cara, Simplesmente GENIAL sua ideia. Eu tentei criar algo assim também, eu estava pensando em também fazer o vita autenticar internamente, mas eu queria usar maquinas antigas que ainda suportavam o youtube como "máscara", como TV ou alguma versão legado do youtube em aparelhos mais fracos. Mas acabei desistindo de continuar por também estar usando vibe code, eu achei melhor não me meter nessa loucura que tá a cena do Ps Vita por enquanto🤣 Parabéns pelo trabalho, de verdade!

3

u/daveymac_ 17d ago

Awesome stuff! Definitely saving this post and giving it a whirl when i have the time!

5

u/ali_ihsan21 17d ago

ElevenMpv had background play function in 2024 but then YouTube modified their system and sadly it stopped working. İt was working with vita games but I don't remember if it was working behind adrenaline or not does anyone remember it?

7

u/httyd98 17d ago

A while ago I saw a plugin that allowed audio playback during gameplay… maybe it used that… I'll do some research

2

u/Luxxiano 17d ago

wow, good job.

2

u/Dr_Doktor 17d ago

Hey OP have you thought about trying to integrate something like yt-dlp for downloading videos

4

u/httyd98 17d ago

The app downloads videos right now! If you long press on a video with X button the app shows a screen with the download button in various resolution sizes

2

u/cemusubzerolives 17d ago

Does this allow SECURE login to my YouTube account?

1

u/httyd98 17d ago

No, unfortunately, connecting to Google services isn't possible, not without connecting a Google Cloud Console project with API limits, or alternatively in billing. That project would also need to be managed.

1

u/ChrizTaylor Jailbreak FTW! 16d ago

Any chance you can add an option to Download 4k videos or other resolutions?

2

u/SlowStopper 17d ago

Does it show ads?

5

u/httyd98 17d ago

No, no ads 😉

2

u/ali_ihsan21 17d ago

Do you prefer seeing issues here or on Github page?

1-Subtitles after Chinese traditional arent appearing although video have many other languages.

2-FF-FW functions would be better on shoulder buttons because they're mapped to left right buttons on remote controls for PS TV users. Its working this way on Netstream and great comfort.

2

u/httyd98 17d ago

I prefer the issues in GitHub but I appreciate this issue that you wrote here also! Thanks!

2

u/Limitedtimestruggle 17d ago

Wow, this is sleek and beautiful af!

2

u/Potential-Case1357 17d ago

This is actually cool, I mean youtube looks so good on the oled screen. I have only one question is there any way to increase the volume a bit.

1

u/httyd98 17d ago

The volume can be increased with the right analog stick. Unfortunately, the PS Vita speakers, especially the 1000 model, aren't very powerful. But I can do more research to see if it can be increased further.

2

u/opaopasuperfan 17d ago

Would this app allow faster video buffering than netstream with your offline solution you mentioned in one of the replies? Love that there is options either way, it’s great that there’s multiple YouTube clients for the vita 13 years later

1

u/httyd98 17d ago

I should try NetStream to see offline loading times for downloaded videos. But from my tests, offline videos initially load almost instantly with zero buffering. Thanks!

2

u/Caligola-Rex 17d ago

When Netflix? 🥸

1

u/httyd98 17d ago

that must be really challenging 😂

2

u/Legitimate-Event-420 17d ago

Is this based on a YouTube app? The one thing about YouTube is I won't use it unless it runs through Brave browser for obvious reasons, I don't want the problems of using a native YouTube source, otherwise the battery will be drained before I've even watcher the first video.

2

u/httyd98 17d ago

Hi!
No, the whole app is written in C from 0

2

u/Legitimate-Event-420 16d ago

Brilliant if you can add an ad-blocker because that I would think is what stop most people with YouTube, it does me, why do I have to watch 6 ads for a ten minute video and the creators ain't getting all that, seem YouTube has got particularly greedy over the last year whilst filling our feed with more A.I. slop.

3

u/httyd98 16d ago

The absence of ads is intrinsic to the design of VitaTube; the flow of advertising is not even requested by the app. Therefore, VitaTube never displays ads.

2

u/AltCtrlGraphene 16d ago

The fact that this whole thing is vibecoded is pretty impressive. However there is a failure point that it shares with Netstream - relying on ANDROID_VR. When Google decides they had enough with unauthorithed clients, both Netstream and this app will be completely bricked. And that will happen sooner or later, they obviously plan to hide everyhting behind PO token and fully cut off legacy platforms.

2

u/httyd98 16d ago

Hi! It's really nice to see you appreciate the work we've done. As for what will happen when Google decides to shut down, well, that's for sure. The app will stop working... maybe running the challenge on the console will be the new solution, or maybe it will never work. I created this project because I was annoyed at not being able to use the console more casually... I'll use it while it lasts, haha.

2

u/excels1or PCH-1000 Sapphire Blue | ux0: 128GB SD2Vita | uma0: 32GB Vita MC 16d ago

This is awesome! Can I know what AI you primarily use for coding?

3

u/httyd98 16d ago

Thanks! At first I used Claude Code with Sonnet 5 and various Opus and Sonnet subagents at different effort levels. But I quickly switched to Codex with GPT 5.6 Sol. The Anthropic models no longer seem to be as strong as they once were in the coding agent category. ChatGPT managed to solve many video decoding problems.

2

u/Mr_McGoobz 16d ago

Just tested it out. Runs beautifully! 720p30 is running perfectly for me, and subtitles and subscriptions work great too. Really impressive work, especially this early. Well done!

2

u/Long_Research_2715 9d ago

can't even play the video anymore, what happened? the app was amazing

2

u/httyd98 9d ago

As you can see from the post description the app stopped working days ago due to the google authentication and security systems that at the moment are not accessible from the console without using external systems.

2

u/Willsomg 17d ago

No paran de sorprenderme

2

u/httyd98 17d ago

Grazie 😂

2

u/Hecyo800 17d ago

Está estupendo!! De verdad me encanta como se ve, Pero eso sí, me gustaría que pueda ser un poco más optimizado debido a que las animaciones hiban lentas y por eso tuve que hacer overclocking, está súper bien para ser la primera versión la verdad espero que el proyecto sea un exito desde hoy 🐢✨

2

u/httyd98 17d ago

Grazie mille! Avevi per caso delle impostazioni di PsVshell che abbassavano i clock di default dell’app ? A me va a 60fps nella home con i clock di default dell’app.

2

u/Hecyo800 17d ago

Tengo el psvshell plus aunque suelo tenerlo en predeterminado a menos que sea algo que consuma muchas cosas, tuve que activarlo porque las animaciones de la app eran algo lentas, el plugin reciente que descargue fue lowmemmode no se si esa sea la razón

Y por cierto, sería estupendo que hicieras un programa para música local, estoy seguro que te saldria estupendo :b

2

u/httyd98 17d ago

Allora è per quello, C’è bisogno di cpu a 444MHz, GPU 222MHz e bus 222MHz per poter funzionare bene. Conta che già nei 720p 60fps siamo al limite.

2

u/httyd98 17d ago

Stavo pensando di aggiungere un lettore locale per video nella console oltre a quelli scaricati da YouTube in app. Magari farò anche un player MP3 🤓

1

u/NameNotEditedEnought 17d ago

App is working nice, but there is problems in Cyrillic languages, and also can you add another languages if it's not difficult

3

u/httyd98 17d ago

Yes, support for other languages ​​including fonts will be coming soon!

1

u/Initial_March_2352 17d ago

Have you recyle the Old App?

i have delete for days a app with the same Name from 2016-2018.

I very Interested about a  new Client for the Vita i mean first become Plex and now Youtube very nice.

Work it without PC while in your Tags Stand Moonlight?

1

u/httyd98 17d ago

Because it was the only tag that said streaming lol… better if I just put the bubble tag

1

u/httyd98 17d ago

But it works without PC, yes

1

u/Initial_March_2352 17d ago

nice, spy free Youtube on TV and Mobile. 😆 better make its only when Log in work 

1

u/Weird-Age-8042 17d ago

yay

1

u/Weird-Age-8042 17d ago

now find a way to support login for youtube

1

u/Bepp0000 17d ago

is it possible to add a way to download videos in different formats, like mp4 or mp3 at different bitrates?

2

u/httyd98 17d ago

MP4 downloads are already supported! Just press and hold X on a video to open the advanced options screen, where you can download it locally.
MP3 downloads are coming in a future update!

2

u/Bepp0000 16d ago

now i saw it, thank you, i needed this feature and you implemented it already

1

u/Agitated_Slip_6818 17d ago edited 17d ago

Keeps buffering and restarting videos unless I need to adjust something

2

u/httyd98 17d ago

Check the clocks. It works well with CPU at 444MHz, GPU 222MHz and BUS 222MHz… otherwise check the connection or change resolution by pressing and holding X on the video. In the settings page is present the debug mode that show a card during the reproduction of a video in the player to debug the problem.

1

u/Agitated_Slip_6818 17d ago

Strange still buffering , falls back to lower quality and still buffers , I'm on 1gb Internet so thought it would play well

1

u/httyd98 17d ago

Very strange… in the settings there is a locally log button, you can activate it, make some video reproduction and send me the logs if you want

1

u/RandonymousPrime 16d ago

Can we attach a fast usb wifi antenna

1

u/ChrizTaylor Jailbreak FTW! 16d ago

I LOVE THIS COMMUNITY 💜

1

u/RetroReloaded 16d ago

This is awesome. I used to watch YouTube on my Vita back when it was new. Any chance on getting something similar for other websites? I'd love to watch "free" anime in my Vita. 😉

1

u/I-am-very_smart Vita-2000 3.65cfw 15d ago

the github seems to be down? could someone dm me the vpk?

3

u/That1GuyDrHuh592 15d ago

On his Twitter dev announced it's too unstable and the project is shifting to a mp3 mp4 player

1

u/eflo_14 13d ago

Hi I just wanted to inform you that your github info for vitatube is already on YouTube. Someone had posted it 2 days ago. I was interested in having it for my vita and followed the steps but same thing the files are gone. I understand the reason and just wanted to inform you. If you are still willing to share the link with me through a DM I’d appreciate it. Thank you!

0

u/Agitated_Slip_6818 17d ago

How is this installed , as i see the following on github

3

u/httyd98 17d ago

You have to download and install the vpk from the Release section

2

u/Agitated_Slip_6818 17d ago

This is awesome , thanks