The code uses MoviePy, a Python library for video editing. You can see most of the most basic capabilities of the library in this video: cuts, concatenations, resizing, fade-in/fade-out effects, texts, etc. Just for fun I also added a few not-so-basic effects like video clips with changing positions.

MoviePy is well suited for simple and automotizable operations, as well as advanced, customized effects, but this video, by its length and complexity, is an extreme example of what you would do with it. So if you like elegant and concise code, don't look down !

For info, the generation of this 2 minutes video takes 10-15 minutes on my laptop, most of the computation time being spent to resize the different video clips.

Using scripts to edit a music video is not necessarily a good idea, but it has its perks: in this video the end credits are automatically generated from the list of videos used by the script, and that list is obtained by parsing... the script itself ! In other words, the code is reading itself ! This way I am sure that no one is forgotten in the credits.