Metadata-Version: 2.2
Name: pyjianyingdraft
Version: 0.3.0
Summary: 轻量、灵活、易上手的Python剪映草稿生成及导出工具，构建全自动化视频剪辑/混剪流水线
Home-page: https://github.com/GuanYixuan/pyJianYingDraft
Author: gary318
Classifier: Programming Language :: Python :: 3
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Multimedia :: Video
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pymediainfo
Requires-Dist: imageio
Requires-Dist: uiautomation>=2; sys_platform == "win32"
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

<!-- Generated from README.md by tools/generate_pypi_readme.py. Do not edit directly. -->

# pyJianYingDraft
### 轻量、灵活、易上手的Python剪映草稿生成及导出工具，构建全自动视频剪辑/混剪流水线！

> 🧪 本项目的**CapCut版本**正在开发中，欢迎关注[CapCut版本仓库](https://github.com/GuanYixuan/pyCapCut)

> 📢 欢迎加入[Discord服务器](https://discord.gg/WfHgGQvhyW)进行用法或新功能的讨论

## 使用思路
![使用思路](https://github.com/GuanYixuan/pyJianYingDraft/raw/main/readme_assets/%E4%BD%BF%E7%94%A8%E6%80%9D%E8%B7%AF.jpg)

# 功能清单

> 🧪 目前处在的`0.3.0`版本经历了大规模更新，若有相关功能问题欢迎提出issue

### 视频与图片
| 功能名称 | 5.9 支持状态 | 新版剪映支持状态 |
|---|---|---|
| 本地视频/图片素材与时间控制 | ✅ | 10.8 ✅ |
| 视频整体调节 | ✅ | 10.8 ✅ |
| 视频关键帧 | ✅ | 10.8 ✅ |
| 视频蒙版 | ✅ | 10.8 ✅ |
| 视频色度抠图 | ✅ | 10.8 ✅ |
| 视频背景填充[(示例代码)](https://github.com/GuanYixuan/pyJianYingDraft/blob/main/demo.py) | ✅ | 10.8 ✅ |
| 视频混合模式 | ✅ | 10.8 ✅ |

### 贴纸

| 功能名称 | 5.9 支持状态 | 新版剪映支持状态 |
|---|---|---|
| 贴纸 | ✅ | 10.8 ✅ |
| 贴纸关键帧 | ✅ | 10.8 ✅ |

### 音频

| 功能名称 | 5.9 支持状态 | 新版剪映支持状态 |
|---|---|---|
| 本地音频素材与时间控制 | ✅ | 10.8 ✅ |
| 音频淡入淡出与音量 | ✅ | 10.8 ✅ |
| 音频场景音、音色效果 | ✅ | 10.8 ✅ |
| 音频声音成曲效果 | ❌<br>不生效 | 10.8 ✅ |

### 轨道

| 功能名称 | 5.9 支持状态 | 新版剪映支持状态 |
|---|---|---|
| 添加轨道与添加片段 | ✅ | 10.8 ✅ |
| 轨道顺序控制 | ✅ | 10.8 🟡<br>从其它草稿导入的轨道可能存在顺序问题 |

### 特效、滤镜和转场
> ⚠️ 剪映在打开草稿时会尝试自动下载未缓存的动画/特效/转场等，但有可能会超时，表现为“xx加载失败”，**这个问题在5.9上出现较多**

| 功能名称 | 5.9 支持状态 | 新版剪映支持状态 |
|---|---|---|
| 视频片段动画 | ✅ | 10.8 ✅ |
| 视频片段特效 | ✅ | 10.8 ✅ |
| 视频片段滤镜 | ✅ | 10.8 ✅ |
| 独立轨道特效 | ✅ | 10.8 ✅ |
| 独立轨道滤镜 | ✅ | 10.8 ✅ |
| 转场[(示例代码)](https://github.com/GuanYixuan/pyJianYingDraft/blob/main/demo.py) | ✅ | 10.8 ✅ |

### 文本及字幕

| 功能名称 | 5.9 支持状态 | 新版剪映支持状态 |
|---|---|---|
| 文本与样式 | ✅ | 10.8 ✅ |
| 字体 | 🟡<br>未缓存的字体需要二次打开草稿 | 10.8 🟡<br>未缓存的字体需要二次打开草稿 |
| 文本关键帧 | ✅ | 10.8 ✅ |
| 文本动画 | ✅ | 10.8 ✅ |
| 文字描边、背景和阴影 | ✅ | 10.8 ✅ |
| 文字气泡效果和花字效果[(示例代码)](https://github.com/GuanYixuan/pyJianYingDraft/blob/main/demo.py) | ✅ | 10.8 ✅ |
| 文本自动换行 | ✅ | 10.8 ✅ |
| 导入 `.srt` 字幕 | ✅ | 10.8 ✅ |


### 模板模式
> ⚠️ 新版剪映中的 `draft_content.json` 往往不是可直接读取的明文 JSON；因此“加载模板”相关能力在新版剪映上通常需要通过 `DraftFolder(..., fallback_loader=...)` 接入额外读取器，详请请参见[此处](https://github.com/GuanYixuan/pyJianYingDraft/releases/tag/0.2.7)

| 功能名称 | 5.9 支持状态 | 新版剪映支持状态 |
|---|---|---|
| 加载 `draft_content.json` 文件作为模板 | ✅ | 10.8 🟡<br>需 `fallback_loader` |
| 替换音视频片段的素材 | ✅ | 10.8 🟡<br>依赖模板可读 |
| 修改文本片段的文本内容 | ✅ | 10.8 🟡<br>依赖模板可读 |
| 将模板草稿中的音视频/文本轨道整体导入到另一草稿中 | ✅ | 10.8 🟡<br>依赖模板可读 |
| 提取模板中出现的贴纸/气泡/花字等元信息 | ✅ | 10.8 🟡<br>依赖模板可读 |

### 批量导出
> ⚠️ 自动导出依赖旧版剪映可见控件；新版（7及以上）剪映通常不再满足这一前提

| 功能名称 | 5.9 支持状态 | 新版剪映支持状态 |
|---|---|---|
| 控制剪映打开指定草稿 | ✅ | 6.8（剪映6及以下）✅<br>10.8（剪映7及以上）❌ |
| 导出草稿至指定位置 | ✅ | 6.8（剪映6及以下）✅<br>10.8（剪映7及以上）❌ |
| 调节导出分辨率和帧率 | ✅ | 6.8（剪映6及以下）✅<br>10.8（剪映7及以上）❌ |


# 安装
pyJianYingDraft现已支持pip安装（不含demo），推荐使用开发时测试的Python版本3.8或3.11
```
pip install pyJianYingDraft
```

> ℹ 关于剪映5.9版本的自动升级问题，可参见[相关issue](https://github.com/GuanYixuan/pyJianYingDraft/issues/115)

### 跨平台兼容性
- **Windows**：支持包括草稿生成、模板模式和自动导出在内的所有功能（具体可能受到剪映版本限制）
- **Linux/MacOS**：支持草稿生成和模板模式，但**不支持自动导出**，且注意**生成的草稿仍然需要在Windows版剪映下导出**。
