python 实现本地视频无损分割
1 使用
1.1 安装ffmpeg,并设置好系统环境变量
ffmpeg链接:https://pan.baidu.com/s/1tvfoEmm9Klbi8eGsYXZmeg
提取码:must
1.2 安装库
在python环境下安装库,例如PyCharm在venv虚拟环境下,使用terminal安装
pip install imageio-ffmpeg
2 代码
import os # 导入 os 模块,用于处理文件和目录操作
import subprocess # 导入 subprocess 模块,用于在新的进程中执行子程序
import time # 导入 time 模块,用于处理时间相关操作
from moviepy.editor import VideoFileClip # 从 moviepy.editor 模块导入 VideoFileClip 类,用于处理视频文件
def is_float(string): # 定义一个函数,判断给定字符串是否可以转换为浮点数
try:
float(string) # 尝试将字符串转换为浮点数
return True # 如果成功,返回 True
except ValueError: # 如果抛出 ValueError 异常
return False # 返回 False
def get_keyframe_timestamps(input_path): # 定义一个函数,获取输入视频文件的关键帧时间戳列表
command = [ # 定义 ffprobe 命令,用于提取关键帧时间戳
"ffprobe",
"-v", "quiet",
"-select_streams", "v",
"-skip_frame", "nokey",
"-show_entries",