• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

68kTube - YouTube for Classic Macs

superpete

Well-known member
Thanks for checking TechKnight. 2.1.2 looks like the last version of the 2.x series before they switched to Carbon. Interesting that 4.1+ can still target to 68K - might dust out the G5 and have a play!

I've been busy with some other things so haven't had a chance to work on 68kTube for a little bit. I'm determined to get the embedded QT player working properly on 68k. I set up CodeWarrior on the weekend to try the Http QuickTime Handler through Toolbox on 68k. If that works I'll convert it to a RealBasic plugin.

 
Last edited by a moderator:

Cory5412

Daring Pioneer of the Future
Staff member
I don't have an opportunity to try this out right now, but this looks great!

In terms of the server, what does it require? Is it just an app you launch when your Windows machine boots up, or does it install a service?

Have you measured what kind of throughput it needs, and been able to see a situation in terms of, say, what it does when there's not enough throughput for user demand, or the link between youtube and the interstitial server is bad?

I run Windows servers at home, I have an okay-ish connection, and if the needs are light enough, would happily consider running this for the 68kMLA. The only real trouble is that there are certain parts of the day where YouTube is bad. The video downloading program I personally use handles it okay, but not super great in the peering congestion situation, although mainly when you start or create a big queue during a time of high congestion.

 

superpete

Well-known member
Just an update. I haven't any time for this project in sometime. Basically the RealBasic bugs were getting a bit much, and after losing a day's work from them I parked the project and haven't returned to it in 9 months.

What I'd love to do is start again as a 68k C app on the Mac side. I did get Code Warrior going, but unfortunately ran out of time. Instead I've been working on a other projects (check out the Gopher Proxy server https://github.com/pgodwin/GopherServer/, hosting one for the garden now at gopher://gopher.busisoft.net), but hope to get re-writing this soon!

As for the server, I'll look at porting it to Linux and OS X in the future, likely via Mono + FFMPEG, unless I can convince the Quicktime engine to run under Wine or can hack together something for OS X. 

 

superpete

Well-known member
What??! how is this possible?

Is the code for your proxy also on that github?

I may have to find a way to integrate this into my legacyweb project.

https://github.com/justinschw/legacyweb
I hadn't seen your project either. Nice!

The code for the proxy is up. It's done via "providers", which implement returning data for a given gopher selector. I've created a handful of demo providers and the code for each is up on the site. I've been caught up with work so haven't done a new binary release in some time. I really wanted something for System 6, but have struggled to do a software only TCP bridge between my Mac Classic and the rest of the world via localtalk. Any advice is gladly appreciated (I can ping the Mac Classic, but can't seem to route traffic out over ethernet).

 

Knez

Well-known member
Compiled the server yesterday and QTConverter crashes every time it's used. Outputting Converting 0% over and over until it crashes.

If MPEG1 or MPEG4 is used nothing more happens than the output "converting video xxxxx using mpeg1" in the console and the text "Error" in the video window in the client.

Have the API's you're using changed perhaps? I sure can't make it work though :(

 
Last edited by a moderator:

superpete

Well-known member
Compiled the server yesterday and QTConverter crashes every time it's used. Outputting Converting 0% over and over until it crashes.

If MPEG1 or MPEG4 is used nothing more happens than the output "converting video xxxxx using mpeg1" in the console and the text "Error" in the video window in the client.

Have the API's you're using changed perhaps? I sure can't make it work though :(
Sorry to hear that Knez. I'll take a look tonight, but do you have Quicktime installed on your machine? The QTConverter uses the QuickTime COM+ objects to handle the conversion.

 

Knez

Well-known member
I do have Quicktime installed. Have tried it on both Windows 7 and Windows 10 hosts.

 

Knez

Well-known member
I am doing just that, of course. Will look through the sources tonight and see what I can find.

Does anyone else have the same problem or am I the only one?

I would be happy to get my hands on a known working package of the server, since I only have my own compiled version right now :)

 

superpete

Well-known member
I am doing just that, of course. Will look through the sources tonight and see what I can find.

Does anyone else have the same problem or am I the only one?

I would be happy to get my hands on a known working package of the server, since I only have my own compiled version right now :)
Finally had a look at the project again after 10 months. I've done this on a different machine this time so had to sort out the build environment again. I've fixed up the nuget package references and the Quicktime ActiveX interop issues. You can find a release on https://github.com/pgodwin/68kTube/releases/latest/... not sure if it works as I need to find my Basilisk II build environment or fire up the G3 again :)

I've also documented the QuickTime install at https://github.com/pgodwin/68kTube/wiki/Quicktime-Setup

 

Knez

Well-known member
Still crashes the same way. Looks like it's trying to fetch a URL that doesn't exist anymore. The API's you're using might have moved to https from basic http?

Might that be the problem? At least your binary crashes the same way as the one I compiled.

Screenshot of the YouTubeProxy console window attached to this post.

crash.png

 
Last edited by a moderator:

superpete

Well-known member
Still crashes the same way. Looks like it's trying to fetch a URL that doesn't exist anymore. The API's you're using might have moved to https from basic http?

Might that be the problem? At least your binary crashes the same way as the one I compiled.

Screenshot of the YouTubeProxy console window attached to this post.
Thanks for the report. Sorry I thought it was the QT Encoder that was crashing so patched that one up. I'll take a look at the proxy this weekend.

 

superpete

Well-known member
Got a little bit of time to look at this today. The server has been libraries have been updated and it can decrypt the URLs more reliably from Youtube now.

Note that the server is listening on 127.0.0.1 by default. If you're trying to use the Mac Client you'll need to change the baseAddress configuration in YouTubeProxy.exe.config

I've also added a very rough Windows client to try more rapidly test changes to the server (without having to muck around in Realbasic). It's a good way to make sure the proxy is working and/or FFMPEG working reliably. It does need Quicktime installed to function. 

I've also been experimenting with FFMPEG + Darwin Streaming Server with good results and suspect that real-time encoding+streaming should be doable. Codec choices are much more limited over RTSP than MOV, but for PPC it might be a useful feature as they can definitely decode H263 and MPEG4 with ease (especially at the resolution/frame-rates it's spitting out).

 

techknight

Well-known member
Wonder if this would work on the TAM? its a PPC unit, was thinking about using youtube on my TAM to listen to music videos, as I have my TAM as a music library hooked up into my stereo system. 

Does this setup still work? or is it broken now? 

 

superpete

Well-known member
I'm not hosting any servers at the moment, but it will run on any Windows box. I do want to get it going under mono on a cheap linux host at some point.

The RealBasic client works today on PPC without issue. I don't have playlist support though.

I haven't pushed the changes yet, but I have RTSP support via FFMPEG+Darwin Streaming Server working on PPC too. It skips having to wait for a re-encode of the video before playing (though it limits your codec options).

Finally, I've done a fair bit of investigation and I'm coming to the conclusion that streaming support is just non-existent in the 68k QT 4. It does work in the browser though - so I'm keen to build a HTML 2 YouTube proxy which would work on 68k. Watch this space...

 
Top