Live Captions: הטמעת כתוביות בזמן אמת בהשהיה של פחות מ-2 שניות

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

תחומי פיתוח AI

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

Live Captions: מדוע כתוביות בזמן אמת מאחרות

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

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

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

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

מה משתנה לאחר הטמעת כתוביות בזמן אמת

מזהה זרימה מחזיר טקסט עם הגעת הדיבור, ולא לאחר סיומו. השהיית הכתובית ביחס לקול מצטמצמת ל-1-2 שניות לעומת 5-8 בעיבוד אצווה — הצופה קורא ושומע את אותה מחשבה בו-זמנית, ולא מדביק את התמונה.

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

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

החלפת דובר מפסיקה לקרוע את הרצועה: הפרדה לפי קולות שמה תגית «דובר 1 / דובר 2», שורות הדיבור לא נדבקות לאחת, וחלק הקטעים האבודים בדיאלוג חי יורד מ-10-15% ל-2-3%.

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

דרכי פלט של כתוביות: השוואת גישות

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

מצב היכן מעובד הדיבור מתאים ל מגבלות
עיבוד במכשיר הזיהוי מתבצע מקומית, בלי שליחת שמע החוצה שידורים עם ערוץ לא יציב, שידורי תוכן רגיש, עבודה במעגל סגור נדרשים משאבי המכשיר; קשה יותר לעדכן מילון ומינוח, בחומרה חלשה האיכות יורדת
עיבוד שרת של הזרם השמע נשלח לשרת, הכתוביות חוזרות מוכנות וובינרים המוניים, אולפנים רב-ערוציים, מינוח אחיד וזיכרון זיהוי משותף תלוי בערוץ: בירידת קישור הכתוביות מאחרות, והעומס גדל עם מספר הצופים
מצב היברידי זיהוי ראשוני מקומית, דיוק ומונחים — בשרת שידורים שבהם חשובים גם תגובה מיידית וגם דיוק במונחים ענפיים ניפוי שגיאות מורכב יותר: צריך לסנכרן שני תוצאות ולא לתת להן להתנגש על המסך

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

איך אנחנו מטמיעים Live Captions: שלבי העבודה

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

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

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

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

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

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

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

מערך תיעוד ונהלים לאחר ההטמעה

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

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

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

מקרה בוחן: כתוביות בשידור חי בהשהיה של עד שתי שניות

מה היה לפני העבודה

השידור התקיים בלי כתוביות מסונכרנות: תמלול נאסף ידנית לאחר ההופעה ופורסם כטקסט נפרד. הגרסה העובדת הראשונה בשידור חי אחרה אחרי הדיבור ב-8–12 שניות, ושיעור המילים הנכונות במונחים ובשמות הדוברים עמד על כ-80% — הכתוביות היו פורמלית, אבל אי אפשר היה להשתמש בהן.

מה נבנה מחדש

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

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

מדדים בקבלה

המדידות בוצעו על הקלטה של שידור אמיתי:

  • השהיית הפלט: מ-8–12 שניות ל-1.4–1.9 שניות;
  • שיעור המילים הנכונות: 80% → 94% באוצר המילים הכללי, 97% לאחר מילון המונחים;
  • משפטים שהוחמצו — אפס בהקלטה של שעות רבות עם החלפת דוברים;
  • קטיעת זרם: הכתוביות משתחזרות בעצמן, אין צורך להפעיל מחדש את השידור.

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

במה זיהוי דיבור בזרם נבדל מתמלול אצווה

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

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

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

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

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

מה לבדוק לפני הפעלת כתוביות בזמן אמת

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

מה לעשות עם רעש ודיבור חופף

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

איך המערכת מתנהגת בקטיעת זרם

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

פרטיות התמלול: היכן חיים הטקסטים

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

תרגום כתוביות: היכן האיכות נאבדת

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

שידורים ארוכים: איך להימנע מירידת ביצועים

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

נדבר על המשימה: מה מבהירים בשיחה הראשונה

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

בפגישה הראשונה מבהירים:

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

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