feat: 为图片遮罩新增 KenBurns 效果及视频阶段并发优化
- capcut_assemble: 添加 KenBurns 效果支持(慢速推拉动画) - phase-videos: 区分"无任务"与"已有 video"的日志输出,避免误报跳过 - 张不苦账号提示词文档精简(拆分/图片提词/遮罩提词词) - 新增 CHANGELOG.md 和 CONSTRAINT_ENGINE.md 约束引擎文档 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -27,6 +27,7 @@ const {
|
||||
addSubtitles,
|
||||
consolidateTracks,
|
||||
addEffects, addFilter,
|
||||
addKenBurns,
|
||||
} = require('./lib/capcut-tracks')
|
||||
const { saveManifest } = require('./lib/pipeline-utils')
|
||||
const { syncDraft, registerDraft } = require('./sync-to-jianying')
|
||||
|
||||
@@ -39,7 +39,14 @@ async function phaseVideos(manifest, manifestPath, options) {
|
||||
}
|
||||
items.push(it)
|
||||
}
|
||||
if (items.length === 0) { log('videos', '无待处理 item,跳过'); return }
|
||||
|
||||
const pendingItems = items.filter(it => !it.video)
|
||||
if (pendingItems.length === 0) {
|
||||
// 有 videoCandidates 但全部已有 video → 直接返回(不打印跳过消息)
|
||||
return
|
||||
}
|
||||
|
||||
log('videos', `共 ${pendingItems.length} 个待处理`)
|
||||
|
||||
// 选择生成器
|
||||
let Api, pollFn
|
||||
@@ -103,7 +110,7 @@ async function phaseVideos(manifest, manifestPath, options) {
|
||||
|
||||
// Phase 2: 提交新任务(并发 3)
|
||||
const concurrency = 3
|
||||
log('videos', `提交 ${needSubmit.length} 个新任务(并发: ${concurrency})...`)
|
||||
log('videos', `共 ${needSubmit.length} 个新任务(并发: ${concurrency})...`)
|
||||
|
||||
const submitted = []
|
||||
for (let i = 0; i < needSubmit.length; i += concurrency) {
|
||||
|
||||
Reference in New Issue
Block a user