import pysubs2 subs = pysubs2.load("engsub.ass") minute=158 # 1 min 58 sec = 118 sec? Wait — careful: 01:58:38 = 118.633 sec? Actually 1*60+58 = 118 seconds + 38 ms. # Correction: 01:58:38 = 1 minute 58.38 seconds = 118.38 seconds. # Using milliseconds: 118380 ms. split_time = 118380 first_part = [s for s in subs if s.start < split_time] second_part = [s for s in subs if s.start >= split_time] pysubs2.ass.SSAFile(first_part).save("part1.ass") pysubs2.ass.SSAFile(second_part).save("part2.ass")
# Convert start_seconds to milliseconds start_ms = start_seconds * 1000