Continuation of Cut to the Bot Videos

Hello again everyone,

After talking with some of the people I used to compete in with Vex a few days ago, I remembered the channel “Cut to the Bot Videos”, which cut up the vods for the Vex Worlds live streams and uploaded singular, labeled matches so teams could go back and find them really easily.

I figured that it would not be difficult to make a script to do the same, a day later and here we are :slight_smile:

I’m slowly letting it run bit by bit when I get time, but you can find all the matches it’s done so far on a new channel, Cut to the Bot Vods. Once I’ve gone through all of tipping points worlds I’ll release the code and hopefully someone will want to go through the process of running it for the upcoming world championship.

But in case anyone is interested in how it works now, I’ll give a brief explanation:

  1. Using the m3u8 stream from the livestreaming service Vex uses, called Boxcast, I download the vods for worlds
  2. Using an Object Character Recognition (OCR) model it pulls the division and qualification number from the video stream. This is also what determines the start and end of the matches.
  3. Using that information it pulls the match result information and teams from RobotEvents
  4. It then splices and saves the videos with the formatted names to be uploaded to Youtube.

P.S. Vex worlds contains a lot of copyrighted music, so if there are missing matches that is why.

Let me know if you have any questions, cheers.


I wonder how doable it would be to connect with the original person so its the same youtube channel?

@Cut_to_the_Bot ?

Maybe making that a community project that changes hands every couple years instead of being fully revived from scratch.


This is really awesome. I remember always being awed by the amount of time some vex kid spent cutting up every worlds livestream, and now I get to be awed by this instead. Thank you, Zach.


For the matches with copyrighted music, what about trying to upload those with the audio muted?


Would need a way to detect that? The only way this works is if its all automated

1 Like

Why not just muted every matches regardless of copyrighted music or not?
This will make it easier for the one doing the slicing and archiving.

Besides, I am more interested with watching the matches than the music.


It’s almost all automated so it wouldn’t be hard mute the audio. Some people though, including myself, enjoy hearing the commentators. For now it is not too big of an issue, only 4 out of ~150 matches have blocked and copyrighted music so I can just manually go in and replace the audio for those. If it does become too big of an issue I’ll consider muting all the matches though.


are you planning on doing all the divisions? And if so, what order are you doing them in?

1 Like

Yes! I had to stop it for a bit to make some improvements to the code and because I’ve been really busy this week but I’ll get it back up soon. I honestly did not have an order in mind, I just clicked spirit at random and that’s why its the first.

If you have any suggestions for the order, let me know! I have no idea where the exciting matches happened haha


considering the fact that i was in engineering division, i might have a bit of bias when i say you should do engineering next, but the research division also had some pretty cool matches in it, so id say start with those lol.

1 Like

It has been quite a few years ago. Can’t really remember all the divisions that my teams were in.
But maybe any 8059A matches might be worth the while :stuck_out_tongue:

1 Like

Hey everyone,

For those curious about how this works, I finally got around to cleaning up the code and documenting how it actually functions. All the code, and a detailed explanation of how it functions in the README can be found here:

Let me know if you have any questions !


Hi i was just curious if you planned on doing middle school, vexu, and or IQ matches? This is some awesome stuff and was curious if all contian was planned or just the highschool.

Just read the above. What about uploading one version with audio and one without for each match, so that even if a match is taken down, you can still use the muted one to watch the match. If it isn’t, you could watch the one with audio. Should not be too hard to add in.

I wouldn’t take your time to mess with the audio. Youtube will let you know if there are any issues and on our end, I think we can just blame Youtube and not worry about bugging the person doing all this work. Also, when there is a copyright issue, Youtube doesn’t always remove the audio. Depending on the artist, they may just run an ad instead of taking off the audio.

Also, RECF can just put together a good copyright-free playlist for use at WORLDS and at our local events. We currently pay $5 per team on for fees to RECF, and I’d be happy to throw in an extra dollar or two if we could get some more collective resources. I’ve used playlists that claim to be copyright free and then I got copyright strikes… So I’ve gone back to no music.

I used to do this same thing for my tournaments but YouTube changed how many videos you can upload per day. My tournaments have a couple of hundred matches max, but it took 2-3 days to upload the videos. I now just put links in the description for the matches, so they can just click on a match and the video will queue to 5 seconds before that match in the original live stream.


Potentially! Is anyone actually interested in VexU, Middle School, or VexIQ matches??

Good idea! But sadly Youtube only allows 100 video uploads a day so this would double the time it takes to get matches out.


I’d definitely be interested in VexU!