מדריך קצרצר להוספת כתוביות לסרטון בעזרת AI
מעלים את הקובץ (עדיף להמיר לקובץ אודיו ואותו להעלות) למנוע AI כלשהו (אני משתמש ב-GMINI) ומבקשים ממנו לתמלל את הקובץ המצורף בפורמט srt ושיתרגם את הכתוביות לעברית
מהטקסט שיתקבל יוצרים קובץ srt:
פותחים "פנקס רשימות" ומדביקים את הטקסט שהמודל החזיר
הטקסט חייב להיות מסודר כך:
שורה ראשונה מספר הכתוביות
שורה שניה הזמנים בהם היא תוצג
שורה שלישית תוכן הכתובית
דוגמה למבנה:
1
00:00:02,500 --> 00:00:06,850
שלום לכולם וברוכים הבאים לפודקאסט שלנו.
2
00:00:07,100 --> 00:00:10,300
היום נדבר על נושא מרתק במיוחד.
3
00:00:11,000 --> 00:00:14,500
אבל לפני שנתחיל, בואו נציג את האורח שלנו.
הסבר הדוגמה:
- כתובית מספר 1: תופיע על המסך 2.5 שניות מתחילת הסרטון, ותיעלם לאחר 6.850 שניות מתחילת הסרטון.
- כתובית מספר 2: תופיע אחרי 7.1 שניות ותיעלם אחרי 10.3 שניות.
- כתובית מספר 3: מורכבת משתי שורות טקסט ותוצג בין 11 שניות ל-14.5 שניות.
שומרים את הקובץ עם אותו שם בדיוק כמו הסרטון ובאותה תיקיה אבל כקובץ srt (אפשר לשמור רגיל ואז לשנות את שלוש האותיות האחרונות בשם הקובץ מ-txt ל-srt)
אם תפעילו את הסרטון בתוכנת VLC הכתוביות יוצגו על גבי הוידיאו
כדי להטמיע את הכתוביות בתוך הסרטון כך שיראו אותם בכל תוכנה בה תפעילו את הוידיאו
ניתן להשתמש בקוד BAT הבא (יש צורך בFFMPEG ובקובץ hecho.exe באותה תיקיה ביחד עם הסקריפט)
@echo off
chcp 1255 >nul
echo גרור קובץ וידיאו לכאן ואז הקש Enter: | hecho -b
set /p "videoPath="
REM הסרת מרכאות כפולות מהנתיב
set "videoPath=%videoPath:"=%"
if not exist "%videoPath%" (
echo שגיאה: קובץ הווידאו לא קיים בנתיב שסופק. | hecho -b
pause
exit
)
echo הנתיב של קובץ הווידאו הוא: "%videoPath%" | hecho -b
echo גרור קובץ כתוביות (SRT) לכאן ואז הקש Enter: | hecho -b
set /p "srtPath="
REM הסרת מרכאות כפולות מהנתיב
set "srtPath=%srtPath:"=%"
if not exist "%srtPath%" (
echo שגיאה: קובץ הכתוביות לא קיים בנתיב שסופק. | hecho -b
pause
exit
)
echo הנתיב של קובץ הכתוביות הוא: "%srtPath%" | hecho -b
REM הכנת נתיב הכתוביות עבור FFmpeg (החלפת \ ב-\\)
set "ffmpegSrtPath=%srtPath:\=\\%"
REM פירוק נתיב קובץ הווידאו המקורי כדי ליצור שם לקובץ הפלט
for %%F in ("%videoPath%") do (
set "filePath=%%~dpF"
set "fileName=%%~nF"
set "fileExt=%%~xF"
)
REM הרכבת שם קובץ הפלט החדש
set "outputPath=%filePath%%fileName% (כתוביות)%fileExt%"
echo מתחיל בתהליך הטמעת הכתוביות... | hecho -b
REM הרצת פקודת FFmpeg עם הנתיבים המתוקנים ושם הפלט הדינמי
ffmpeg -i "%videoPath%" -vf "subtitles='%ffmpegSrtPath%':charenc=UTF-8" -c:v libx264 -crf 22 -c:a copy "%outputPath%" >>nul 2>&1
echo התהליך הסתיים! הקובץ החדש נשמר ב: | hecho -b
echo "%outputPath%"
pause
מה הפיתרון
