Dramacow Duncan Macleod / DuncanCantDie / DuncanKneesDeep - Braindead Keffals supporter, egomaniacal clout chaser, utterly humiliated himself on Rekeita's show

Facebook?: https://www.facebook.com/duncan.macleod.3762
"University of Nottingham" "Self-employed" The (google)picture look like a young Duncan??
Yes that's him.

Also
1665518626729.png

Drowning in pussy lmao
 
Last edited:
Clearly this is the commentary of someone who slept with hundreds of girls before meeting his lolicon wife and getting married

Here is another debate he had. I remember this guy started critiquing Duncan's video but gave this habitual liar way to much respect instead of pressing him. But there should be some good clips in here if anyone wants to stomach it again

Nice stockpile of cringe here. First, the dude never matured past 13. Seems that’s why he was a relevant poke YouTuber. Second, he really chose from the bottom of the barrel for his opposition in this debate. Believe I listened to it live and the dude looks like he debates. Like his mom still makes him dinner every night and he hasn’t left the house in months. There was so many times he would say something then simply back down and agree with Duncan. Looks like he has Asperger’s or “high functioning autism” :)
 
Clearly this is the commentary of someone who slept with hundreds of girls before meeting his lolicon wife and getting married

Here is another debate he had. I remember this guy started critiquing Duncan's video but gave this habitual liar way to much respect instead of pressing him. But there should be some good clips in here if anyone wants to stomach it again

Video archive I've been trying to get the file size down but apparently 239 MB is still too large to upload. I have a local archive of this, will work on splitting it into separate videos I guess to get the file size down without losing all the quality. Also, holy shit, what an extremely smug and useless debate between these two fucks, I could only stand to listen to so much of it.
Facebook?: https://www.facebook.com/duncan.macleod.3762
"University of Nottingham" "Self-employed" The (google)picture look like a young Duncan??
Archive link: lol nvm archive.today is being fucking gay today I got screenshots of the whole page will update later
ETA archive link: https://ghostarchive.org/archive/ZZb5f

I have a feeling that this dude is going to DFE at some point, and I don't want things to vanish like his debate with I,Hypocrite.
Capture1.PNGCapture2.PNGCapture3.PNGCapture4.PNG
 
Last edited:
He will either DFE or try to launch himself to some sort of relevancy from having a thread by copying Keffals. He already DFE so hard to say tbh.
I don't see him DFE. He will probably just cope about it for a while then ignore his thread for a while. He will only use it to benefit himself in the breadtube circles and not care too much. If he ever reads this, he will just say everything is wrong
 
  • Like
Reactions: Tangie
Yes he is an actual room temp IQ pokenigger with his back in the corner in terms of relevancy online, so he may just do whatever it takes and go full retard. Never go full retard.
 
Duncan does come across as the scumfuck who would use his Kiwi thread as a point of pride. What I find strange is him orbiting Keffal's mutilated troon cock so hard that he automatically assumes any allegations against Lucas is false.

You're married. You act like you're left leaning. But you don't support people coming out against abuse?
 
Video archive I've been trying to get the file size down but apparently 239 MB is still too large to upload. I have a local archive of this, will work on splitting it into separate videos I guess to get the file size down without losing all the quality. Also, holy shit, what an extremely smug and useless debate between these two fucks, I could only stand to listen to so much of it.
Here you go (64mb)
Downloaded the 3gp version from youtube and then used ffmpeg
Lossless converting 3gp video to mp4
ffmpeg -i input.3gp -c:v copy -c:a copy output.mp4

Edit: And in the future if you are converting a video with "talking heads".... you can convert the fps from 30 to 10 without losing to much of the video quality
 

Attachments

  • Debating DuncanCantDie_.mp4
    64 MB
Last edited:
Here you go (64mb)
Downloaded the 3gp version from youtube and then used ffmpeg
Lossless converting 3gp video to mp4
ffmpeg -i input.3gp -c:v copy -c:a copy output.mp4

Edit: And in the future if you are converting a video with "talking heads".... you can convert the fps from 30 to 10 without losing to much of the video quality

I usually recommend Handbrake for transcoding since it's super easy to use and most people are allergic to the command line.
 
I've been trying to get the file size down but apparently 239 MB is still too large to upload. I have a local archive of this, will work on splitting it into separate videos I guess to get the file size down without losing all the quality.
I use this python script to split videos in various ways.
Python:
#!/usr/bin/env python

from __future__ import print_function

import csv
import json
import math
import os
import shlex
import subprocess
from optparse import OptionParser


