import subprocess
import os
# 视频文件路径
video_path = '05242.mp4' # 替换为你的视频文件路径
# 输出视频文件夹
output_folder = 'output_videos'
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 视频分割的时长(秒)
clip_duration = 9.14
# 计数器
clip_number = 1
# 循环分割视频
while True:
# 计算当前片段的结束时间
end_time = clip_number * clip_duration
# 如果结束时间超过了视频的总时长,就停止循环
if end_time > round(float(subprocess.check_output(['ffprobe', '-v', '0', '-of', 'csv=p=0', '-select_streams', 'v:0', '-show_entries', 'format=duration', video_path]).strip().decode('ascii'))):
break
# 构建ffmpeg命令
ffmpeg_cmd = f"ffmpeg -i {video_path} -ss {clip_number * clip_duration - clip_duration} -to {end_time} -c copy {output_folder}/output{clip_number:04d}.mp4"
# 执行ffmpeg命令
subprocess.call(ffmpeg_cmd, shell=True)
# 更新计数器
clip_number += 1