In Memoriam: Goontube Classics Taken From Us Do to Youtube's Age Restrictions

I know that we all are currently in an extended and potentially indefinite state of morning due to YT’s new age-restriction policy. In response as a part of the grieving and letting go process I think we should utilize this thread to remember the quality videos that are arbitrarily attributed adult-old. I’ll start it off with this one-beloved classic now rendered unplayable.

Cee-Lo Green - Fuck You (Riding in Car)

I would try and figure out how to embed the video but I guess that would be completely pointless, huh?

We could always test out Vimeo rehosting, yea?

(on our own, not as a suggested function of GT)

No need to mourn. Now we become part-time stream archivists. :pisstape:

Cee-Lo Green - Fuck You (Riding in Car)
https://video.goontu.be/GL_zobKhR_0.mp4
(this will add, with metadata)

An automated solution is coming (hence the new subdomain) but I am no longer on holidays, so goontube asks are back on weekend time.

I highly advise grabbing a copy of youtube-dl and archiving your own favourites, just in case.

youtube-dl https://www.youtube.com/watch?v=GL_zobKhR_0 --format "bestvideo[ext=mp4]+bestaudio[ext=m4a]"

This will drop an mp4 file in the current working directory.

ffmpeg -i input_filename.mp4 -movflags +faststart -c:v copy -c:a copy -metadata title="Cee-Lo Green - Fuck You (Riding in Car)" output_filename.mp4

And this step uses ffmpeg to ensure it will be playable in goontube (the +faststart flag moves metadata to an MPEG atom at the front of the file, which my mp4-fetching service relies on to extract duration) and that the metadata (the title) will show up correctly in the playlist.

If you can upload and serve this processed file from a publicly accessible HTTPS (!) URL which isn’t saturated by our fairly limited number of concurrent users, then you’re good to add https://your.server.ru/output_filename.mp4 to the tubes.

I’m not helping with this last part, lest I accidentally become a :filez: server in an increasingly hostile streaming environment.

When complete, you will be able to ask SpergBot to do all of this for you in the chat with $rehost [url]. I have a working proof-of-concept, I am just sorting out per-user limits and rate-limiting issues.

If this is at all daunting or inaccessible then in the mean time, go with GDF’s suggestion and use vimeo.

EDIT:

The following command can take any MKV, MP4, AVI, file of arbitrary format, and create a web-friendly MP4 file with +faststart enabled.

ffmpeg -i inputfilenamehere.mp4 -movflags +faststart -c:v libx264 -pix_fmt yuv420p -c:a aac -metadata title="Title String" output.mp4

If I want to bake subtitles into the public domain legal educational material I am sharing on goontube, then: if I have subtitles in a separate file, like subtitle.srt, I can:

ffmpeg -i input.mkv -movflags +faststart -c:v libx264 -pix_fmt yuv420p -vf subtitles=subtitle.srt -c:a aac -metadata title="Title String" output.mp4

And if the subtitles happen to be in the same video container, reuse the filename of the input for the subtitles argument:

ffmpeg -i input.mkv -movflags +faststart -c:v libx264 -pix_fmt yuv420p -vf subtitles=input.mkv -c:a aac -metadata title="Title String" output.mp4

If the desired subtitle track is different from the default in the container, specify the subtitle index/si suboption like this:

ffmpeg -i input.mkv -movflags +faststart -c:v libx264 -pix_fmt yuv420p -vf subtitles=input.mkv:si=1 -c:a aac -metadata title="Title String" output.mp4

where “1” is the desired subtitle index.

3 Likes

So $rehost would take a currently-blocked video and cause the video to reroute to a different URL any time it’s added?

I’ve started archiving videos to my Vimeo account. If anyone would rather I do it instead of doing it yourself, just DM me video urls that you’d like to see saved, and I’ll add it. The account has 500gb free, so I I think I have plenty of space.

https://vimeo.com/showcase/7972189

2 Likes


can’t paste this link into tubes

edit: specifically it won’t parse “/showcase/7972189/video/497503094” which is the page URL and what gets surfaced from Vimeo if you hit Share. Somehow posting it to the forums got rid of the showcase bit, but I tried doing that manually to no effect???
Edit2: naw i was just being dumb, you can totally delete it manually, idk what I was doing wrong.

