Youtube DS - Play Youtube videos on your DS!

Hey guys, lately I've been working on playing Youtube videos on a DS. As you can see in the video below, I got it working. I think I'll try to improve it some more if I have some time and add a gui to make it actually possible to search for videos.



You can download a preview here, if you want to try it out: https://github.com/Gericom/YoutubeDS/raw/master/YoutubeDS.nds
It might take a few tries, because the video info parser does not work very good yet.

Source: https://github.com/Gericom/YoutubeDS
 
Do you need a flashcard for it to work? i mostly use twilight menu to run .nds files and it showed me a white screen.i dont know if its me or im just impatient
 
i have a modded dsi (twilightmenu++) and whenever i try to run or it run other games like DScraft it just shows a white screen
 
It is not working on my ds lite it displays the home but no video and the search works but no videos
Post automatically merged:

The home and search works but no videos are showing
 
  • Like
Reactions: Egoistamamono
Hey guys, lately I've been working on playing Youtube videos on a DS. As you can see in the video below, I got it working. I think I'll try to improve it some more if I have some time and add a gui to make it actually possible to search for videos.



You can download a preview here, if you want to try it out: https://github.com/Gericom/YoutubeDS/raw/master/YoutubeDS.nds
It might take a few tries, because the video info parser does not work very good yet.

Source: https://github.com/Gericom/YoutubeDS

Help! I recently downloaded the modern version of it, but how do you connect it to the internet? I am using HBMenu.
 
Hi Gericom! I hope you don't mind me reaching out.

I've been working on a project called internearchiveds, a project based on your YoutubeDS project from 10 years ago. Since the YouTube API shut down years ago, the original YouTubeDS unfortunately can't function anymore. Rather than letting it become lost, I'm trying to preserve as much of the original project as possible by adapting it to play videos from the Internet Archive instead. The goal isn't to remake YouTubeDS from scratch—it's to keep the original application alive while changing as little of your code as possible.

I've managed to get the source compiling with modern devkitPro, restored the missing API key support, and produced a working .nds build. I've also compared the rebuilt ROM against an older working backup and reverse-engineered quite a bit of the code to understand how everything fits together.

However, I've run into one major problem.

The playback code (PlayVideo()) expects two things to already exist:

  • mVideoHeader, which contains the MP4/MOV header used by the MPEG-4 decoder.
  • mRingBufferHttpStream, which streams the video data over HTTP.
The strange part is that nowhere in the source tree are these ever initialized. PlayVideo() reads mVideoHeader, and later frees it, but it's never assigned anywhere. Likewise, the only creation of RingBufferHttpStream is inside an old commented-out test block.

I've searched the entire repository, disassembled the built ELF, checked the Git history (there's only one commit), looked through every source file, and compared the compiled ROM. As far as I can tell, the code that downloads/parses the video header and starts playback is simply missing from the repository.

I was wondering if you happen to remember this part of the project. Was there another source file that never made it into Git? Or perhaps an older backup, branch, ZIP, or local copy that still contains the playback initialization code?

Even a rough description of how it originally worked would be incredibly helpful. I'm trying to preserve the original codebase as faithfully as possible while adapting it to work with a service that's still available today.

Thanks for creating YouTubeDS in the first place, and thanks for taking the time to read this!
 
  • Like
Reactions: zfreeman

Site & Scene News

Popular threads in this forum