返回

PreenCut - 人工智能视频剪辑工具

原创
admin的头像admin·发布于 2025-07-16 12:31·阅读 146

🎬 PreenCut - 人工智能视频剪辑工具

PreenCut 是一款智能视频编辑工具,它使用语音识别和大型语言模型自动分析音频/视频内容。它可以帮助您使用自然语言查询快速从媒体文件中查找并提取相关片段。

file

主要特点

自动语音识别:由 WhisperX 提供支持,可实现准确转录
人工智能分析:使用大型语言模型来细分和总结内容
自然语言查询:使用描述性提示(例如“查找所有产品演示片段”)查找剪辑
智能剪辑:选择片段并将其导出为单独的文件或合并的视频
SRT 导出:生成自定义行长的字幕
批处理:在多个文件中查找特定主题
重新分析:无需重新处理音频即可尝试不同的提示

⚙️ 安装

1.克隆存储库:

bash 复制代码
git clone https://github.com/roothch/PreenCut.git
cd PreenCut

2.安装依赖项,推荐使用Python 3.11:

bash 复制代码
pip install -r requirements.txt
  1. 安装 FFmpeg(视频处理所需):
bash 复制代码
# ubuntu/Debian
sudo apt install ffmpeg

# CentOS/RHEL
sudo yum install ffmpeg

# macOS (using Homebrew)
brew install ffmpeg

# Windows: Download from https://ffmpeg.org/
  1. 设置 API 密钥(用于 LLM 服务):首先,您需要在 的 LLM_MODEL_OPTIONS 中设置您的 llm 服务config.py。然后将您的 API 密钥设置为环境变量:
bash 复制代码
# for example, if you are using DeepSeek and DouBao as LLM services
export DEEPSEEK_V3_API_KEY=your_deepseek_api_key
export DOUBAO_1_5_PRO_API_KEY=your_doubao_api_key
  1. (可选)设置 gradio 临时文件目录:在 config.py 文件中设置 os.environ['GRADIO_TEMP_DIR']。

🚀 使用方法

  1. 启动Gradio界面:
bash 复制代码
python main.py
  1. 访问http://localhost:7860 的Web 界面

  2. 上传视频/音频文件(支持格式:mp4、avi、mov、mkv、ts、mxf、mp3、wav、flac)

  3. 配置选项:

  • 选择 LLM 模型
  • 选择 Whisper 模型大小(tiny → large-v3)
  • 添加自定义分析提示(可选)
  1. 点击“开始处理”来分析内容
  2. 查看分析表中的结果:
  • 开始/结束时间戳
  • 期间
  • 内容摘要
  • AI生成的标签
  1. 使用“重新分析”选项卡尝试不同的提示
  2. 使用“剪切”选项卡选择片段并选择导出模式:
  • 导出为 ZIP 包
  • 合并为单个视频文件
  1. 您也可以使用路由前缀 /api/xxx 访问 Restful api

    • 上传文件

      POST /api/upload

      body: formdata

      key value type
      file file

      reponse: json

      复制代码
        { file_path: f'${GRADIO_TEMP_DIR}/files/2025/05/06/uuid.v1().replace('-', '')${file_extension}' }
    • 创建任务

      POST /api/tasks

      body: json

      json 复制代码
      {
        "file_path": "put the file path here response from upload api, starting with ${GRADIO_TEMP_DIR}",   
        "llm_model": "DeepSeek-V3-0324",
        "whisper_model_size": "large-v2",
        "prompt": "提取重要信息,时间控制在10s"
      }

      响应:

      json 复制代码
        { "task_id": "" }
    • query task reult

      GET /api/tasks/{task_id}

      response:

      json 复制代码
      {
        "status": "completed",
        "files": [
            "${GRADIO_TEMP_DIR}/files/2025/06/23/608ecc80500e11f0b08a02420134443f.wav"
        ],
        "prompt": "提取重要信息,时间控制在10s",
        "model_size": "large-v2",
        "llm_model": "DeepSeek-V3-0324",
        "timestamp": 1750668370.6088192,
        "status_info": "共1个文件,正在处理第1个文件",
        "result": [
            {
                "filename": "608ecc80500e11f0b08a02420134443f.wav",
                "align_result": {
                    "segments": [
                        {
                            "text": "有内地媒体报道,嫦娥6号着陆器上升器组合体已经完成了钻取采样,接着正按计划进行月面的表取采样。",
                            "start": 1.145,
                            "end": 9.329
                        }
                    ],
                    "language": "zh"
                },
                "segments": [
                    {
                        "start": 1.145,
                        "end": 9.329,
                        "summary": "嫦娥6号着陆器上升器组合体已完成钻取采样,正进行月面表取采样。",
                        "tags": [
                            "嫦娥6号",
                            "月球采样",
                            "航天科技"
                        ]
                    }
                ],
                "filepath": "${GRADIO_TEMP_DIR}/files/2025/06/23/608ecc80500e11f0b08a02420134443f.wav"
            }
        ],
        "last_accessed": 1750668836.8038888
      }

💻 开发

bash 复制代码
python3 -m uvicorn main:app --port 7860 --reload