def split_by_manifest(filename, manifest, vcodec="copy", acodec="copy",
                      extra="", **kwargs):
    """ Split video into segments based on the given manifest file.

    Arguments:
        filename (str)      - Location of the video.
        manifest (str)      - Location of the manifest file.
        vcodec (str)        - Controls the video codec for the ffmpeg video
                            output.
        acodec (str)        - Controls the audio codec for the ffmpeg video
                            output.
        extra (str)         - Extra options for ffmpeg.
    """
    if not os.path.exists(manifest):
        print("File does not exist: %s" % manifest)
        raise SystemExit

    with open(manifest) as manifest_file:
        manifest_type = manifest.split(".")[-1]
        if manifest_type == "json":
            config = json.load(manifest_file)
        elif manifest_type == "csv":
            config = csv.DictReader(manifest_file)
        else:
            print("Format not supported. File must be a csv or json file")
            raise SystemExit

        split_cmd = ["ffmpeg", "-i", filename, "-vcodec", vcodec,
                     "-acodec", acodec, "-y"] + shlex.split(extra)
        try:
            fileext = filename.split(".")[-1]
        except IndexError as e:
            raise IndexError("No . in filename. Error: " + str(e))
        for video_config in config:
            split_args = []
            try:
                split_start = video_config["start_time"]
                split_length = video_config.get("end_time", None)
                if not split_length:
                    split_length = video_config["length"]
                filebase = video_config["rename_to"]
                if fileext in filebase:
                    filebase = ".".join(filebase.split(".")[:-1])

                split_args += ["-ss", str(split_start), "-t",
                               str(split_length), filebase + "." + fileext]
                print("########################################################")
                print("About to run: " + " ".join(split_cmd + split_args))
                print("########################################################")
                subprocess.check_output(split_cmd + split_args)
            except KeyError as e:
                print("############# Incorrect format ##############")
                if manifest_type == "json":
                    print("The format of each json array should be:")
                    print("{start_time: <int>, length: <int>, rename_to: <string>}")
                elif manifest_type == "csv":
                    print("start_time,length,rename_to should be the first line ")
                    print("in the csv file.")
                print("#############################################")
                print(e)
                raise SystemExit


def get_video_length(filename):
    output = subprocess.check_output(("ffprobe", "-v", "error", "-show_entries", "format=duration", "-of",
                                      "default=noprint_wrappers=1:nokey=1", filename)).strip()
    video_length = int(float(output))
    print("Video length in seconds: " + str(video_length))

    return video_length


def ceildiv(a, b):
    return int(math.ceil(a / float(b)))


def split_by_seconds(filename, split_length, vcodec="copy", acodec="copy",
                     extra="", video_length=None, **kwargs):
    if split_length and split_length <= 0:
        print("Split length can't be 0")
        raise SystemExit

    if not video_length:
        video_length = get_video_length(filename)
    split_count = ceildiv(video_length, split_length)
    if split_count == 1:
        print("Video length is less then the target split length.")
        raise SystemExit

    split_cmd = ["ffmpeg", "-i", filename, "-vcodec", vcodec, "-acodec", acodec] + shlex.split(extra)
    try:
        filebase = ".".join(filename.split(".")[:-1])
        fileext = filename.split(".")[-1]
    except IndexError as e:
        raise IndexError("No . in filename. Error: " + str(e))
    for n in range(0, split_count):
        split_args = []
        if n == 0:
            split_start = 0
        else:
            split_start = split_length * n

        split_args += ["-ss", str(split_start), "-t", str(split_length),
                       filebase + "-" + str(n + 1) + "-of-" +
                       str(split_count) + "." + fileext]
        print("About to run: " + " ".join(split_cmd + split_args))
        subprocess.check_output(split_cmd + split_args)


