منصوبے کے بارے میں
# SRT وائٹ بورڈ اینیمیشن Skill
یہ Skill SRT سب ٹائٹلز کو بیانیہ ترتیب کے مطابق وائٹ بورڈ پر ہاتھ سے بنے ویڈیو میں تبدیل کرتی ہے۔ یہ **حصوں کی ماسکنگ ترتیب** اور **مسلسل قلمی خاکہ نگاری** کو یکجا کرتی ہے: ہر عنصر سب ٹائٹل کے ساتھ ترتیب سے ظاہر ہوتا ہے، قلم کی نوک علاقے میں مسلسل لکیر کھینچتی ہے، پھر آہستہ آہستہ رنگ بھرا جاتا ہے، اور آخر میں MP4 بنتا ہے۔
یہ علمی وضاحتوں، کہانیوں، کورس سب ٹائٹلز یا مختصر ویڈیو اسکرپٹس کو گرم مٹیالے کاغذ پر ہاتھ سے بنے اینیمیشن میں بدلنے کے لیے موزوں ہے۔
## مثالی نتیجہ
**منظر: بندر پہاڑی پر کیلا چھیننا** — سب ٹائٹل کی بیانیہ ترتیب کے ساتھ، پہلے مصنوعی پہاڑی اور چھوٹا بندر، پھر کیلا چھیننے والا بڑا بندر، اور آخر میں دیکھنے والے بچے بنائے جاتے ہیں۔

