כללי
הפעלה שוטפת
אפשרויות נוספות
הורדה והתקנה
הגדרות מתקדמות
תמיכה
|
כללי
HebMTKJ היא אחת ממספר תוכנות המאפשרת להכין קבצי כתוביות כך שיתאימו להקרנה בסינכרון עם קבצי Avi (בפורמט DivX
או XviD) בנגני DVD המבוססים על מעבד בשם Mediatek 1389. נגנים אלה כוללים בין השאר נגנים של חברות כמו Apex או
Xoro. אני כתבתי את התוכנה על מנת להתאים את התרגומים לנגן Apex 2400, המופץ כנראה רק בישראל. התוכנה אמורה להתאים
לכל הנגנים המבוססים על המעבד הנ"ל. ההתאמה כוללת את התכונות הבאות:
- שינוי סדר האותיות כך שהעברית תוצג מימין לשמאל
לרוב סדר האותיות בקובץ התרגום מתאים לתצוגה על גבי מחשב אבל
לא לתצוגה במכשירים הנ"ל.
- התאמת שורות הטקסט כך שיכנסו לרוחב המסך
ההתאמה היא בהתחשב בגודל האותיות במכשיר. ברוב קבצי התרגום יש שורות רחבות המכילות
מספר רב של מילים. במחשב התרגום מוצג בכתב קטן, ולכן נכנס לרוחב השורה. בעת צפייה בטלויזיה התרגום מוצג בדכך כלל באותיות
גדולות יותר, ולכן יש לבצע את ההתאמה. ההתאמה כוללת פיצול שורות, חלוקה מחדש של הטקסט לשורות ואפילו, במקרים קיצוניים,
פיצול כתובית לשתי כתוביות נפרדות.
- מרכוז של שורות התרגום
במכשירים בהם לא נעשה הדבר באופן אוטומטי, התרגום מיושר לשמאל, שזה מאד לא נוח בעברית.
המרכוז נעשה על ידי הוספת רווחים ותוים ריקים נוספים.
- הנמכת שורות התרגום
ברוב המכשירים מופיע התרגום גבוה יחסית במסך, וזאת כדי לאפשר הצגה של יותר
משורה בודדת. ה-Apex, למשל,
מאפשר להציג עד 3 שורות בכל פעם. התוצאה היא שאם מציגים שורה אחת בתרגום, היא מופיעה גבוה במסך. אופציה זו מוסיפה שורות ריקות
כדי להנמיך את הכתוביות כך שיופיעו הכי נמוך שאפשר. לדוגמא, אם ניתן להציג 3 שורות ובכתובית יש 2 שורות, תתווסף שורת רווח
אחת לכתובית. אופציה זו לא מפצלת כתוביות.
- הגדלת הזמן בו מופיעות כתוביות קצרות
בנגנים רבים, אם כתובית אמורה להופיע לפרק זמן של פחות משניה, היא עלולה להבזיק
על המסך לזמן אפסי, ואז לא ניתן לקרוא אותה. הסיגות לזה אינן חשובות, והן נובעות ממגבלות המכשיר. אופציה זו מאפשרת להאריך
את זמן התצוגה למינימום כלשהו (בדרך כלל שניה אחת), כך שהן יוצגו לאורך מספיק זמן בעת נגינה ב-DVD.
פירוט נוסף מופיע בהמשך, אבל עכשיו כדאי לעבור לתכלס - איך משתמשים בתוכנה.
הפעלה שוטפת של התוכנה
על מנת ליצור קובץ תרגום הפעל את HebMTKJ.exe מהמקום בו הותקן. המשפט הנ"ל נכון למשתמשי Windows. משתמשי Linux וסביבות אחרות, נא לראות הערות
בפרק ההתקנה. יתקבל מסך שנראה בערך כך (בסביבת Windows XP):

