Cropping a video by timestamps
I have done this sort of thing using ffmpeg and powershell core (both free software).
You can use any other scripting language to loop over ffmpeg once for each section of video that you want to keep. The ffmpeg command that you want looks like this:
ffmpeg -ss [start_time] -i [input_file] -to [end_time] [output_file]

So, and example would be:
ffmpeg -ss 00:10:01 -i source_vid.mp4 -to 00:30:00 output_vid_2.mp4

And if you have a whole lot of such pieces to cut in a batch, you can then use powershell or some other scripting language to loop through a list of pieces to cut:
$segment_list = @(
@{ id = &quot;1&quot;
   start_time = &quot;00:00:00&quot;
   end_time = &quot;00:05:00&quot;
},
@{ id = &quot;2&quot;
   start_time = &quot;00:10:01&quot;
   end_time = &quot;00:30:00&quot;
}
)

foreach($segment in $segment_list) {
   ffmpeg -ss $segment.start_time -i source_vid.mp4 -to $segment.end_time (&quot;output_&quot; + $segment.id + &quot;.mp4&quot;)
}