代码拉取完成,页面将自动刷新
from pathlib import Path
from utils import logger
from videos_tools.create_clip_list_file import create_split_clip_list_by_interval
from videos_tools.split_videos_by_list_file import split_videos_by_list_file
def split_video_by_file(file_path_input: Path, folder_path_output: Path, interval_minutes: int):
"""
按照时间间隔,拆分单个 .mp4 文件
- file_path_input 输入文件
- folder_path_output 输出文件夹
- interval_minutes: 分割时间,以分钟为单位
"""
# 1) 创建分割文件列表
file_path_clip_list = folder_path_output / f"clip_list_{file_path_input.stem}.json"
file_path_clip_list.parent.mkdir(parents=True, exist_ok=True)
create_split_clip_list_by_interval(file_path_input, interval_minutes, file_path_clip_list)
# 2) 基于测试点列表拆分视频
split_videos_by_list_file(file_path_input, file_path_clip_list, folder_path_output)
def split_videos_in_folder(folder_path_input: Path, folder_path_output: Path, interval_minutes: int):
"""
按照时间间隔,拆分文件夹中的 .mp4 文件
- folder_path_input 输入文件夹
- folder_path_output 输出文件夹
- interval_minutes: 分割时间,以分钟为单位
"""
folder_path = Path(folder_path_input)
folder_path_output.mkdir(parents=True, exist_ok=True)
# 1) 获取文件夹中所有 .mp4 文件
file_path_list = list(folder_path.glob("*.mp4"))
logger.info(f"{folder_path_input.name} - 文件夹中有 {len(file_path_list)} 个.mp4 文件")
# 2) 遍历每个文件
idx = 0
for file_path in file_path_list:
logger.info(f"正在处理文件:({idx + 1}/{len(file_path_list)})《{file_path.name}》")
split_video_by_file(file_path, folder_path_output, interval_minutes)
idx += 1
if __name__ == "__main__":
split_videos_in_folder(
folder_path_input=Path(r"E:\BaiduNetdiskDownload"),
folder_path_output=Path(r"E:\自动压缩视频文件\01_输入文件"),
interval_minutes=30,
)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。