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

🎬 自然语言驱动的全能媒体处理助手

基于FFmpeg的多功能媒体处理工具,支持自然语言调用、视频压缩、音频提取、封面生成及AI字幕识别,适合本地化媒体工作流自动化。

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

使用说明

核心用法

YM MediaToolkit 是一款以 Python 驱动的本地媒体处理工具,底层依赖 FFmpeg/FFprobe,支持命令行与 HTTP 服务两种调用模式。核心设计理念是自然语言驱动,用户可通过 chat action 直接输入口语化指令(如"将 sample.mp4 提取音频"),系统自动解析意图并路由至对应功能。

主要功能矩阵

  • 视频压缩:自适应 CRF 编码,目标体积比例可调
  • 封面提取:支持 MP4/MOV 容器,按时间点或帧号截取
  • 音频转换:MP3/WAV/AAC/M4A 四格式,支持码率、采样率、声道自定义
  • 字幕识别:ASR(faster-whisper)+ OCR(PaddleOCR)双引擎,fusion 模式智能融合
  • 批量处理batchaudio_batch 支持多文件队列
  • JSON 流水线pipeline action 实现多步骤编排,生成 manifest 审计日志

输入安全模型:远程仅限 http/https;本地默认限制在当前工作目录,绝对路径需通过 media_roots 白名单或 YM_MEDIA_ROOTS 环境变量授权。

显著优点

1. 自然语言接口:降低非技术用户门槛,Claw 集成友好
2. 协议稳定性:4.1.0 版本统一返回 status/code/reply/hint 四元组,利于上游系统容错

3. AI 字幕双引擎:ASR 负责时间轴与语音,OCR 校正画面硬字幕,fusion 模式提升准确率

4. 审计可追溯:pipeline 自动生成 manifest.json,满足合规场景

5. 覆盖策略可控:全局 overwrite 参数防止误操作

潜在缺点与局限性

  • 系统依赖重:需预装 FFmpeg、FFprobe,字幕功能额外依赖 PyTorch 生态(faster-whisper、PaddlePaddle),首次部署体积大
  • 硬件门槛:ASR/OCR 推理需 GPU 或充足 CPU 资源,低配机器体验差
  • 容器兼容性:MP4/MOV 封面提取明确限制 H.264/H.265 轨道,其他编码格式可能失败
  • 安全模型局限:HTTP 服务默认仅绑 127.0.0.1,但无内置认证机制,暴露公网需额外防护
  • 错误码粒度:虽定义了稳定错误码,但 ffmpeg_failed 等码涵盖场景过宽,排障仍需人工查看日志

适合人群

  • 内容创作者/剪辑师:快速提取素材音频、生成封面、压制小样
  • 开发者/DevOps:构建自动化媒体流水线,JSON 驱动便于 CI/CD 集成
  • AI 应用开发者:需结构化字幕数据(SRT-like JSON)作为下游 NLP 输入
  • 企业合规团队:manifest 审计日志满足媒体处理可追溯需求

常规风险

| 风险类别 | 说明 | 缓解建议 |
|---------|------|---------|
| 路径遍历 | `media_roots` 配置不当可能导致越权访问 | 严格限制白名单目录,禁止配置根目录 `/` |
| 资源耗尽 | 大视频处理或并发 ASR/OCR 导致内存/显存溢出 | 单机单任务执行,或配合任务队列限流 |
| 依赖供应链 | faster-whisper、paddlepaddle 等第三方库更新可能引入 breaking change | 锁定 requirements.txt 版本,定期回归测试 |
| 隐私泄露 | 敏感视频经 ASR/OCR 处理产生文本痕迹 | 本地部署优先,避免上传云端;及时清理输出目录 |

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

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