עכשיו יש לבצע את הפעולות הבאות:
- בחר את ה-Firmware של המכשיר שלך מתוך הרשימה. תצטרך לבצע פעולה זו רק פעם אחת. בחירתך תישמר להפעלות הבאות
של התוכנה. אם ה-Firmware שלך לא נמצא ברשימה, אל דאגה, ניתן לקנפג את התוכנה כך
שתתאים לכל Firmware (כנראה). ראה עוד על שינויי קונפיגורציה בהמשך.
- בחר את קובץ התרגום המקורי (הפורמטים הנתמכים הם sub ו-srt).
- בחר את קובץ הוידאו לו התרגום מתאים. בחירה זו משפיעה על הדברים הבאים:
- במידה והתרגום הוא בפורמט sub, יש לציין קצב פריימים. בעת בחירת קובץ הוידאו, נבחר באופן אוטומטי קצב הפריימים
הנכון, כפי שמוגדר בקובץ הוידאו.
- שם קובץ התרגום נקבע כך שהוא מתאים בדיוק לקובץ הוידאו. מכשירי ה-DVD מחייבים שהשמות יהיו מתואמים, ובחירת קובץ
הוידאו דואגת להתאמה מושלמת של השמות.
- בחר את אופציות ההמרה המתאימות לך. היתרון הוא שאת השפעת האופציות על התרגום ניתן לראות מיד בתחתית החלון.
גם כאן, התוכנה תזכור את האופציות שבחרת להפעלות הבאות, כך שגם צעד זה יבוצע, כנראה, רק פעם אחת.
- לחץ על כפתור Process להמרת קובץ הכתוביות. זהו, כל מה שנשאר לעשות הוא לצרוב את קובץ הוידאו והתרגום ולרוץ
לסלון לראות על הטלויזיה (או המקרן, למאושרים שבינינו).
אפשרויות נוספות
בנוסף לשימוש הבסיסי, ניתן לבצע גם את הדברים הבאים באמצעות התוכנה:
- תוספת (Extension) לשם הקובץ
כך ניתן לצרף מספר קבצי תרגום לקובץ וידאו אחד. יש לסמן את האפשרות Add extension ולציין טקסט כלשהו. שים לב לשם קובץ
הפלט שמתקבל. השם המתקבל מתאים לחוקי השמות של מכשיר ה-DVD.
- צפיה בכל התרגום
ניתן להשתמש ב-Scroll bar שמימין על מנת לדפדף בין הכתוביות השונות לאורך הסרט כולו. כמו כן, ניתן לקפוץ לכתובית ספציפית
ע"י הקשת מספרה בחלון הכתובית שמעל לתצוגת הכתוביות.
- מציאת כתוביות מעניינות
סרגל הכלים שמעל הכתוביות מאפשר לחפש כתוביות מעניינות. להלן הכפתורים בהם ניתן להשתמש:
כפתור Rewind שמחזיר אותך לכתובית הראשונה. כמו לגלגל את ה-Scroll bar עד למעלה.
מחפש כתוביות בהן יש סיכוי לשגיאה הנובעת משימוש בעברית. לא מדובר כאן במשהו שימצא את המקומות בהם כתוב "אני יעשה", אלא
כתוביות בהן מופיעים סוגריים (ואז יש סיכוי שהם הפוכים) או אותיות אנגליות וכדומה. בסך הכל, אין כאן משהו מתוחכם, ואולי
הזיהוי ישתפר בגרסאות עתידיות (אם יהיו).
מחפש כתוביות בהן נותרו שגיאות, גם לאחר ההמרה. לרוב זה בעיקר מקרים בהם לא ניתן להאריך כתובית בגלל הכתוביות שלפניה
ואחריה.
מחפש כתוביות ששונו ע"י התוכנה. השינוי שבוצע יתואר מימין לכפתור זה. במידה שיש מספר שינויים לכתובית בודדת, רשימת
השינויים תופיע ב-Tooltip.
- אפשרויות המרה
- שינויי קונפיגורציה
כל השינויים הבאים אפשריים ע"י עריכת הקובץ config.properties הנמצא בספריה בה נמצאת התוכנה. כל אפשרות מוגדרת באמצעות
פרמטר בתוכנה זו. הדברים הם די ברורים, ובכל זאת, נתאר אותם כאן:
- שינוי תמונת רקע
אם תמונת הרקע לא מוצאת חן בעיינך, ניתן להחליף אותה. יש להכין תמונה בגודל 720 (רוחב) על 576 (גובה). התמונה יכולה להיות
בפורמט JPEG, GIF או PNG. שמור את התמונה באותה ספריה בה נמצאת התוכנה. שם הפרמטר בקובץ config.properties הוא
background.image. שנה אותו לשם התמונה שלך. יש להפעיל מחדש את התוכנה כדי שההגדרה תכנס
לתוקף. שים לב שהתוכנה שומרת את אופציות שונות שלה בקובץ זה, כך שאם התוכנה רצה בזמן שינוי הקובץ, היא תדרוך על השינויים
שביצעת בעת היציאה (אז נשמרות האפשרויות).
- זמן מינימאלי להצגת כתובית בודדת
ניתן לקבוע מה פרק הזמן המינימאלי להצגת כתוביות ע"י שינוי הפרמטר min.length, הנמדד באלפיות שניה. הערך הסטנדרטי הוא
1000 (שניה אחת). שים לב שנגני DVD בדרך כלל מעגלים את הזמנים, כך שזמן התצוגה האמיתי עלול להיות שונה במעט ממה שמופיע
בקובץ התרגום.
- זמן מינימאלי בין כתוביות
במקרים מסויימים, התוכנה מפצלת כתובית למספר כתוביות. במקרים אחרים, התוכנה מאריכה כתוביות המוצגות לזמן קצר מדי. בכל
מקרה בו התוכנה משפיעה על זמני הצגת הכתוביות, היא תדאג לרווח מינימאלי לפי הפרמטר min.gap, הנמדד גם הוא באלפיות שניה.
חשוב לדעת שבמקרים בהם הרווח המקורי בין 2 כתוביות קטן, התוכנה לא תשנה דבר. רק במקרים בהם התוכנה קובעת את הרווח.
הורדה והתקנה
למשתמשי Windows
יש ללחוץ כאן על מנת להוריד קובץ zip המכיל את התוכנה. יש לפתוח את קובץ ה-zip לספריה כלשהי.
ה-zip מכיל 3 קבצים: 2 קבצי קונפיגורציה וקובץ הרצה - hebmtkj.exe אותו יש להריץ ע"מ להפעיל את התוכנה (ה-zip מכיל עוד
ספריה בה הגדרות פונטים שונות).
אם, בעת הפעלת התוכנה, מתקבלת הודעת שגיאה שלא נמצא JRE שזה Java Runtime Environment, יש להוריד ולהתקין את ה-JRE של
חברת Sun
מהכתובת הזאת (15.4MB).
שים לב: ה-JRE הוא סביבת הרצה לשפת Java, והוא מקביל ל-.NET Framework של
Microsoft (שנדרש, למשל, ע"מ להריץ תוכניות הכתובות ב-#C).
למען האמת ה-.NET Framework הוא החיקוי של Microsoft ל-JRE. מי מהם יותר טוב? זו כבר
מלחמה דתית שאין לי עניין בה.
למשתמשי Linux ושאר המערכות (כולל משתמשי Windows שמבינים ב-Java)
התוכנה כתובה ב-Java ואם יש לכם כבר JDK/JRE בגירסה 1.4 ומעלה, הורידו את ה-zip הזה ופתחו
אותו לספריה כלשהי. יש להריץ את התוכנה ע"י הפקודה:
java -jar hebmtkj.jar
אם אין לכם סביבת הרצה של Java, לכו
לדף הבא,
והמשיכו ממנו לפי ההוראות, ע"מ להוריד ולהתקין את סביבת העבודה.
הגדרות מתקדמות
חלק זה מסביר כיצד להוסיף הגדרות של מכשיר DVD חדש לקובץ firmware-config.properties. הקובץ נמצא באותה ספריה בה נמצא
קובץ ההפעלה של התוכנה. כיוון שברשותי מכשיר Apex 2400, אני לא יכול לבדוק הגדרות של מכשירים אחרים. אם הוספתם הגדרות
של מכשירים אחרים, אנא כתבו אלי, ואני אדאג לפרסם אותם, או לצרף אותם לגרסאות עתידיות של התוכנה.
כל firmware מתואר בקובץ הקונפיגורציה ע"י אוסף פרמטרים במבנה
firmware.{x}.{parameter.name}={value}.
כאשר x הוא המספר הסידורי של ה-firmware. הגדרת firmware מורכבת ממספר פרמטרים. לדוגמא, הנה הגדרה של ה-firmware של Apex 2400 שנותן כתוביות מיושרות לשמאל עם רקע אפור (ותודה ל-glfinish על הגרסה הזאת, שאיפשרה לי לראות עברית לראשונה
במכשיר):
firmware.0.name=Apex 2400
firmware.0.font.file=fonts/apex-2400-no-border.bin
firmware.0.auto.center=0
firmware.0.start.y=405
firmware.0.start.x=80
firmware.0.max.pixel.width=536
firmware.0.char.gap.width=0
firmware.0.space.size.adjust=0
firmware.0.max.rows=3
firmware.0.max.chars=86
firmware.0.narrow.space=31
firmware.0.colors=FF00FF 40808080 000000 FFFFFF
firmware.0.center.subtitles=1
|
הפרמטרים קובעים את הדברים הבאים:
- name
זה השם, כפי שיופיע בתוכנה ב-Drop down לבחירת ה-firmware.
- font.file
שם הקובץ המגדיר את הפונט של ה-firmware הזה. למען הסדר הטוב כדאי לשים את הקובץ בספריה fonts, כפי שמופיע בדוגמה. איך
מספקים קובץ כזה ל-firmware כלשהו? פותחים את הקובץ באמצעות תוכנת MTKReMaker, למצוא את הפונט המתאים ולשמור אותו בקובץ.
HebMTKJ יודעת לקרוא את הקובץ בפורמט המקורי שלו ולהסיק ממנו איך נראים התוים, ויותר חשוב, מה הרוחב של כל אחד מהם.
- auto.center
האם ה-firmware ממרכז באופן אוטומטי (ואז אין צורך להוסיף רווחים ע"מ למרכז את הכותרות). אם כן, יש לרשום 1, אחרת 0.
- start.x
איפה על המסך, לרוחב, מתחיל התרגום. הפרמטר הזה לא משפיע על האופן בו עובדת התוכנה, אלא רק היכן יופיע התרגום על המסך
בתוכנה (כחיקוי לפעולת המכשיר האמיתי). ישנה תוכנה בשם MTKSubXY שיכולה, בעקרון, להציג את הנתון הזה עבור firmware מסויים,
אבל מנסיוני המועט, היא לא נתנה תוצאה נכונה, עדיף לתת ערך על בערך, לפי ראיה. דרך אגב - סה"כ רוחב המסך הוא 720 פיקסלים.
- start.y
איפה על המסך, לגובה, מתחיל התרגום. גם כאן, פרמטר זה משפיע על התצוגה בלבד. גובה המסך הוא 576 פיקסלים.
- max.pixel.width
רוחב, בפיקסלים, המשמש לתצוגת התרגום. כאן חשוב להיות מדוייקים, כיוון שהתוכנה בודקת אם שורה נכנסת לרוחב ע"י חישוב מדוייק
של רוחב כל אות ורוחב השורה האפשרי (פרמטר זה). אם לא יודעים בדיוק - עדיף לטעות כלפי מטה, כך לכל היותר התוכנה תפצל שורה
ל-2 למרות שלא צריך, ולא יחתכו תוים בתצוגה. כיוון ש-MTKSubXY לא מדווח גם כאן תוצאה מדוייקת, אפשר להגיע לרוחב המדוייק ע"י
ניסוי וטעיה. למי שרוצה עוד טיפים,
שיכתוב אלי.
- char.gap.width
כמה רווח, בפיקסלים, להוסיף בין תוים (שאינם רווחים). בגרסה המקורית של ה-Apex 2400 (ללא upgrade בכלל) הייתה תוספת רווח,
וזה היה מאד לא יפה. בגרסאות חדשות יותר זה כבר לא קיים, וטוב שכך. אם לא יודעים אחרת, כדאי פשוט לציין 0 בפרמטר זה.
- space.size.adjust
גם פרמטר זה הוא שארית של גרסאות firmware ישנות, ואני מקווה שאין בו צורך יותר. פרמטר זה קובע כמה להוסיף או להוריד
(מספר חיובי או שלילי) לרוחב של תו הרווח. כדאי לבחור 0 אלא אם כן אתם בטוחים שההתנהגות של ה-firmware היא אחרת.
- max.rows
כמה שורות ה-firmware מסוגל להציג. רוב המכשירים מציגים עד 2 שורות.
- max.chars
מספר התוים המקסימאלי שניתן להציג בתרגום יחיד. אם התרגום המקורי מכיל יותר תוים, התוכנה תפצל את התרגום ל-2. אם לא ידוע
לך כמה תוים ניתן להציג, קל מאד לבדוק את זה בניסוי וטעיה - פשוט לנסות כמה תרגומים עם יותר ויותר תוים. כדאי לבחור תוים
"דקים" כמו נקודה או סימן קריאה, אחרת הטקסט עלול להחתך לא בגלל מספר תוים, אלא בגלל רוחב התוים.
- narrow.space
מספר תו (בין 0 ל-255) שיכול לשמש כתו רווח צר. כאשר התוכנה ממרכזת שורות ע"י הוספת רווחים, היא תשתמש בתו רווח (מספר 32).
אם פרמטר זה מופיע, התוכנה תשתמש בתו נוסף זה כדי להגיע למרכוז מדוייק יותר. למשל, נניח שצריך להוסיף 65 פיקסלים על מנת
למרכז שורה כלשהי. אם תו הרווח הרגיל הוא ברוחב 20 פיקסלים, אפשר להוסיף 3 רווחים ולקבל 60 פיקסלים של רווח, שזה די טוב.
אבל, אם יש תו אחר, למשל מספר 31 שנראה כמו רווח, אבל הוא צר יותר - ברוחב 8 פיקסלים, התוכנה תוסיף 2 רווחים רגילים ו-3
רווחים צרים, ותגיע לרוחב קרוב יותר - 64 פיקסלים. בכל מקרה, כל העניין הזה לא רלוונטי למכשירים בהם המרכוז הוא
אוטומטי.
- colors
פרמטר זה קובע את צבע הכתוביות, והוא משפיע על התצוגה בלבד. יש לרשום בו 4 ערכים, כיוון שהכתוביות מקודדות ב-4 צבעים (לרוב,
רק 3 - שחור לבן ושקוף). הערך הראשון הוא עבור צבע 0, השני עבור צבע 1, וכך הלאה. ערך יכול להרשם ב-6 ספרות hex, ואז הוא
מבטא RGB (למשל FFFF00 זה הרבה אדום וירוק בלי כחול, ז"א צהוב) או ב-8 ספרות hex, ואז הוא מבטא ARGB. ערך אלפא נמוך מגדיר
שקיפות גדולה יותר. ערך FF בשקיפות מגדיר צבע ללא שקיפות בכלל (כמו לרשום ב-6 ספרות), ו-0 מגדיר צבע שקוף לחלוטין.
הפרמטרים הבאים מאפשרים לשנות את אופציות ההמרה בעת בחירת ה-firmware. כך, למשל, אם firmware מסויים ממרכז באופן אוטומטי,
כדאי מאוד שאופצית המרכוז באמצעות רווחים תהיה מכובה. אחרת, התרגום יופיע יותר מדי לימין. זה בעצם המקרה היחיד בו חשוב
שה-firmware ישפיע על אופציות ההמרה, אבל, למטרות נוחות, ניתן להשפיע על כל האופציות. חשוב - אם הפרמטר מופיע הוא משנה את
אופציית ההמרה כך ש-1 מסמן אותה ו-0 מבטל אותה. אם הפרמטר לא מופיע, אין שינוי לאופצייה בעת בחירת ה-firmware. להלן
הפרמטרים:
- center.subtitles
קובע את האופציה Center Subtitles - מרכוז באמצעות רווחים.
- logical.to.visual
קובע את האופציה Logical to Visual - שינוי סדר אותיות עבריות לכיוון הצגה (Visual Order).
- lower.short.subtitles
קובע את האופציה Lower short subtitles - הנמכת כתוביות בהן לא כל השורות תפוסות.
- set.minimum.length
קובע את האופציה Set minimum length - קביעת אורך מינימאלי לכתוביות (בזמן).
תמיכה
בעיקרון, התוכנה מגיע ללא תמיכה, בתור אבא ל-2 תינוקות אין לי כמעט זמן לנשום. בכל זאת
אשמח לשמוע על רעיונות לשיפור, ואשמח לקבל עזרה בהרחבת סט המכשירים הנתמכים ע"י התוכנה.
אפשר לשלוח אלי e-mail, אם יש לכם משהו מעניין לספר, או אפילו
יותר טוב - לעקוב ב
פורום מכשירי DVD תומכי DivX/XviD של LioNetwork. בפרט, אפשר להסתכל ב"אשכול"
HebMTKJ - עוד תוכנה להמרת כתוביות
.
ותודה לכל השותפים בעשייה בפורום הזה.
|