Seems pretty dumb that using the showcase link forever appends that part to the url. I don’t really want to archive each video into a post or anything, though, in case this ends up becoming a long-running thing full of many videos

1 Like
  • made vimeo add URL parsing more inclusive to reduce friction using GDF’s channel/“showcase” links
  • Tnega requested m.youtube.com links parse, this also came in tonight
  • I’ll aim to make at least preliminary $rehost available this weekend: I am open to change up how it works after we have something usable: at first, it’s not going to be deeply tied to the server in any way to start with, more of a SpergBot extra
  • because mp4 support has always been kind of janky and slow to pick up, I’ll enable myself a fast path to add “trusted” hosted videos instantaneously (since I know their duration in advance, being the one who processed them)
  • I will also review the YouTube Data API and try to throw a :siren: warning on age-restricted content, which will be a trigger for savvy/permitted users to know to use $rehost or at least delete in advance
1 Like

progress update:

  • youtube adds will now throw an in-channel warning (:siren:) if the content is age-restricted and will not embed:
    change
  • I have provided myself the “fast path” that I’ll need to add pre-processed mp4 videos without jankiness or delay for $rehost
  • set up a peertube instance for us and whitelisted for use in the tubes
  • ask me for an account, this peertube instance is only for archival/rehosting age gated content, not movies/:filez:
  • it is possible to directly import youtube URLs to this instance from within the web UI
  • this is p2p and experimental, so expect the usual goontube jankiness

I will continue working towards rehost stuff incrementally while providing us other alternatives/workarounds.

I spent some 1:1 time with TVs today explaining how to do the rehost stuff manually, and I’m happy to do this with anybody else interested.

2 Likes

Just a quick thought. I kinda was wondering if there could be like a 1:1 table from the youtube link and the rehosted video link. So basically like this:

  1. User adds age restricted youtube video link video
  2. The age-check thingie returns true that it is a age-restricted video
  3. The youtube link gets looked up in a table if the entry
  4. If it’s in the table it will return the rehosted video vimeo, dailymotion, peertube link
  5. That video link gets queued instead of the restricted.

Thoughts?

yep! good thinking.

this solution (which I think is also what GDF was proposing earlier) can coexist with our “coping methods.”

  • GDF and anybody else interested can take charge in individual content archive channels

  • peertube pretty much sucks, but when you gotta get that dayuuuumn fix somehow… (I suspect I can get great performance at our small scale out of this still by forcing/preferring HTTP downloads from our peertube instance)

  • $rehost will give us a plain mp4 hosted somewhere: the way I’ve coded this, SpergBot can provoke a simulated add for another user that will respect playlist quotas (and skip the jank of a normal mp4 add, where possible)

  • finally, a redirection table: might not even be a table, we already use a key:value store, so possibly just key youtube IDs to their alternative URL, switch out the request before it even gets API processed, and report the add in chat (jskz added Video Title Placeholder.) with something to indicate it was swapped out. if the swapped video is skip-deleted, then also remove the “parent” video’s redirection.

honestly, things are getting pretty crazy at work. I’m not promising any timelines on anything goontube anymore. it’ll happen when it happens.

1 Like

Can the ageblocked video message please surface the blocked video’s URL to better facilitate rehosting?

I need to jump into chat someday and hash this out with you because I was talking to TV about this last night and realized I don’t think I really understand the process here lol

no problem, i am always happy to ramble about half-baked goontube ideas

maybe my spergin is confusing: I’m trying to take as many redundant approaches as possible

$rehost will exist independently of the “redirections” on add age restricted video, but $rehosted links might end up being used for those redirection replacements. they are not mutually exclusive features. i also see some potential in defining redirects to vimeo/DM/pt videos that we know are 1:1, e.g. your archived vimeo hosts could be just as valid of a redirect as a rehost mp4

at some point, the arms race between YouTube and youtube-dl may make $rehost no longer worth pursuing, so also having your vimeo archival channel/hopefully improved peertube to fall back on will be nice

RIP El Guincho El Guincho - Bombay - YouTube