⚡ 性能技巧

  • 对于较短的片段使用较快的 whisper,对于较快的处理使用 whisperx
  • 根据可用的 VRAM 调整 WHISPER_BATCH_SIZE
  • 对于仅使用 CPU 的系统,请使用较小的模型尺寸
  • 如果您不需要 srt 文件,您可以设置 ENABLE_ALIGNMENT=False 来提高处理速度。

项目地址: https://github.com/roothch/PreenCut/tree/main

作者的其他文章
IP地址配置HTTPS 内网IP配置HTTPS保姆教程
本文介绍了在Nginx中配置HTTPS的完整流程:1)使用OpenSSL生成自签名证书和私钥;2)解密私钥以避免重启时输入密码;3)配置Nginx支持HTTPS,包括指定证书路径、设置安全协议和加密套件等。适用于开发、测试和内网环境,但需注意自签名证书会触发浏览器警告,生产环境建议使用CA签发的正式证书。通过简单的命令和配置即可实现基本的HTTPS加密保护。
IP地址配置HTTPS 内网IP配置HTTPS保姆教程
Docker 数据目录迁移完整指南:从 /var/lib/docker 迁移到自定义路径
本文介绍了将 Docker 数据目录从 /var/lib/docker 迁移到自定义路径 /data2/docker/data 的完整过程,包括停止 Docker 服务、复制数据、修改配置文件及验证数据完整性。提供了常见问题的解决方案,帮助用户在空间不足时顺利迁移 Docker 数据。
Docker 数据目录迁移完整指南:从 /var/lib/docker 迁移到自定义路径
2025年必备:让Nginx配置清晰如诗的工具推荐
文章浏览阅读464次,点赞4次,收藏4次。本文介绍了格式化Nginx配置文件的重要性,指出良好格式能提升可读性、团队协作效率和降低错误风险。文章推荐了2025年优秀的在线格式化工具,这类工具应具备操作简单、专业格式化效果、安全保障等特性。建议将格式化工具集成到开发流程中,并制定团队规范,以优雅管理Nginx配置。文末推荐了一个专业在线格式化工具,帮助开发者高效处理配置文件。
2025年必备:让Nginx配置清晰如诗的工具推荐
Claude 命令大全:从入门到精通的终端操作指南(2025 最新)
本教程全面整理 *Claude 命令行(CLI)使用指南*,从基础启动命令、项目管理、权限控制、模型切换到高级思考模式,全方位提升开发者在终端中使用 Claude 的效率。适合新手与资深开发者收藏参考。
Claude 命令大全:从入门到精通的终端操作指南(2025 最新)
屏幕检测专家 — 专业的在线屏幕测试工具
屏幕检测专家 — 专业的在线屏幕测试工具
屏幕检测专家 — 专业的在线屏幕测试工具
Keye-VL-1.5-8B(快手 Keye-VL)— 腾讯云两卡 32GB GPU **保姆级** 部署指南(Ubuntu 22.04 / CUDA 12.2 / Driver 535.216.01 / Python 3.10)
保姆级教程:在腾讯云两卡 32GB GPU(Ubuntu 22.04 / CUDA 12.2)上完整部署快手 Keye-VL-1.5-8B。包含驱动安装、conda 环境、PyTorch、bitsandbytes、vLLM、ModelScope 模型下载与 Gradio demo 运行步骤及常见排错。适合工程复现与上线优化。
Keye-VL-1.5-8B(快手 Keye-VL)— 腾讯云两卡 32GB GPU **保姆级** 部署指南(Ubuntu 22.04 / CUDA 12.2 / Driver 535.216.01 / Python 3.10)
Ubuntu系统ECS重启后“/etc/resolv.conf”被还原怎么办?
处理方法 在处理前,建议先禁用systemd-resolved服务。 方法一:手动修改/etc/resolv.conf文件。 以root用户登录ECS。 关闭并禁用systemd-resolved服务
共享打印机报错连不上怎么办?修复错误代码(0x000006d9/0x0000011b 等)最新Win10/11 共享打印机常见问题 + 解决教程,附工具!
Win11 打印机共享报错全面修复指南:涵盖 0x000006d9、0x0000011b、0x0000007e 等常见码,并提供一键 PowerShell 工具,十分钟内搞定老款惠普共享打印机。
共享打印机报错连不上怎么办?修复错误代码(0x000006d9/0x0000011b 等)最新Win10/11 共享打印机常见问题 + 解决教程,附工具!
实战Spring Boot + Vue 集成 Activiti 工作流引擎 | 双模式简单 & 自定义审批平台
基于 Spring Boot 与 Vue 的高效工作流平台,支持简单模式与自定义模式双引擎,在线流程建模、版本管理、审批节点灵活配置,多渠道消息通知,Docker/K8s 部署,高可用与可扩展。
2025 年国内 Docker/DockerHub 镜像源加速列表(7 月 28 日更新 · 长期维护)
2025 年最新国内 Docker Hub 镜像源加速列表,包含轩辕镜像、腾讯云、阿里云、DaoCloud、AtomHub 等多家稳定 CDN 服务,附详细配置教程与常见问题说明,适用于 Linux、macOS、Windows 平台。
2025 年国内 Docker/DockerHub 镜像源加速列表(7 月 28 日更新 · 长期维护)