Note: I am not going to make any changes to this unless I suddenly gain interest in this game again. Anyone is free to fork this and do whatever they want under the terms of the MIT license.
This is a few things I was messing around with the osu! replay format and
pygame. There's also a sort of library in osr.py
for reading the maps.
I am using Poetry for dependencies, so you can
just do poetry install
after cloning the repo to start running things.
This will read a bunch of replays at the same time and show them at the same time.
To run it, you need a folder with an mp3 in it and some replays.
Then run it like python multi_render.py ooi
where ooi is the folder containing
the mp3 and replays. Note that the mp3 must be 44.1 kHz otherwise the song will
play really slowly. I don't know why this happens, and I don't know why some of
the mp3s that osu! downloads are 48 kHz but it's not that hard to resample them.
I used Audacity for this.
left click
: increase circle radiusright click
: decrease circle radiusscroll up
: increase trail durationscroll down
: decrease trail durationescape
,ctrl+c
: quit
This script will write images to a file for each 60 fps frame of all of
the maps. You can then mux/encode these together with ffmpeg
to make a video
you can actually upload to YouTube or whatever. This is what I used
to upload a bunch of the videos on my YouTube channel automatically.