New Movie Night Thread - Every Friday Starting at 6ish

Splendid

Castigat ridendo mores
True & Honest Fan
kiwifarms.net
Guide to userscripts (mandatory to watch many movies)
In order to watch movies, you'll need to download TamperMonkey, then create a new script, then paste all of this in there instead (delete the old stuff.)
Code:
// ==UserScript==
// @name Google Drive Video Player for lolcow
// @namespace gdcytube
// @description Play Google Drive videos on CyTube
// @include http://lolcow.tv/r/*
// @include https://lolcow.tv/r/*
// @grant unsafeWindow
// @grant GM_xmlhttpRequest
// @grant GM.xmlHttpRequest
// @connect docs.google.com
// @run-at document-end
// @version 1.6.0
// ==/UserScript==
console.log('Script running');
try {
   function debug(message) {
       if (!unsafeWindow.enableCyTubeGoogleDriveUserscriptDebug) {
           return;
       }

       try {
           unsafeWindow.console.log(message);
       } catch (error) {
           unsafeWindow.console.error(error);
       }
   }

   var ITAG_QMAP = {
       37: 1080,
       46: 1080,
       22: 720,
       45: 720,
       59: 480,
       44: 480,
       35: 480,
       18: 360,
       43: 360,
       34: 360
   };

   var ITAG_CMAP = {
       43: 'video/webm',
       44: 'video/webm',
       45: 'video/webm',
       46: 'video/webm',
       18: 'video/mp4',
       22: 'video/mp4',
       37: 'video/mp4',
       59: 'video/mp4',
       35: 'video/flv',
       34: 'video/flv'
   };

   function getVideoInfo(id, cb) {
       var url = 'https://docs.google.com/get_video_info?authuser='
               + '&docid=' + id
               + '&sle=true'
               + '&hl=en';
       debug('Fetching ' + url);

       GM_xmlhttpRequest({
           method: 'GET',
           url: url,
           onload: function (res) {
               try {
                   debug('Got response ' + res.responseText);
                   var data = {};
                   var error;
                   res.responseText.split('&').forEach(function (kv) {
                       var pair = kv.split('=');
                       data[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);
                   });

                   if (data.status === 'fail') {
                       var error = 'Google Docs request failed: ' +
                               unescape(data.reason).replace(/\+/g, ' ');
                       return cb(error);
                   }

                   if (!data.fmt_stream_map) {
                       var error = 'Google Docs request failed: ' +
                               'metadata lookup returned no valid links';
                       return cb(error);
                   }

                   data.links = {};
                   data.fmt_stream_map.split(',').forEach(function (item) {
                       var pair = item.split('|');
                       data.links[pair[0]] = pair[1];
                   });
                   data.videoMap = mapLinks(data.links);

                   cb(null, data);
               } catch (error) {
                   unsafeWindow.console.error(error);
               }
           },

           onerror: function () {
               var error = 'Google Docs request failed: ' +
                       'metadata lookup HTTP request failed';
               error.reason = 'HTTP_ONERROR';
               return cb(error);
           }
       });
   }

   function mapLinks(links) {
       var videos = {
           1080: [],
           720: [],
           480: [],
           360: []
       };

       Object.keys(links).forEach(function (itag) {
           itag = parseInt(itag, 10);
           if (!ITAG_QMAP.hasOwnProperty(itag)) {
               return;
           }

           videos[ITAG_QMAP[itag]].push({
               itag: itag,
               contentType: ITAG_CMAP[itag],
               link: links[itag]
           });
       });

       return videos;
   }

   /*
    * Greasemonkey 2.0 has this wonderful sandbox that attempts
    * to prevent script developers from shooting themselves in
    * the foot by removing the trigger from the gun, i.e. it's
    * impossible to cross the boundary between the browser JS VM
    * and the privileged sandbox that can run GM_xmlhttpRequest().
    *
    * So in this case, we have to resort to polling a special
    * variable to see if getGoogleDriveMetadata needs to be called
    * and deliver the result into another special variable that is
    * being polled on the browser side.
    */

   /*
    * Browser side function -- sets gdUserscript.pollID to the
    * ID of the Drive video to be queried and polls
    * gdUserscript.pollResult for the result.
    */
   function getGoogleDriveMetadata_GM(id, callback) {
       debug('Setting GD poll ID to ' + id);
       unsafeWindow.gdUserscript.pollID = id;
       var tries = 0;
       var i = setInterval(function () {
           if (unsafeWindow.gdUserscript.pollResult) {
               debug('Got result');
               clearInterval(i);
               var result = unsafeWindow.gdUserscript.pollResult;
               unsafeWindow.gdUserscript.pollResult = null;
               callback(result.error, result.result);
           } else if (++tries > 100) {
               // Took longer than 10 seconds, give up
               clearInterval(i);
           }
       }, 100);
   }

   /*
    * Sandbox side function -- polls gdUserscript.pollID for
    * the ID of a Drive video to be queried, looks up the
    * metadata, and stores it in gdUserscript.pollResult
    */
   function setupGDPoll() {
       unsafeWindow.gdUserscript = cloneInto({}, unsafeWindow);
       var pollInterval = setInterval(function () {
           if (unsafeWindow.gdUserscript.pollID) {
               var id = unsafeWindow.gdUserscript.pollID;
               unsafeWindow.gdUserscript.pollID = null;
               debug('Polled and got ' + id);
               getVideoInfo(id, function (error, data) {
                   unsafeWindow.gdUserscript.pollResult = cloneInto({
                       error: error,
                       result: data
                   }, unsafeWindow);
               });
           }
       }, 1000);
   }

   function isRunningTampermonkey() {
       try {
           return GM_info.scriptHandler === 'Tampermonkey';
       } catch (error) {
           return false;
       }
   }

   if (isRunningTampermonkey()) {
       unsafeWindow.getGoogleDriveMetadata = getVideoInfo;
   } else {
       debug('Using non-TM polling workaround');
       unsafeWindow.getGoogleDriveMetadata = exportFunction(
               getGoogleDriveMetadata_GM, unsafeWindow);
       setupGDPoll();
   }

   unsafeWindow.console.log('Initialized userscript Google Drive player');
   unsafeWindow.hasDriveUserscript = true;
   unsafeWindow.driveUserscriptVersion = '1.3';
} catch (error) {
   unsafeWindow.console.error(error);
}
After that, save the script and you'll be good to go.
Note: you'll also need to be signed into a Google account on the same browser or it won't work.
If it doesn't work, make sure that you have ad blocking disabled on lolcow.tv, and make sure that anything that could interfere with your connection, like a VPN, is disabled as well.
Movie Night Info
http://lolcow.tv/r/Autism Ok, so as many of you know, there's a movie night every Friday. It's an official Kiwi Farms thing.
For a while, it's been run inside of a big PM chain for a bunch of reasons that no longer really apply anymore, so we're bringing it all back out here.
Who
Everyone on KF. You don't need to do any additional registration to comment, but if you want to comment on the stream you'll need a separate account.
Voice chat and cool kids text chat requires a Discord account.
Remember, since this is KF, it's best to make a discord account that's separate from anything else you might do.

