# חיתוכי שוטים

> רכיב חיתוכי שוטים מוצא היכן כל שוט בסרטון מתחיל ונגמר, לפי הקובץ עצמו, ויכול לשמור את הפריים הראשון והאחרון של כל שוט כתמונות.

Source: https://nodaro.ai/he/docs/nodes/video/shot-cuts

רכיב **חיתוכי שוטים** מוצא היכן כל שוט בסרטון מתחיל והיכן הוא נגמר. הרכיב מחזיר רשימה של השוטים, עם ההתחלה, הסוף והאורך של כל שוט. כשהמתג **שמירת פריים ראשון ואחרון** מופעל, מקבלים גם את הפריים הראשון ואת הפריים האחרון של כל שוט כתמונות.

הרכיב מודד את הקובץ עצמו. כל פריים מפוענח מושווה לפריים שלפניו, ופריים שמשתנה בחדות אחרי רקע רגוע פותח שוט חדש. זה אותו כלל שרכיב [מסכת וידאו](https://nodaro.ai/docs/nodes/video/video-mask) משתמש בו כדי ליצור מסכה לסרטון שוט אחרי שוט.

הרכיב רץ מקומית, בלי מודל AI ובלי מפתח ספק, ולכן הוא עובד בכל מהדורה.

## מתי להשתמש
- לקבל את רשימת השוטים של עריכה, כגון פרסומת, טריילר או קליפ מוזיקלי, כדי לבנות אותה מחדש או לשנות את הסגנון שלה שוט אחרי שוט.
- לשמור תמונת סטילס של כל שוט, לשימוש כתמונת ייחוס למודלי תמונה או וידאו.
- למדוד את הקצב של עריכה, עם האורך של כל שוט במבט אחד.
- למצוא את נקודות החיתוך לפני רכיב [פיצול למקטעים](https://nodaro.ai/docs/nodes/video/split-into-chunks). האפשרות **שוטים** שלו חותכת סרטון באותן נקודות בדיוק.

## התחלה מהירה
### הוספת הרכיב
הקישו Tab על הקנבס ובחרו **וידאו › חיתוך והרכבה › חיתוכי שוטים**.

### חיבור הסרטון
חברו סרטון לקלט **וידאו**, למשל מרכיב [העלאת וידאו](https://nodaro.ai/docs/nodes/video/upload-video).

### בחירה אם לשמור פריימים
פתחו את חלונית ההגדרות. כדי לשמור פריים ראשון ופריים אחרון לכל שוט, הפעילו את המתג **שמירת פריים ראשון ואחרון**.

### הרצה
לחצו על **הרצה** ברכיב. הרכיב מציג את מספר השוטים ואת ההתחלה והסוף של כל שוט.

Workflow: רכיב חיתוכי שוטים מוצא את כל השוטים של פרסומת, ורכיב חילוץ שדה הופך אותם לרשימה בשביל הרכיבים הבאים.

- העלאת וידאו → חיתוכי שוטים (וידאו)
- חיתוכי שוטים → חילוץ שדה

## קלטים
| קלט | מה הוא מקבל | מה הוא עושה |
| --- | --- | --- |
| **וידאו** | רכיבי וידאו, כגון העלאת וידאו ויצירת וידאו | הסרטון למדידה: MP4, MOV, MKV או WebM, באורך של עד 30 דקות. נדרש. |

## פלטים
| פלט | מה הוא מעביר |
| --- | --- |
| **שוטים** | מספר השוטים, זמני החיתוכים, אורך הסרטון וכל השוטים, כמידע. |
| **פריימים ראשונים** | כשהמתג מופעל: רשימה של הפריים הראשון של כל שוט, ככתובות URL של תמונות, לפי סדר השוטים. |
| **פריימים אחרונים** | כשהמתג מופעל: רשימה של הפריים האחרון של כל שוט, ככתובות URL של תמונות, לפי סדר השוטים. |

הפלט **שוטים** נראה כך:

```json
{
"shotCount": 3,
"cutsSec": [2.5, 6.042],
"durationSec": 9,
"shots": [
{ "index": 0, "startSec": 0, "endSec": 2.5, "durationSec": 2.5, "firstFrameUrl": "https://…", "lastFrameUrl": "https://…" },
{ "index": 1, "startSec": 2.5, "endSec": 6.042, "durationSec": 3.542, "firstFrameUrl": "https://…", "lastFrameUrl": "https://…" },
{ "index": 2, "startSec": 6.042, "endSec": 9, "durationSec": 2.958, "firstFrameUrl": "https://…", "lastFrameUrl": "https://…" }
]
}
```

| שדה | משמעות |
| --- | --- |
| `cutsSec` | היכן כל שוט חדש מתחיל, בסדר עולה, אף פעם לא `0`. בסרטון עם שוט יחיד, הערך הוא `cutsSec: []`, ויש שוט אחד שמכסה את כל הסרטון. |
| `durationSec` | אורך הסרטון. השוט האחרון נגמר שם. |
| `startSec`, `endSec` | שניות מהפריים הראשון של הסרטון, ברמת דיוק של אלפית שנייה. |
| `firstFrameUrl`, `lastFrameUrl` | תמונות PNG, רק כשהמתג מופעל. הפריים האחרון הוא הפריים שלפני החיתוך הבא, או הפריים האחרון של הסרטון. בשוט של פריים אחד, הפריים הראשון והאחרון הם אותה תמונה. |

## הגדרות
| הגדרה | מה היא עושה |
| --- | --- |
| **שמירת פריים ראשון ואחרון** | כבוי כברירת מחדל. כשהמתג מופעל, הרכיב שומר גם את הפריים הראשון ואת הפריים האחרון של כל שוט כתמונות. המחיר זהה. הפריימים נשמרים בסרטונים עם עד 1,000 שוטים. |

### מה נחשב חיתוך
- **חיתוך חד** פותח שוט חדש: פריים אחד שונה בחדות מהפריימים שסביבו.
- **מעברים הדרגתיים הם לא חיתוכים.** דיזולב או עמעום לשחור פורסים את השינוי על פני פריימים רבים, ולכן השוטים משני הצדדים נספרים כשוט אחד.
- **הבזקים.** הבזק שנמשך שניים או שלושה פריימים וחוזר לאותה תמונה הוא לא חיתוך. הבזק של פריים אחד הוא חיתוך.
- **חיתוך יכול להתפספס** כששינוי גדול שני מגיע מיד אחריו, בתוך שלושה פריימים, כגון ויפ פאן.

## קרדיטים
רכיב חיתוכי שוטים עולה מחיר קבוע אחד לכל הרצה, עם פריימים או בלעדיהם, בלי קשר לאורך הסרטון. הכפתור **הרצה** ברכיב מציג את המחיר. מהדורת Community ומהדורת Business באירוח עצמי לא משתמשות בקרדיטים.

ההרצות האלה נכשלות, והקרדיטים מוחזרים:

- קובץ שהוא לא סרטון קריא.
- קובץ גדול מ-10.7 GiB בערך. ההורדה נעצרת שם.
- סרטון ארוך מ-30 דקות. קצצו אותו לפני כן.
- כשהמתג מופעל, סרטון עם יותר מ-1,000 שוטים. כבו את המתג כדי לקבל רק את הזמנים, או קצצו את הסרטון.

## טיפים
- **קריאת הזמנים של שוט אחד.** חברו את הפלט **שוטים** לרכיב [חילוץ שדה](https://nodaro.ai/docs/nodes/automate/extract-field), עם השדה `shots` וההגדרה **סוג פלט** מוגדרת ל**רשימה**, או לרכיב רשימה. ראו את הדף [רשימות ואצוות](https://nodaro.ai/docs/concepts/lists-and-batching).
- **בנייה מחדש של סרטון שוט אחרי שוט.** הפעילו את המתג, והשתמשו בפריים הראשון של כל שוט כפריים הפתיחה של קליפ חדש.
- **קליפ אחד לכל שוט.** השתמשו ברכיב [פיצול למקטעים](https://nodaro.ai/docs/nodes/video/split-into-chunks) באפשרות **שוטים**.
- **הפריימים מדויקים.** אלה הפריימים המפוענחים עצמם, שנשמרים ללא אובדן, בגודל התמונה של הסרטון.

## פתרון בעיות
| בעיה | מה לעשות |
| --- | --- |
| ההרצה נכשלת על סרטון ארוך | רכיב חיתוכי שוטים מודד סרטונים באורך של עד 30 דקות. קצצו את הסרטון קודם עם רכיב [קיצוץ וידאו](https://nodaro.ai/docs/nodes/video/trim-video). |
| ההרצה נכשלת כשהמתג מופעל | בסרטון יש יותר מ-1,000 שוטים. כבו את המתג **שמירת פריים ראשון ואחרון**, או קצצו את הסרטון. |
| שני שוטים נספרו כשוט אחד | השוטים מחוברים בדיזולב או בעמעום, שהם לא חיתוך. גם חיתוך חד ממש לפני ויפ פאן יכול להתפספס. |
| הבזק פתח שוט חדש | הבזק של פריים אחד נספר כחיתוך. אחדו את שני השוטים בשלבים שאחרי הרכיב. |

## דרך ה-API
הנתיב `POST /v1/shot-cuts` עם `{ videoUrl, frames? }` מכניס משימה לתור ומחזיר את ה-`jobId` שלה. בקשה פגומה נדחית עם `400 validation_error` לפני שמשהו משוריין. ב-`output_data.json` של המשימה שהושלמה נמצאת התוצאה **שוטים** שלמעלה. כשהפריימים מופעלים, השדות `output_data.firstFrames` ו-`output_data.lastFrames` מפרטים את תמונות הפריימים לפי סדר השוטים.

המתודה ב-SDK היא `client.media.shotCuts`, וכלי ה-MCP הוא `shot_cuts`. ראו את דף ה-API [הרצת רכיב יחיד](https://nodaro.ai/docs/developers/api/nodes), את הדף [מדיה והעלאות](https://nodaro.ai/docs/developers/sdk/media-and-uploads) ואת [מדריך כלי ה-MCP](https://nodaro.ai/docs/mcp/tools).

## שאלות נפוצות

### מה עושה רכיב חיתוכי שוטים?

רכיב חיתוכי שוטים קורא סרטון ומחזיר רשימה של השוטים שלו: היכן כל שוט מתחיל, היכן הוא נגמר וכמה זמן הוא נמשך. הרכיב מודד את הקובץ עצמו, ולכן הזמנים תואמים לסרטון בדיוק.

### האם רכיב חיתוכי שוטים סופר דיזולב או עמעום כחיתוך?

לא. דיזולב או עמעום לשחור פורסים את השינוי על פני פריימים רבים, ולכן רכיב חיתוכי שוטים סופר את השוטים משני הצדדים כשוט אחד. רק חיתוך חד פותח שוט חדש.

### מה האורך המרבי של סרטון ברכיב חיתוכי שוטים?

רכיב חיתוכי שוטים מודד סרטונים באורך של עד 30 דקות, בפורמטים MP4, MOV, MKV או WebM. קצצו סרטון ארוך יותר לפני כן.

### האם רכיב חיתוכי שוטים יכול לשמור תמונת סטילס של כל שוט?

כן. כשהמתג שמירת פריים ראשון ואחרון מופעל, רכיב חיתוכי שוטים שומר גם את הפריים הראשון ואת הפריים האחרון המדויקים של כל שוט כתמונות PNG, בסרטונים עם עד 1,000 שוטים. המחיר זהה.

### כמה קרדיטים עולה רכיב חיתוכי שוטים?

רכיב חיתוכי שוטים עולה מחיר קבוע אחד לכל הרצה, עם פריימים או בלעדיהם, בלי קשר לאורך הסרטון. הכפתור הרצה ברכיב מציג את המחיר.
