YM-MediaToolkit(媒体处理工具集)

🎬 自然语言视频处理与 AI 字幕工具

自然语言驱动的视频处理助手,集成 FFmpeg 实现压缩、封面提取、音频转换及 AI 字幕识别,支持同步/异步调用与 JSON 流水线

收藏
5.3k
安装
1.1k
版本
4.2.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

YM MediaToolkit 是一款面向开发者和内容创作者的自然语言媒体处理工具,基于 Python 和 FFmpeg 构建,提供从视频压缩、封面提取、音频转换到 AI 字幕识别的完整媒体处理链路。

核心用法

工具支持三种调用模式:CLI 命令行、HTTP API 服务和自然语言聊天接口。CLI 适合脚本自动化和本地批量处理;HTTP 服务(默认 127.0.0.1:8080)提供 RESTful API,支持同步即时返回和异步长任务(Job)模式;chat 动作则允许用自然语言描述需求,如"将 sample.mp4 提取音频",系统自动解析意图并执行对应操作。

关键功能包括:视频压缩(自适应 CRF 或指定参数)、MP4/MOV 封面提取(支持时间点/帧号定位)、多格式音频提取(MP3/WAV/AAC/M4A)、ASR 语音识别(faster-whisper)、OCR 画面字幕识别(PaddleOCR),以及 fusion 融合模式。字幕识别支持二次分句(caption_segment),可设置最大字符数和保护术语,适合短视频字幕精细化处理。

4.2.0+ 版本引入异步 Job 系统,耗时任务(压缩、字幕识别、流水线)可异步提交,通过轮询获取结果,避免 HTTP 超时。pipeline 支持 JSON 定义多步骤处理流程,实现元数据提取→封面→音频→字幕的自动化流水线。

显著优点

  • 自然语言交互:降低使用门槛,非技术用户也能快速上手
  • 双模式执行:同步接口即时响应,异步 Job 处理长任务,兼顾灵活性与稳定性
  • AI 字幕能力:集成 Whisper 和 PaddleOCR,支持 ASR/OCR/Fusion 三种识别策略
  • 安全路径管控:本地文件访问通过 media_roots 白名单机制隔离,防止任意文件读取
  • 协议稳定性:4.1.0+ 版本统一返回 status/code/reply/hint 字段,便于下游系统集成
  • 输出管理规范:默认目录结构清晰,支持 overwrite 策略控制

潜在局限

  • 平台依赖:核心功能依赖 FFmpeg/FFprobe 系统安装,Windows 环境配置较复杂
  • AI 模型体积:faster-whisper 和 PaddlePaddle 模型占用磁盘空间较大,首次安装耗时
  • 异步状态持久化:Job 状态存于本地 JSON 文件,无数据库后端,不适合分布式多实例部署
  • 字幕识别资源消耗:ASR/OCR 对 GPU/CPU 要求较高,长视频处理可能缓慢
  • 容器格式限制:封面提取目前仅支持 MP4/MOV,MKV/AVI 等格式需先转封装

适合人群

  • 短视频创作者:批量提取封面、生成字幕、压缩上传
  • 开发者/运维:构建媒体处理微服务,集成到内容管理系统
  • 数据标注团队:视频转音频、字幕识别与分句,用于 NLP 训练数据准备
  • 企业内容中台:标准化视频处理流程,通过流水线实现自动化

常规风险

  • 路径遍历风险:虽通过 media_roots 限制,但配置不当(如授权根目录 /C:\)可能导致敏感文件暴露
  • 命令注入:底层调用 FFmpeg,若参数过滤不严存在潜在注入风险(当前版本未明确展示参数校验逻辑)
  • 资源耗尽:异步 Job 无内置并发限制,大量压缩/识别任务可能耗尽磁盘和计算资源
  • 模型安全:依赖第三方 AI 模型,存在供应链风险;OCR 识别可能捕获敏感画面信息
  • 服务暴露:默认仅绑定 127.0.0.1,若改为 0.0.0.0 且无认证,存在未授权访问风险

建议生产环境启用反向代理、限制并发、定期清理 Job 历史,并谨慎配置 media_roots 白名单。

YM-MediaToolkit(媒体处理工具集) 内容

scripts文件夹
tests文件夹
手动下载zip · 59.3 kB
smoke_test.pytext/plain
请选择文件