What
We watch all sorts of shit, movies, tv shows, random Youtube videos, just about anything.
If you want us to watch something specific, you should generally have a free source already set up and not blocked in too many (relevant) countries. Sometimes a video will be randomly blocked in a bunch of tiny countries and that's no big deal.
At present, your choices are to stream it yourself, or use Youtube or Dailymotion. Vid.me also works, but there's a little more effort involved.
Links to videos hosted elsewhere are worthless and will be ignored.

When
Every Friday at 8. There's also an unofficial alternative movie night on Saturday, and some people are experimenting with an unofficial anime night on Sunday.
Where
The stream itself: http://lolcow.tv/r/autism
The official Discord: https://discord.gg/WqaWrfs

How
Most people can't add videos. Bug someone with a colored name on the stream if you want to watch something, but see the rules below.
Please be sure that any videos that you a
Upload your videos to vid.me as unlisted. Note that unless you verify your channel, you can only upload 1GB per week, and your videos can only be 30 minutes long, so if you want to watch something longer, you'll have to split it up manually beforehand. They won't verify your account with no original content, and it's a manual process, so you're probably not going to cheat your way past it somehow. There's nothing preventing you from having as many vid.me accounts as you want though.
Next, you have to get the link that vid.me uses:

See that long ass url? That's the one you're looking for.
Vid.me links expire about 2 hours after you first load the page, so keep that in mind when you're putting the links into the playlist.
We also have a way to directly stream shit but it's complicated and I've never done it.

Rules
  1. In voice chat, don't scream over other people, and if you want to discuss politics, go to the politics room. A few political jokes, etc are fine, but anymore than that and you need to head there.
  2. Since Movie Night is an official KF thing, any bans from KF also apply to movie night. The reverse isn't true.
  3. MN staff is there to enjoy the event too, so an occasional request for a relevant video is fine, but demanding that we insert your 3 hour long Hindi romantic comedy at 11:30 PM or whatever is probably just going to be ignored. You're much more likely to have success if you already have the link ready to stream for us and you ask in advance. You're still pretty likely to get what you want if you have a working, ready-to-stream link for us when you ask us. Remember that we can only take links from a few services though. Right now, Youtube, Dailymotion, vid.me, and (I think) Efukt all work. Most other stuff doesn't, but feel free to ask. The sites that just straight up host pirated content don't work though.