def main():
    parser = OptionParser()

    parser.add_option("-f", "--file",
                      dest="filename",
                      help="File to split, for example sample.avi",
                      type="string",
                      action="store"
                      )
    parser.add_option("-s", "--split-size",
                      dest="split_length",
                      help="Split or chunk size in seconds, for example 10",
                      type="int",
                      action="store"
                      )
    parser.add_option("-c", "--split-chunks",
                      dest="split_chunks",
                      help="Number of chunks to split to",
                      type="int",
                      action="store"
                      )
    parser.add_option("-S", "--split-filesize",
                      dest="split_filesize",
                      help="Split or chunk size in bytes (approximate)",
                      type="int",
                      action="store"
                      )
    parser.add_option("--filesize-factor",
                      dest="filesize_factor",
                      help="with --split-filesize, use this factor in time to"
                           " size heuristics [default: %default]",
                      type="float",
                      action="store",
                      default=0.95
                      )
    parser.add_option("--chunk-strategy",
                      dest="chunk_strategy",
                      help="with --split-filesize, allocate chunks according to"
                           " given strategy (eager or even)",
                      type="choice",
                      action="store",
                      choices=['eager', 'even'],
                      default='eager'
                      )
    parser.add_option("-m", "--manifest",
                      dest="manifest",
                      help="Split video based on a json manifest file. ",
                      type="string",
                      action="store"
                      )
    parser.add_option("-v", "--vcodec",
                      dest="vcodec",
                      help="Video codec to use. ",
                      type="string",
                      default="copy",
                      action="store"
                      )
    parser.add_option("-a", "--acodec",
                      dest="acodec",
                      help="Audio codec to use. ",
                      type="string",
                      default="copy",
                      action="store"
                      )
    parser.add_option("-e", "--extra",
                      dest="extra",
                      help="Extra options for ffmpeg, e.g. '-e -threads 8'. ",
                      type="string",
                      default="",
                      action="store"
                      )
    (options, args) = parser.parse_args()

    def bailout():
        parser.print_help()
        raise SystemExit

    if not options.filename:
        bailout()

    if options.manifest:
        split_by_manifest(**options.__dict__)
    else:
        video_length = None
        if not options.split_length:
            video_length = get_video_length(options.filename)
            file_size = os.stat(options.filename).st_size
            split_filesize = None
            if options.split_filesize:
                split_filesize = int(options.split_filesize * options.filesize_factor)
            if split_filesize and options.chunk_strategy == 'even':
                options.split_chunks = ceildiv(file_size, split_filesize)
            if options.split_chunks:
                options.split_length = ceildiv(video_length, options.split_chunks)
            if not options.split_length and split_filesize:
                options.split_length = int(split_filesize / float(file_size) * video_length)
        if not options.split_length:
            bailout()
        split_by_seconds(video_length=video_length, **options.__dict__)


if __name__ == '__main__':
    main()
Most useful for this site is breaking it up into approximately 100mb chunks.
Bash:
python ffmpeg-split.py -S 95000000 -f /somedirectory/filename.mp4
It doesn't break cleanly at 100mb so you have to leave some leeway. I didn't write the script, it's from github or something.
 
I thought the max upload was like 2-3 mb for a video upload onto here. How much is it actually ?

Edit: I understand it may take a while to upload but if it works I’ll do it
 
Oh this moron. He's been clinging to his debate 'victory' against Destiny for months based on a room temp IQ take that "waking up your wife to sex is rape".

Has this guy ever had a sexual relationship with a woman? Is grabbing your wife's ass after she said to stop considered sexual assault?

Either he hasn't, he's a reddit-brained retard, or he's chasing that clout as a 3rd tier streamer.
1665608050600.png
[A]
 
Oh this moron. He's been clinging to his debate 'victory' against Destiny for months based on a room temp IQ take that "waking up your wife to sex is rape".

Has this guy ever had a sexual relationship with a woman? Is grabbing your wife's ass after she said to stop considered sexual assault?

Either he hasn't, he's a reddit-brained retard, or he's chasing that clout as a 3rd tier streamer.
View attachment 3733292
[A]
Just wait. In a month, he will be claiming to have beaten Nick in his debate too
 
  • Like
Reactions: jitter and Tangie
Oh this moron. He's been clinging to his debate 'victory' against Destiny for months based on a room temp IQ take that "waking up your wife to sex is rape".

Has this guy ever had a sexual relationship with a woman? Is grabbing your wife's ass after she said to stop considered sexual assault?

Either he hasn't, he's a reddit-brained retard, or he's chasing that clout as a 3rd tier streamer.
View attachment 3733292
[A]
Fuck I hate tards that try to use one small point, which destiny did not even defend and was using as an example for how there’s levels to things, then think that Destiny is actually defending stealthing. He knows exactly what he’s doing.
 
Here you go (64mb)
Downloaded the 3gp version from youtube and then used ffmpeg
Lossless converting 3gp video to mp4
ffmpeg -i input.3gp -c:v copy -c:a copy output.mp4

Edit: And in the future if you are converting a video with "talking heads".... you can convert the fps from 30 to 10 without losing to much of the video quality
Thank you, I'm kind of new to video editing and archival in general but I'm doing my best. Also thank you @Lord Xenu
 
Back