FFmpeg is a free and open-source video editing tool capable of trimming, cropping, concatenating, muxing, and transcoding almost any type of media file you throw at it.
It's also a very robust solution for implementing video automation, as we use it extensively in our own video editing API. For this tutorial we'll use FFmpeg 5.1.2, but any recent version will do.
The following command splits a video file into separate files of a given duration. In this case, we are extracting a video into three separate files, each of 15 seconds:
$ ffmpeg -i input.mp4 -ss 00:00 -t 00:15 part1.mp4 -ss 00:15 -t 00:15 part2.mp4 -ss 00:30 -t 00:15 part3.mp4
Similar to above, we can split a video file at a given point. Here's how to split a video exactly 1 minute from the start, resulting in two separate clips:
$ ffmpeg -i input.mp4 -t 01:00 part1.mp4 -ss 01:00 part2.mp4