Shit we don't watch
We don't watch any of this stuff for one reason or another, ranging from Null banning it to previous poor feedback. Exceptions are sometimes made for some of them though:
  • Anything that has more than a little bit of subtitling
  • Hardcore porn
  • Ancient Aliens
  • Serious/mainstream music videos
  • Serious documentaries (unless they're about something weird or fucked up or whatever)
  • TIHYDP's
  • Videos that have been heavily edited to avoid automatic takedowns (moving image, super zoomed in, you get the idea.)
 
Last edited:

Splendid

Castigat ridendo mores
True & Honest Fan
kiwifarms.net
Ok, first off, taking suggestions on what we should watch this week.
For those of you who are new, there's usually some overarching theme every week. Oftentimes that gets very diluted and sometimes is completely unrecognizable by the end of the week, but having something to start with helps keep us focused.
 

Valiant

Salty Space Bitch
True & Honest Fan
Retired Staff
kiwifarms.net
Oh we don't take shit videos that are bot protected. Yeah lets not squint over a high contrast video that fills up less than a quarter of the screen
 

MasterDisaster

I'm here for the juice, baby.
True & Honest Fan
kiwifarms.net
Also if you want to add a movie make sure its the actual movie. There's a ton of fake-out movies where it'll look legit and even start right up but it's actually just one still shot from the film for an hour and a half.

Also since no one has challenged Bollywood yet I offer this;
 

Splendid

Castigat ridendo mores
True & Honest Fan
kiwifarms.net
Also if you want to add a movie make sure its the actual movie. There's a ton of fake-out movies where it'll look legit and even start right up but it's actually just one still shot from the film for an hour and a half.

Also since no one has challenged Bollywood yet I offer this;
Watching this.
Also, @MasterDisaster and @_blank_ provided these:
Hell yeah we're watching these.
I'm busy this week, so I'm going to throw in some Troma content from Youtube, unless people have other suggestions.

I'm also always looking for filler videos, so feel free to submit those too!
 
  • Dislike
Reactions: BoredAtHome

MasterDisaster

I'm here for the juice, baby.
True & Honest Fan
kiwifarms.net
Spy movies you say?

Oh wait, bad spy movies? I know the crown jewel of them all is Leonard Part 6 but that's a hard one to find...so I'll toos ins two I know I can get.
Get ready for super spy Sean Connery('s brother Neil) in his breakout role in this inept italian spy movie.
It goes by a lot of names but it generally knows as Double oo7.

And this one, well, I can't say enough about it. I can promise you this; you will be laughing within the first thirty seconds of this movie.
I mean the title alone says so much. 'For Your Height Only'.
 

Picklepower

This isnt even my final form
kiwifarms.net
If anyone has a good digital copy of it, Class of 1999 would be great for a movie night. It is full of cheesey tough 80s punk teenager moments, and the big action scenes at the end are great. It takes place in the nightmare future of 1999 where teenage punk rocker gangs run around armed with military weapons. A mad scientist played by Stacey Keach (who would years later play the head nazi in American History X) invents these Terminator robot teachers its really great. Also he isn't, but I could have sworn the main character was played by Corey Feldman, I had to check imdb just to be sure lol.

 

About Us

The Kiwi Farms is about eccentric individuals and communities on the Internet. We call them lolcows because they can be milked for amusement or laughs. Our community is bizarrely diverse and spectators are encouraged to join the discussion.

We do not place intrusive ads, host malware, sell data, or run crypto miners with your browser. If you experience these things, you have a virus. If your malware system says otherwise, it is faulty.

Supporting the Forum

How to Help

The Kiwi Farms is constantly attacked by insane people and very expensive to run. It would not be here without community support.

BTC: 1DgS5RfHw7xA82Yxa5BtgZL65ngwSk6bmm
ETH: 0xc1071c60Ae27C8CC3c834E11289205f8F9C78CA5
BAT: 0xc1071c60Ae27C8CC3c834E11289205f8F9C78CA5
LTC: LSZsFCLUreXAZ9oyc9JRUiRwbhkLCsFi4q
XMR: 438fUMciiahbYemDyww6afT1atgqK3tSTX25SEmYknpmenTR6wvXDMeco1ThX2E8gBQgm9eKd1KAtEQvKzNMFrmjJJpiino