اصل خاکہ: [PNG دیکھیں](examples/scene-01-monkey-mountain.png)۔
## بنیادی صلاحیتیں
- SRT سب ٹائٹلز کو پارس کرنا اور تجویز کردہ 25–35 سیکنڈ کے مناظر میں تقسیم کرنا
- پہلے اسٹوری بورڈ اور تصویری حکمت عملی دینا، تاکہ ہر منظر صرف ایک مرکزی خیال ظاہر کرے
- سب ٹائٹل ایونٹس کی بنیاد پر، نہ کہ تصویری کوآرڈینیٹس کی، عناصر کے لیے معنوی ترتیب بنانا
- `annotation.json` کے ذریعے علاقوں، اوقات، سب ٹائٹل ربط اور اوورلیپ تحفظ کا انتظام
- ہر علاقے میں مسلسل قلمی خاکہ: پہلے `ink` سے لکیریں، پھر `color` سے رنگ بھرنا
- براؤزر میں پیش نظارہ ٹیبل کے ذریعے علاقے، ترتیب، وقت اور سب ٹائٹل ربط میں ترمیم
- منظر بہ منظر رینڈرنگ اور کئی مناظر کو ملا کر مکمل MP4 بنانا
## طریقہ کار
اس Skill کی کلید "سب ٹائٹل سے چلنے والا، مرحلہ وار تصدیق" ہے۔ ہر مرحلے کے بعد تصدیق کا انتظار کیا جاتا ہے، تاکہ اسٹوری بورڈ، خاکے یا اینوٹیشن حتمی نہ ہونے پر رینڈرنگ کے اخراجات ضائع نہ ہوں:
1. SRT پارس کریں اور اسٹوری بورڈ و تصویری حکمت عملی دیں۔
2. تصدیق کے بعد یکساں انداز کے خاکے بنائیں۔
3. خاکوں کی تصدیق کے بعد، سب ٹائٹلز اور اصل تصویر کی بنیاد پر اینوٹیشن بنائیں اور پیش نظارہ ٹیبل میں لوڈ کریں۔
4. اینوٹیشن کی تصدیق کے بعد، علاقوں اور سمتوں کی جانچ کی تصویر بنائیں۔
5. پیش نظارہ ٹیبل میں علاقے، بیانیہ ترتیب، اوقات اور سب ٹائٹل ربط کو ایڈجسٹ کر کے محفوظ کریں۔
6. حتمی اینوٹیشن کی تصدیق کے بعد، منظر بہ منظر MP4 رینڈر کریں۔
7. کئی مناظر والے پروجیکٹ میں، ہر منظر کی تصدیق کے بعد انہیں ملا دیں۔
## بصری معیارات
- گرم مٹیالا کاغذی پس منظر: تجویز `#F5EBD7`
- گہرے بھوری رنگ کی خاکہ لکیریں، سرخ، نارنجی اور نیلا صرف معمولی تصوراتی جھلک کے لیے
- انتہائی سادہ ہاتھ سے بنی تصویریں، صاف پس منظر اور کافی خالی جگہ
- منظر میں متن، لیبل، فوٹو گرافی کا احساس، 3D اثرات یا پیچیدہ ساخت کا استعمال نہ کریں
## انسٹالیشن اور ماحول
Skill کے ساتھ ایک علیحدہ Python ورچوئل ماحول تیار کرنے کا اسکرپٹ شامل ہے۔ پہلی بار چلانے پر:
```bash
python scripts/prepare_env.py --check
python scripts/prepare_env.py
```
کامیابی کے بعد پہلا کمانڈ `ENV_PY=<پاتھ>` دکھائے گا؛ بعد میں رینڈرنگ کے لیے اسی انٹرپریٹر کا استعمال کریں تاکہ ڈیپنڈنسیز الگ رہیں۔
## پروجیکٹ مواد کی ساخت
```text
assets/whiteboard/<پروجیکٹ کا نام>/
├── scene-01-<نام>.png
├── scene-01-<نام>.annotation.json
├── scene-01-<نام>-whiteboard.mp4
└── scene-01-<نام>-preview.mp4
```
تصویر اور اینوٹیشن کا نام ایک جیسا ہونا چاہیے، مثلاً `scene-01-demo.png` کے ساتھ `scene-01-demo.annotation.json`۔
## اینوٹیشن فارمیٹ
ہر عنصر اصل تصویر کے عددی پکسل کوآرڈینیٹس استعمال کرتا ہے، اور `sequence`، `subtitle` اور `narrativeRole` کے ذریعے سب ٹائٹل کے واقعات سے جڑا ہوتا ہے۔ علاقوں کو "منظر کی تیاری → اہم کردار/چیز → عمل یا تبدیلی → ردعمل/نتیجہ" کی ترتیب میں رکھا جانا چاہیے۔
```json
{
"sceneId": "scene-01",
"canvas": { "width": 1672, "height": 941 },
"storyBasis": "چھوٹا بندر بندر پہاڑی پر کیلا لیے بیٹھا ہے، بڑا بندر کیلا چھین لیتا ہے، بچے دیکھ رہے ہیں۔",
"sceneDurationMs": 9000,
"elements": [
{
"id": "rockery",
"label": "بندر پہاڑی منظر",
"sequence": 1,
"narrativeRole": "کہانی کے منظر کی تیاری",
"subtitle": "چھوٹا بندر بندر پہاڑی کی چوٹی پر بیٹھا ہے، ہاتھ میں کیلا ہے۔",
"type": "structure",
"region": { "x": 20, "y": 120, "width": 540, "height": 780 },
"reveal": {
"direction": "top_to_bottom",
"startMs": 300,
"durationMs": 2600,
"maskPaddingPx": 22,
"protectedRegions": []
},
"handPath": { "start": [290, 130], "end": [290, 890], "easing": "easeInOut" }
}
]
}
```
`direction` اور `handPath` پیش نظارہ ٹیبل میں مستطیل نمائندگی کے لیے ہیں؛ حتمی ویڈیو کی حقیقی لکیریں خودکار اسٹریمنگ رینڈرر بناتا ہے۔ ایک دوسرے کو ڈھانپنے والی چیزوں کے لیے، پہلے عنصر کے `protectedRegions` میں ان علاقوں کو نشان زد کریں جنہیں بعد میں دکھانا ہے، تاکہ بعد والا مواد پہلے ظاہر نہ ہو۔
## عام کمانڈز
سب ٹائٹلز پارس کر کے تجویز کردہ اسٹوری بورڈ بنائیں:
```bash
python scripts/parse_srt.py <سب ٹائٹل.srt> --target-sec 30 --min-sec 25 --max-sec 35
```
علاقوں کی جانچ کی تصویر بنائیں:
```bash
python scripts/render_annotation_preview.py <تصویر کا پاتھ> <اینوٹیشن کا پاتھ> <پیش نظارہ تصویر کا آؤٹ پٹ پاتھ>
```
`assets/preview.html` کھولیں، "فولڈر کھولیں" سے منظر کا ڈائریکٹری لوڈ کریں، اور علاقے، ترتیب، وقت اور سب ٹائٹل ربط میں ترمیم کریں۔
ایک منظر رینڈر کریں:
```bash
<ENV_PY> scripts/render_stream_whiteboard.py <تصویر کا پاتھ> <اینوٹیشن کا پاتھ> <آؤٹ پٹ.mp4> assets/drawing-hand.png \
--ink-path grid --color-fill contour-wipe
```
کئی مناظر ملا دیں:
```bash
<ENV_PY> scripts/merge_scenes.py --inputs منظر1.mp4 منظر2.mp4 منظر3.mp4 --output final.mp4
```
## کوالٹی چیک
- پہلا فریم صاف گرم مٹیالا کاغذی رنگ کا ہو، بغیر کسی پہلے ظاہر ہونے والی لکیر کے
- `canvas` اصل تصویر کے سائز سے مماثل ہو، تمام علاقے کینوس کے اندر عددی پکسل کوآرڈینیٹس ہوں
- `sequence`، `startMs` اور سب ٹائٹل کی بیانیہ ترتیب ایک جیسی ہو
- درمیانی فریموں میں، غیر شروع شدہ علاقے اور محفوظ علاقے پہلے ظاہر نہ ہوں
- قلم کی نوک موجودہ اسٹریمنگ لکیر کے قریب ہو؛ اگر خاکہ واضح ہو تو `--ink-path skeleton` منتخب کریں
- ہر منظر کے بعد کم از کم 0.5 سیکنڈ مکمل تصویر رکے؛ کئی مناظر کی ترتیب سب ٹائٹل اسٹوری بورڈ سے مماثل ہو
## ریپوزٹری کا مواد
```text
srt-whiteboard-animation/
├── SKILL.md # مکمل ورک فلو اور پابندیاں
├── assets/
│ ├── drawing-hand.png # ہاتھ کا مواد
│ ├── preview.html # مقامی ایڈیٹنگ پیش نظارہ ٹیبل
├── examples/ # README کی مثالیں
├── scripts/
│ ├── parse_srt.py # سب ٹائٹل پارسنگ اور اسٹوری بورڈ تجاویز
│ ├── render_annotation_preview.py # اینوٹیشن جانچ کی تصویر
│ ├── render_stream_whiteboard.py # اسٹریمنگ خاکہ MP4 رینڈرر
│ ├── merge_scenes.py # کئی مناظر کا انضمام
│ └── prepare_env.py # ڈیپنڈنسی ماحول کی تیاری
└── agents/openai.yaml # Codex میٹا ڈیٹا
```
## شراکت
Issue یا Pull Request جمع کرانے کا خیر مقدم ہے۔ ڈرائنگ منطق میں کسی بھی تبدیلی کے لیے، حقیقی سب ٹائٹلز، اینوٹیشنز اور حتمی ویڈیو سے ماسکنگ تحفظ، اوقات اور حتمی تصویر کی جانچ کریں۔
## لائسنس
یہ پروجیکٹ MIT License کے تحت کھلا ہے، تفصیل [LICENSE](LICENSE) میں دیکھیں۔
## مصنف کے بارے میں
ایک بوڑھا جو مچھلی پالتا ہے / AI Builder / AI ٹیم سے ون پرسن کمپنی بنانے والا۔
Douyin، Bilibili، WeChat: جیانگ گے ہے بوڑھا
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.