@dsh-gis/dsh-video-studio-skill 0.8.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +582 -0
- package/README.md +287 -304
- package/THIRD_PARTY_NOTICES.md +1 -1
- package/package.json +11 -10
- package/schemas/design.schema.json +722 -0
- package/schemas/film.schema.json +171 -15
- package/schemas/proposal.schema.json +133 -0
- package/skills/video-studio/SKILL.md +1316 -1066
- package/skills/video-studio/assets/design_fixture.json +141 -0
- package/skills/video-studio/assets/film.json +1 -2
- package/skills/video-studio/assets/golden_frames.json +12 -9
- package/skills/video-studio/assets/scenes.py +2207 -1190
- package/skills/video-studio/assets/voice_loudness.json +16 -0
- package/skills/video-studio/references/audio-variation.md +15 -11
- package/skills/video-studio/references/audio.md +36 -34
- package/skills/video-studio/references/change-impact.md +3 -3
- package/skills/video-studio/references/frame-qa.md +2 -2
- package/skills/video-studio/references/proposal.md +177 -0
- package/skills/video-studio/references/quality-gates.md +2 -2
- package/skills/video-studio/references/scene-grammar.md +311 -0
- package/skills/video-studio/references/sfx-design.md +1 -1
- package/skills/video-studio/references/style-packs.md +107 -168
- package/skills/video-studio/references/v08-quality.md +8 -8
- package/skills/video-studio/references/web-engine.md +1 -1
- package/skills/video-studio/references/word-timeline.md +2 -2
- package/skills/video-studio/scripts/designkit.py +2120 -0
- package/skills/video-studio/scripts/filmcheck.py +104 -33
- package/skills/video-studio/scripts/filmkit.py +153 -78
- package/skills/video-studio/scripts/grammar.py +619 -0
- package/skills/video-studio/scripts/musicgen.py +2043 -0
- package/skills/video-studio/scripts/preflight.py +10 -3
- package/skills/video-studio/scripts/previewkit.py +849 -0
- package/skills/video-studio/scripts/propose.py +825 -0
- package/skills/video-studio/scripts/qa_frames.py +45 -10
- package/skills/video-studio/scripts/qavmaf.py +77 -11
- package/skills/video-studio/scripts/render.py +505 -142
- package/skills/video-studio/scripts/scorekit.py +50 -1748
- package/skills/video-studio/scripts/selfcheck.py +851 -115
- package/skills/video-studio/scripts/stagewatch.py +21 -5
- package/skills/video-studio/scripts/stylekit.py +293 -570
- package/skills/video-studio/scripts/voicekit.py +502 -380
- package/skills/video-studio/scripts/webengine.py +15 -14
- package/tools/audio_similarity.py +57 -30
- package/tools/ci_check.py +9 -1
- package/tools/estimate.py +14 -8
- package/tools/golden_frames.py +56 -11
- package/tools/silhouette_qa.py +1263 -0
- package/docs/demo-pil-sheet.png +0 -0
- package/docs/styles/demo-results.json +0 -76
- package/docs/styles/sheet-8-styles.png +0 -0
- package/docs/styles/sheet-ai.png +0 -0
- package/docs/styles/sheet-craft.png +0 -0
- package/docs/styles/sheet-night.png +0 -0
- package/skills/video-studio/assets/score_demo.json +0 -307
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": 1,
|
|
3
|
+
"id": "fixture-golden",
|
|
4
|
+
"label": "金帧基准设计",
|
|
5
|
+
"pitch": "验收基准:固定设计,用于像素回归(不是给人看的方案)",
|
|
6
|
+
"structure": {
|
|
7
|
+
"segments": 4,
|
|
8
|
+
"beats": [
|
|
9
|
+
"hook",
|
|
10
|
+
"body",
|
|
11
|
+
"body",
|
|
12
|
+
"outro"
|
|
13
|
+
],
|
|
14
|
+
"hold_policy": "readable",
|
|
15
|
+
"target_sec": 30.0
|
|
16
|
+
},
|
|
17
|
+
"visual": {
|
|
18
|
+
"palette": {
|
|
19
|
+
"bg": [
|
|
20
|
+
7,
|
|
21
|
+
14,
|
|
22
|
+
26
|
|
23
|
+
],
|
|
24
|
+
"bg2": [
|
|
25
|
+
17,
|
|
26
|
+
33,
|
|
27
|
+
54
|
|
28
|
+
],
|
|
29
|
+
"surface": [
|
|
30
|
+
26,
|
|
31
|
+
42,
|
|
32
|
+
64
|
|
33
|
+
],
|
|
34
|
+
"ink": [
|
|
35
|
+
230,
|
|
36
|
+
216,
|
|
37
|
+
207
|
|
38
|
+
],
|
|
39
|
+
"muted": [
|
|
40
|
+
178,
|
|
41
|
+
157,
|
|
42
|
+
143
|
|
43
|
+
],
|
|
44
|
+
"dim": [
|
|
45
|
+
153,
|
|
46
|
+
135,
|
|
47
|
+
122
|
|
48
|
+
],
|
|
49
|
+
"accent": [
|
|
50
|
+
230,
|
|
51
|
+
106,
|
|
52
|
+
23
|
|
53
|
+
],
|
|
54
|
+
"accent2": [
|
|
55
|
+
92,
|
|
56
|
+
230,
|
|
57
|
+
216
|
|
58
|
+
],
|
|
59
|
+
"good": [
|
|
60
|
+
71,
|
|
61
|
+
178,
|
|
62
|
+
98
|
|
63
|
+
],
|
|
64
|
+
"bad": [
|
|
65
|
+
178,
|
|
66
|
+
97,
|
|
67
|
+
89
|
|
68
|
+
],
|
|
69
|
+
"rule": [
|
|
70
|
+
255,
|
|
71
|
+
255,
|
|
72
|
+
255
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
"family": "sans",
|
|
76
|
+
"typography": {
|
|
77
|
+
"tracking": 0.0,
|
|
78
|
+
"line_gap": 1.3,
|
|
79
|
+
"number": "dim",
|
|
80
|
+
"ratio": 1.5,
|
|
81
|
+
"align": "left"
|
|
82
|
+
},
|
|
83
|
+
"motif": {
|
|
84
|
+
"kind": "brackets",
|
|
85
|
+
"density": 1.0,
|
|
86
|
+
"detail": {}
|
|
87
|
+
},
|
|
88
|
+
"transition": {
|
|
89
|
+
"kind": "dip",
|
|
90
|
+
"dur": 0.28
|
|
91
|
+
},
|
|
92
|
+
"motion": {
|
|
93
|
+
"ease": "out3",
|
|
94
|
+
"enter": [
|
|
95
|
+
0.45,
|
|
96
|
+
0.85
|
|
97
|
+
],
|
|
98
|
+
"push": 0.04,
|
|
99
|
+
"breathe_hz": 0.85
|
|
100
|
+
},
|
|
101
|
+
"bias": {
|
|
102
|
+
"x": 0,
|
|
103
|
+
"y": 0,
|
|
104
|
+
"inset": 0
|
|
105
|
+
},
|
|
106
|
+
"layout": "left-stack",
|
|
107
|
+
"hud": "chip-left",
|
|
108
|
+
"size": "1920x1080",
|
|
109
|
+
"fps": 30
|
|
110
|
+
},
|
|
111
|
+
"audio": {
|
|
112
|
+
"voice": {
|
|
113
|
+
"mode": "edge_id",
|
|
114
|
+
"id": "zh-CN-YunyangNeural",
|
|
115
|
+
"map": {},
|
|
116
|
+
"jitter": 0.0,
|
|
117
|
+
"max_distinct": 1
|
|
118
|
+
},
|
|
119
|
+
"music": {
|
|
120
|
+
"mode": "params",
|
|
121
|
+
"style": "tech-deep",
|
|
122
|
+
"scale": "minor",
|
|
123
|
+
"bpm": 96.0,
|
|
124
|
+
"key": "Dm",
|
|
125
|
+
"mood": "steady",
|
|
126
|
+
"seed": 7
|
|
127
|
+
},
|
|
128
|
+
"sfx": {
|
|
129
|
+
"enabled": false,
|
|
130
|
+
"density": "none",
|
|
131
|
+
"gain_db": -6
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"pacing": {
|
|
135
|
+
"lead": 0.62,
|
|
136
|
+
"tail": 0.92,
|
|
137
|
+
"min_dur": 3.0,
|
|
138
|
+
"hold": 0.0,
|
|
139
|
+
"item_stagger": 0.3
|
|
140
|
+
}
|
|
141
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_comment": "
|
|
2
|
+
"_comment": "自测/演示样例剧本(仓库测试夹具,不是给用户抄的模板)。外观由 work/design.json 决定(propose.py --brief 现场生成后 --confirm 冻结);v1.0.1 起 style 字段已废弃。文本仅用于跑通全链与金帧/门禁回归,换题材请自己写 lines[]。",
|
|
3
3
|
"title": "测试片 demo",
|
|
4
4
|
"end_text": "完",
|
|
5
|
-
"style": "auto",
|
|
6
5
|
"voice": "zh-CN-YunxiNeural",
|
|
7
6
|
"rate": "+6%",
|
|
8
7
|
"pitch": "+0Hz",
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"fps": 30,
|
|
10
10
|
"script": "skills/video-studio/assets/film.json",
|
|
11
11
|
"scenes": "skills/video-studio/assets/scenes.py",
|
|
12
|
+
"design": "skills/video-studio/assets/design_fixture.json",
|
|
12
13
|
"font_fp": "05c853d0eb28bcca3125d81c1ce27c9436f66a55",
|
|
13
14
|
"fonts": [
|
|
14
15
|
{
|
|
@@ -24,7 +25,7 @@
|
|
|
24
25
|
"sha1": "5444a8bab4b57604f6420ea4e60194f41459f9f8"
|
|
25
26
|
}
|
|
26
27
|
],
|
|
27
|
-
"env_fp": "
|
|
28
|
+
"env_fp": "e4bca653965cf664adf46784abe93e8519df8d00",
|
|
28
29
|
"env": {
|
|
29
30
|
"python": "3.12.16",
|
|
30
31
|
"pillow": "13.0.0",
|
|
@@ -33,11 +34,13 @@
|
|
|
33
34
|
"platform": "Windows 11"
|
|
34
35
|
},
|
|
35
36
|
"inputs": {
|
|
36
|
-
"script_sha1": "
|
|
37
|
-
"scenes_sha1": "
|
|
38
|
-
"filmkit_sha1": "
|
|
39
|
-
"stylekit_sha1": "
|
|
40
|
-
"
|
|
37
|
+
"script_sha1": "9ad24749d19cf0fcec1b7fa62e906ed78ce5501b",
|
|
38
|
+
"scenes_sha1": "1ff8eaeed66c226a48875580d96d41ff6daad1e3",
|
|
39
|
+
"filmkit_sha1": "aca2f742ee4e7f7f2e99901a151864d8046d1547",
|
|
40
|
+
"stylekit_sha1": "869098c23a1d9e704a0ffacbc58da6c987712817",
|
|
41
|
+
"design_sha1": "f87cc13e4c55040d9de5675933c01aa8220134d1",
|
|
42
|
+
"designkit_sha1": "074b9705ae0f90a8b35162946142f8c28a3a39db",
|
|
43
|
+
"golden_tool_sha1": "da09795aaf3cb92bc9e14f9561bb64027917acbf"
|
|
41
44
|
},
|
|
42
45
|
"frames": [
|
|
43
46
|
{
|
|
@@ -45,21 +48,21 @@
|
|
|
45
48
|
"scene": "l01",
|
|
46
49
|
"t_local": 1.2,
|
|
47
50
|
"label": "hook",
|
|
48
|
-
"sha256": "
|
|
51
|
+
"sha256": "155eaa030a519b7ded1c49664e0007314f2a4dc4eb6ef1e4b69d3b70bae0b367"
|
|
49
52
|
},
|
|
50
53
|
{
|
|
51
54
|
"frame": 270,
|
|
52
55
|
"scene": "l03",
|
|
53
56
|
"t_local": 1.6,
|
|
54
57
|
"label": "body",
|
|
55
|
-
"sha256": "
|
|
58
|
+
"sha256": "9d205ae43f2632c78446d372d8f3194ecfb7a9634ca42c36943ce31fd6be7981"
|
|
56
59
|
},
|
|
57
60
|
{
|
|
58
61
|
"frame": 369,
|
|
59
62
|
"scene": "l04",
|
|
60
63
|
"t_local": 1.5,
|
|
61
64
|
"label": "outro",
|
|
62
|
-
"sha256": "
|
|
65
|
+
"sha256": "c3ccdbedc567402728677f9f4d7ccf62bb98930bebf52934b8bb2becb0e9fb4f"
|
|
63
66
|
}
|
|
64
67
|
]
|
|
65
68
|
}
|