After Effects Data Driven Animation Tutorial

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] so what the purpose of this tutorial is going to be is to introduce data visualization techniques in After Effects using expression language and then these animations can be used either as standalone videos or they can be integrated into PowerPoint presentations as an animated gif so what I'll be teaching is I'll be teaching just a basic intro of the After Effects interface if you've never used the program before I'll kind of get you introduced to that of course you can learn more about it through online tutorials or other DMC lessons I also be demonstrating how to organize and import your data into After Effects and then I'll be walking through the process of setting up a simple bar chart using expression language now you can make lots of different kinds of charts from pie charts to line graphs to basically anything else within After Effects I'll be hopefully teaching you more of the thought process behind it so that as you encounter these different types of graphs if you want to make them go how the tools are necessary so first let's look about look at what we're trying to make here this is the demo I've made I'll see a bar chart that animates over time this is showing the different items borrowed lent out by the DMC from 2014 to 2017 alright so with that it's good to have an image of what you're trying to make before you start going in with that in mind as the goal let's pop into After Effects here this is the opening layout when you first when you open it for the first time you might see it in this default mode this isn't standard so we're going to go over to the standard mode which i think is just easier to use so we're going to go ahead and hit new composition I'm going to create a 1920 by 1080 p HD composition and import it right there alright so after effects just a little bit about it it's a program that can be used from visual effects and motion graphics or we will be dealing with here is mainly the motion graphic side that has to do with shapes and motion and animation and that sort of thing so this first part of the lesson is it's going to be introducing you to the basics of shapes and motion if you come to the top here you'll see the tool bar will you have all your tools did you select the rectangle tool we can draw a rectangle so again this is going to show you how this works if you click and drag from the correct angle I'll release and there we go now I want to select that rectangle so I'll go up here to the select tool of course there are lots of keyboard shortcuts over time you'll learn to use hopefully a selection tool is probably the first one you should get to know you're comfortable with and that is just hitting V that's when you're going to be using a lot today so now you can you select V you can move this rectangle around so what we want if we come down here we can see the rectangle in the layer and right now if we go along the timeline here and we scrub forward in time we see it's not moving and we want it to move so we're going to go to the properties of this rectangle into transform and we can adjust its position if you click this stopwatch it's going to make this little keyframe right here and if we move forward in time say one second and you can come up here and move the rectangle you'll see that there's this line here and that means that it's going to be moving look at that alright so that's the normal way to make motion in After Effects is to use keyframes like that and you could hypothetically do this with bar charts would be very tedious though and that's not what we're going to do so if you hit the stopwatch again you'll get rid of those keyframes we're not using them today we're going to be having data-driven animations not keyframe driven animations so just as an introduction to what expression language is and how we make data-driven animation I'll show you if instead of just clicking the stopwatch if you hold down alt and then click the stopwatch you'll have this which opens the expression a language window or interface as some expression language and After Effects is basically just JavaScript that can be used to create procedurally created animations so let me just give you an example so instead of just moving this rectangle around on the screen we can input a number here so if we put Open bracket 960 comma 540 close bracket we'd have a coordinate here which is the center of the screen that's nice now what if we want it to move horizontally across the screen well we're gonna affect the x-coordinate so as an example if we hit time x let's say 500 you'll see you have this animation now and what it's doing is it's taking the current time so in this case one second multiplying it by 500 and inputting it as the x-coordinate of position I so this is just an example of how you can use expressions to create animations that you could also make with standard keyframes all right so with that kind of introduction to After Effects out of the way we can delete our trusty rectangle and get on with actually making our bar chart are the first thing we want to do is make a white background instead of the black background here so I'm going to right click in this area here select new solid I'm going to make sure you can click this to make sure it's the composition size make sure it is white okay and click OK that's great first thing I'm going to do is I'm going to click the lock button right here all this means is now I can't select it on the screen which is good because I don't want to be accidentally selecting this throughout this process the next thing we want to make is our bar our first bar so we're going to go up to new and we're going to create a shape layer instead of drawing this shape layer out we're going to be creating this bar with expression language all right so we have the shape layer here we're going to click the arrow go down to contents actually there's no contents in it right now so we're going to add a path I mean want that path to be filled in so we're going to go to add fill alright so in order to make our rectangle we're going to go hit drop down over the path we see our little stopwatch once again I'm going to hold down alt and click stopwatch ok there's some stuff in there right now I'm just going to hit delete to get rid of that now if we go to this little arrow it gives you a bunch of expression language functions we're going to go to path property create path points and if we just click outside of this area we'll see that we have a rectangle and I'm going to hit V just to get out of the pen tool okay so we have a rectangle we can move it around and hit ctrl Z to get undo that but what's happening here is we this function works is we have we define the points we want I don't need to worry about this part too much this is just how curvy if you want to be curvy which we don't and then if it's going to be a closed with this case it is so what we care about here are these four points which doing is going from the coordinate zero zero right here to 100 0 100 100 and 0 100 and then back because it's because it's closed so we can edit these and we can make this what we want it to be so to do that we want to add some variables and so we're going to create one more thing we're going to create go to new and I'm going just select no object a null object isn't really anything visually it's basically just a bucket before data I'm going to be using that bucket to add some variables so let's think about what we want to be able to customize about our bar chart one thing is going to be probably the width another thing of course we want to be able to adjust the height based on the data so let's add others to make that happen so we're going to select our null layer here in fact I'm going to hit enter that allows you to rename things I'm going to name this control this will be our control layer so I control air I'm going to go to effect up here effect expression controls and slider control and once again this is just creates a slider it does absolutely nothing because if you haven't made it do anything yet all right another way you can do this is you can go to the effects & presets tab over here and you can search for slider control and you can drag that over so I'm going to want two sliders one of them I'm going to name width I'm gonna hit enter and going to say width and the other one I'm going to call height now the height 1 this is just a stand-in slider of course later on is going to be determined by our data but with that in mind I'm going to go back to our shape layer here drop-down we have our points again now we what we want is to kind of trace out what our bar is going to look like so we're going to start at 0 0 again and then going around we want to go instead of 100 0 we want it to be with gonna call this W with zero then you want this to be width and height and we call that H then it's going to be zero and height so it's kind of tracing around of course we have to define our variables that maybe should in this first so again in JavaScript you could say variable H equals and it has to equal something so I'm going to go back up to this control layer I want to be able to access it when I select any of these other layers so I'm going to hit this lock button right here this just locks it in place so I always have access to it and it's like back to shape layer click back to what I want variable age to equal and this is called a pick whip right here you can select what you want it to be so I'm going to select the slider for height okay and then a little quirk in JavaScript it's probably good for him to use this notation variable H you don't actually need that variable though you can just say H equals I'm just going to be using that throughout because I think it is simpler all right I can go up and I can say W equals and that's going to be the width slider all right semicolon all right so now that that is all settled we see there's nothing right now but if we adjust the height you can see it goes and doesn't go up there it goes down let me call so just the width and the reason it goes down is just a little quirk of the coordinate system of After Effects the way it works is the x-coordinate goes from left to right like you'd expect but the y-coordinate actually goes from top to bottom because this corner up here is 0 0 and then this corner down here would be 0 1080 that makes sense so we're going to go back now instead of having positive H we're going to add negative H and negative H all right and there we go and so the whole goal now we have to do is we have to adjust this height to be based off of our data all right so with that in mind with everything set up in after-effects we're going to take a slight detour and talk about how to organize our data into something that after-effects can use and actually understand so with that we're going to go ahead over to excel we're going to talk about the data we have so the day I have here is this the amount of each of these items that has been borrowed from 2014 to 2017 from the DMC if you're curious this was we keep records of every item we lend out I would just organize this into this neat little little chart so given this chart we have to be aftereffects can't just use an excel file and ask to use something called a JSON file so to do that we have our data here I'm going to go to file and we're just going to save this as a you can't even save it as a JSON so we're gonna save it as a CSV file yeah that's fine great so we have this as a CSV file you can see it right here to convert this to a JSON we're actually gonna use a website called we're gonna search CSV to JSON so it'll get you far for many things and we have this website here CSV JSON calm so what I'm going to do is I'm going to select my file here DMC data CSV and drag it in if I hit convert you'll see it in this file format this isn't organized the way we want it to so the first thing we're gonna hit is transpose I'm sorry I'm gonna hit hash and transpose and what that does is it allow it organizes the tripod camcorder projector laptop underneath a year and this will be useful later the only recommendation I have for your own data is you're almost always going to want to use this hash function and then depending on for the columns or rows you want to organize it under you can change this transpose so for this we're going to hit transpose hash and this is a nice-looking organized file we can use I'm gonna hit download that will allow us to save it I'm just going to save this you can see this to your desktop I'm going to save it to my special lesson folder here and we can name it bar chart data doesn't really matter hit save all right so that's actually open up this JSON file I'm just going to open it with notepad and there is our data and this is what After Effects is going to be looking at all right so with that little detour of how to organize our data we're going to go back into After Effects go over to the project and this is all our our footage that we would import so we're going to just drag and drop this JSON file into our footage and there it is okay so let's talk about how to get access to it so a nice trick to use in general with using expression language is to use a text file to kind of understand or start a text layer to understand what's going on so I'm going to go to select this hit new I'm going to hit the text and hit the drop down here drop down again for text and I'm going to hit alt click on source text so I'm just going to demonstrate how this would work so we're going to assign a variable it's going to be the quantities of the various items we lent out so I'm going to name this quant that's going to equal I'm gonna use this pick WEP again pick whip the JSON file and now we need to organize this and we use this function dot source data and that will organize this into an array that after effects can understand semicolon so the way to access the information is we're going to use the quant and then we're going to use a bracket and that's going to be the year so the bracket is going to be this top layer we went 20 14 15 16 or 17 let's say we want 2014 and then do we want which item do we want we're gonna use dot tripod all right and if we look it says 644 and that matches 644 we can even change this number if I make this 844 and hit save ctrl s that will update the number right here so the cool thing about this After Effects function I'm gonna change that back is that it is completely real-time updates with the data as the data changes and of course we can update any value from with the value in 2015 we could just hit 2015 and it changes every when it with camcorders we could simply write camcorder and it changes alright so now that we understand how to use the how to use the data we can get rid of this text layer and start implementing it on this graph before we do that though we're going to actually make our axes for our bar graph so for that we're gonna go up with the tools here hit the pen tool right here I'm going to click somewhere up here I'm gonna hold down the shift just to make this line straight it's gonna be straight I'm gonna keep holding down shift and click over here and that looks like a pretty nice axes again it's filled in so I'm gonna click the fill key right here and go to none no fill that way it's just a stroke and a stroke of about 10 will do just fine as this is our axis what we want to tell the program now is kind of where to start and where the end is because we're going to be mapping our data on to this custom y-axis essentially alright so what we need to tell the program is two points the start Y value and the maximum Y value so we can go back into our control there before we do that actually let's make sure we organize our stuff and name this axis so we enter and name these axes and we actually gonna drag this down just above our white solid let's go back to our control layer our null object is our bucket if we go up to effects right here we can now go to the top effect expression controls point control once again we can also do this here we can just type in type in point control and drag that in so we're gonna name this one starts let's say and this one max and you'll see these points right here this is what that point is so this is our max point I'm gonna put that say at the maximum I want to be and the start point at the start alright with that set up I can make this better with that set up you go back into our shape layer hit the drop down key and we're back here so we can kind of define those variables right here so I'm gonna say start equals pick whip I actually don't want the entire point I just want this y-coordinate that's the only important part so I'm just gonna select the y coordinate semicolon and then max so for the maximum point we don't really care about what this point is so much as we care about the distance between the maximum point and the starting point so I'm just gonna so we actually want the maximum point minus the start point but because again the aftereffects coordinates are backwards is actually going to be start - I'm gonna pick with the maximum sorry the y coordinate of max here all right so we have everything set up for what we want we have this height slider we're going to graduate from the height slider and hit delete because we don't need it anymore I'm just gonna say actually for right now height equals 100 because one more step we have to do here we have to actually make this start at the start so just to make things simple I'm going to make the position of control 0 I'm going to zero everything out a common error you will see is when making this is if things aren't in a zeroed out as we say then I things can get complicated and really messed up so we can drop down if you just actually hit the P button that'll take you straight to position you can set both these values to 0 of course we don't want it to look like that always so we're gonna another quick shortcut if you want to if you double tap e you get back to the expression you're at so instead of starting at 0 0 we want it to start at the zero start this is our start Y value get rid of that and then we went it to code to start - Heights starts - height looks like he's not working oh yeah and then we can change sorry the x-coordinate of this by moving it down all right so once again our coordinates got messed up when we moved to the null object to zero zero so going to use a scroll real to the scroll wheel to zoom in and out this is our start I'm going to drag it down and you'll see the bar follows it now and then they can go to max where'd it go there it is this point right here and drag it I can actually zoom in if I if you push down the scroll wheel you can drag around with the hand there I'm gonna put this at the maximum value okay and I want to go back to our standard view so I'm gonna hit this key and go to fit so that's all set up now what we can do is we can double tap E to get back here all right so what we want to do is we have a way to access our data we just want to map that data onto our graph if you know C coding language this would be the map function in expression language JavaScript there's a similar function which is going to be the linear function I'm gonna show you here what the way that works so gonna good it's gonna be linear you want your value you want the input value sorry the input min input Max and they're gonna go to the outputs well I would put them in and out put well there we go output max this is the way the linear function works so the height is going to be linear open parenthesis what's the value we want to work with we want to work with our data come to think of it we never actually imported our data so let me just do that really quickly and see if we remember how to do this it's gonna be quant equals and go back to our footage here take whip it the footage dot source data so I forgot to do that so we have our data imported in this quant quantity variable so we want to go to quant once again years 24 2014 and we want this to be the tripod bar so this is our variable what's the minimum value the minimum value is 0 and the max this is just something you it's kind of arbitrary you determine what is reasonable maximum value if we look at our data here you'll see that the Mac highest value is 1021 so a reasonable max value would be 1100 let's say just round up to the nearest hundred so it's gonna be from 0 to 1100 and then so that's the input space the output space is once again the minimum is going to be 0 and the maximum is going to be that max value we determine close parentheses semi-colon and there it is let me actually just fix if we you see it's kind of at the bottom of the axis there if we go to our control layer we can adjust the start point and just make that more perfect great and I'm gonna go to fit ok so we have 1 bar chart and that looks good we could copy and paste this for the other variables all we have to do is just change this from tripod to whatever else we want of course we don't want it a stationery chart that we want to have it animate and we want to animate it from 2014 to 2015 so the way we're going to do that I'm going to show you a few ways to do it we're going to end up at a really elegant solution let me just talk about a way to get there so you can animate using the linear function as well let me just show you what that means it's gonna make a variable a and we're going to copy it actually cut and paste that over there and actually is gonna copy all of that paste it and call this B so we have two values one is the value of tripods in 2014 and I'm going to make this the value of tripods in 2015 so if you want to animate between those instead of linear we're going to use a function called YZ which is exactly the same as linear except it makes nice nice-looking animations because the value will be dealing with is time so as time so ease as time goes from zero seconds comma one second we want it to go from A to B semicolon and that works great and it goes up and down the only problem is is we'd have to do this two more times for B and C so let me just show you you don't need to follow her along here if you are I'd I'd go to C and major changes of 2016 so the way to make it ease between three points is you'd have to actually nest the EES function so go to YZ time from one to two from B to C I forgot a parenthesis there and this works it's just not the most elegant and if I ever wanted to change let's say I wanted to change it to the camcorders I'd have to go through and change these three words to camcorder I'm going to change the duration god forbid I'd have to go in and change each of these values to something else and that's that's just a pain so we're going to do a more elegant solution so if you look at this all we're doing is we're just incrementing by one and importing that into a very variable and this is something we can just program to do they do that we're going to use a for a statement so we're gonna actually just delete all of that you ate with four so for the for statement is here the way this argument works is you're going to define a variable I to equal something semicolon and then as long as I is in this case less than or equal to something and then we're going to increment I each time and then as long as so you're going to basically continue doing this cycle until the variable I does not meet this condition and then you move on that make if you're if you're not familiar with programming that statement that is just simply a simple explanation so we're going to do four we're going to set I equal in this case to our first year which is 2014 semicolon I'm going to say as long as I is less than or equal to our maximum year which is 2017 and then we're going to increment I each time close parenthesis we're going to find our brackets there all right so what do we want it to do so we want to make a new variable I'm gonna call this value array and you'll see what this does so a value array this is a little quirk within expression language if you're going to define a new array of values you have to actually tell it that it's an array beforehand so I'm gonna say value array equals open square bracket close square bracket this just tells aftereffects that hey we're going to have to this is the bucket we're going to be placing values into so for the 8th value of the value beret we want that to equal this is going to be our linear transformation so it's gonna be linear comma this is just what we did before so it's gonna be quantity but instead of having just the quantity of 2014 we want this to cover the quantity of all the years so that's just going to be quantity I and then it goes from 0 comma 1100 and then from 0 to max just like that so what this does is it essentially organizes all the data just for tripods into one single array and then for animating it makes it a little bit easier but we still run into this problem in that if we don't ever want to change how long you want this animation to take we'd have to change each of these values so instead of having a we could just say value array 2014 and change that for all the values that's not we want to do we're going to do a more elegant more complex solution so let's do that for this more complex solution what is going to be really nice is we're going to talk about the we're going to define how long we want each segment to be how long it takes to go from year to year in our animation so we're going to do a new variable so we're gonna hit our control once again and this is going to be a slider so I'm just going to come over to here type in slider control and drag that over I'm going to hit enter to rename it I'm going to name this segment duration duration all right so let's get that in as a variable and just gonna go to the top here I'm gonna name this sag Durr and that's going to equal kind of pick whip that value right there I'm just gonna set this equal to one right now because it said make the segment duration one second so the problem once again is nested use functions which you want to kind of stay away from because I can get really tedious especially if you have more data than just four years so we're going to we're gonna define a variable X and X is going to be math dot they're going to trust me here math dot floor time divided by segment duration so just to get a grasp of what's going on can hill full it's gonna use desmos graphing calculator what the floor function does is it just creates a kind of counter and if you defer if you divide in this case X here is time if you divide this by a constant like five then you have this counter that basically would say every five seconds you increment by one and this is very helpful to avoid this the animation problem we have here let's go back to After Effects alright so we're gonna make a new another ease function and we're going to ease over time but this time our start value is just going to be the segment duration times X this counter and then our second value is going to be the segment duration sector times parenthesis X plus one they look to the future one increment going back to desmos all that means is we're going to start here and and at this point in time then we start at this point in time and at that point of time and so on and so forth all right so that's our time our input space for output what the values we want to go from the value one to go from the value went to go to see we're going to say just going to say start value we're going to make this variable and the start value is going to equal it's going to be in our value arrey we just made it's going to be from the first year which is 2014 plus X all right and then end value is going to be again in our value array it's going to be 2014 plus X plus one so for the first year X is just going to zero so we're going to go from 2014 2 2014 plus one and so on and so forth so if we finish this East function I'm gonna ease over time from the start time to the end time from our start value comma end value if we look small mistake here mistake I made I should have covered this before is when we define our value array with our for statement its quantity i we're talking about tripods all right what we're going to do is we're just going to make sure that height equals whatever this is now we see this works wonderfully every one second it transitions to the next year value the only little thing is that once you get once you finish it and you get to the last value you get this expression error that's just because we try is trying to pull the value for 2018 and the devalue for 2018 isn't there so it's gonna add this quick if statement if X is greater than or equal to in this case the difference between 2017 in 2014 is three years so if X is greater than or equal to three we're just going to say that's the start value equals our value array 2017 and our end value equals value array 2017 as well so it's going to freeze it at the last value essentially and now you see there's no more error and it works wonderfully and we are almost done all we have to do is just copy and paste this move of these bars across and then change the data that they're tied to this is chez player one I'm gonna hit enter I'm gonna call this tripods now if we want to duplicate this I'm gonna hit ctrl D I'm gonna hit P now Oh actually it's gonna go down to the transform we can change its just its XCore and I want you to its y-coordinate and move this to the side we can repeat the process control D transform move it to the side and one more time control D transform move it to the side and iPhone needs to be evenly spaced well first let's organize this we can actually change the color in the timeline which is kind of fun so I'm gonna make these all green just to tell us the green is our bars or green are our bars I want these to be evenly spaced so if we go to the window a line function if we just align these horizontally they're evenly spaced it's very nice all we have to do is have to go into each one and just change what we're talking about so say this is the camcorder I double tap E I can come in here all we have to change is this from tripod the camcorder alright and then let's say this is our laptop double tap II change this from tripod laptop and then this is what's the last one projector that's it double tap E and change this from tripod to projector and that's great of course these are all the same color that's very boring we're kind of getting into the visual aspect of After Effects now I'm just gonna make these you should make these better more themed colors I'm just going to make them something else if you select it and select the color there we are and the great thing is again you can customize this as much as you want to so he can change the width of each bar you can change their spacing with the aligned if you want to change your axes you just need to move this point up and down that will change the minimum and maximum value and hit ctrl Z the last thing we have to do is just kind of add all the other aspects of a bar chart so one thing is going to be we want Y lines going across so I'm gonna use this pen tool up here again they're a start point hold down shift set our end point and let's make the stroke be something not quite white but just kind of a light gray I'm gonna move this to the very bottom I'm gonna call this Y tick so we want this evenly spaced once again our maximum value is going to be 1100 I'm just going to move this I'm gonna use the arrow key I can you hold shift and the arrow key to move this down quicker to the bottom and we're gonna use a kind of shortcut to do this we could evenly space it out manually but again that's would take too long so I'm going to go to contents yet this add and add repeater so this is going to kind of duplicate it again we want four copies actually went five because it includes itself so change that number to five go to transform we want this to go horizontally so good I'm gonna say zero and if we look look at that it goes just like that and that way we only have one layer it's not too much to deal with and that was pretty easy alright next thing we have to do is we have to just define what each of those means for sake of time I'm just going to do the first and the last so I'm going to hit the text tool go right here if we open up we hit this binding here to open up the panel's we can she selects the font we want we can select the paragraph Styles I'm just gonna align this to the right I'm gonna hit 0 deselect it hit V to select the text I'm gonna wanted to zoom in here put this right here and then I can select the text tool again it's right aligned it is 1100 select V and align it correctly of course you have to label what each of these bars mean next I'm going to cover the last expression driven animation is the title because we want the title to change with each year so I'm just gonna hit this text tool again and I'm going to see this title is items borrowed in and then want this to be center-aligned spread over the paragraph tools to Center align it I'm going to select the text here let's just make this like 65 point font and after effects the size of the font doesn't really matter that much because again if I hit V I could always just resize it right here but regardless I'll do that I'll bring this more to Center and then we want our year so we hit the text tool I'm just gonna click I'm not gonna type anything once again we're going to have the speed riven by expressions so we go down to the text alt click we have our text here now this is going to be again driven by this segment duration so we're essentially going to copy what we just did with her animation where it's just a sec derp equals this pick whip that semicolon we'll set our variable X once again equal to math dot floor time divided by Sega derp right there so now again we have our counter we just want we just want this text layer to show the year 2014 plus whatever X is and look at that that will change now within each layer it's a little strange though that it changes at the very end I kind of want to change in the middle so instead of no math dot floor function I'll do the math dot round function and that way it will change in the middle if you're one that visually in in desmos here if you use the round it just kind of shifts it more to the middle and yeah so we all you really have to do now is just format this in the way you want maybe I want this to be bold text you can change the font you can add images where you go from here is really just depending on how much you know about After Effects and how much you can do with it but the tools you learn here mainly about the tools of using for loops to define your value array animating using this method can be used for any other data visualization within After Effects and of course for all of this it is always linked back to the data and you could always change any of these values and it would update in real time just for the sake of time I'm not going to cover all the other labeling that's just kind of busy work again you name these you name each of these bars what you want them to be but when you're ready to export it it's just again it's a kind of odd thing you have to make sure this footage is in the layers stack here otherwise it won't actually work that's just out based on the rendering pipeline of After Effects it needs to call back to this data so make sure you pull your data in oil so get confused because nothing's happening when you try to export it and to actually export it you would go you select your composition go to file export and you'd probably use the Adobe media queue to export the footage just like anything else in After Effects yeah and then if you'd like to export this as an animated gif there are online tools to do that and I've done for example a presentation on political science in which I was able to show using bartsch animated bar charts different election results and polling results import that into a PowerPoint presentation using an animated gif again there's a lot of depth you could use and a lot of different possibilities you really do control every aspect of your chart using after a data-driven animations in After Effects I hope this was a good introduction to how to use it through the example of a bar chart and hopefully they've got the tools to go forward and continue learning After Effects and continue making better professional-looking charts all right thank you
Info
Channel: DMC Rice
Views: 5,159
Rating: undefined out of 5
Keywords: After Effects, Animation, Data Visualization
Id: MqEdLxdUMRY
Channel Id: undefined
Length: 41min 56sec (2516 seconds)
Published: Thu Jan 23 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.