GoGPT Best VPN GoSearch

סמל OnWorks

mjpegtools - מקוון בענן

הפעל mjpegtools בספק אירוח חינמי של OnWorks על אובונטו מקוון, פדורה מקוון, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זוהי הפקודה mjpegtools שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


mjpegtools - מבוא לכלי MJPEG

מבוא

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

Mjpegtools הוא קבוצה של תוכניות שיכולות לבצע הקלטה, השמעה, עריכה ובסופו של דבר MPEG
דחיסת אודיו ווידאו תחת לינוקס.

אם כי מיועד בעיקר לשימוש עם לוחות לכידה / השמעה המבוססים על צורן
ZR36067 MJPEG codec שבב mjpegtools ניתן להשתמש בקלות לעיבוד ולדחוס וידאו MJPEG
זרמים שנלכדו באמצעות xawtv תוך שימוש בהתקני מאגר מסגרת פשוטים.

ה-HOWTO לכלים שנועדו לתת מבוא לכלי MJPEG וה-
יצירת סרטוני MPEG 1/2. VCD, SVCD ו-DVD והמרת קידוד של mpeg קיים
זרמים.

למידע נוסף על התוכניות קרא את דף האדם המתאים.

Achtung es gibt auch eine deutsche Version bei:

יש גם דף ניהול של הטקסט הזה. אתה יכול לקרוא אותו עם "man mjpegtools" אם מותקן.
יש לנו גם גרסת מידע שאתה אמור להיות מסוגל לקרוא אותה עם מידע

גרסת הטקסט של טקסט זה זמינה באמצעות cvs. אתה צריך לקבל את זה עם הטארבול או
החבילה המורכבת מראש (RPM ו-deb).

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

זרימת עבודה של קידוד וידאו

רשימה לא ממוינת של עצות שימושיות

עליך לקמפל ולהתקין את חבילת mjpeg_play, לשם כך קרא את README &
INSTALL.real עקוב אחר הרמזים מתסריט התצורה. אם אתה לא רוצה לעשות קומפילציה
זה, אתה יכול להוריד את חבילת mjpeg .RPM או .DEB ב-Sourceforge, או אם זמין להשתמש
זה שמגיע עם ההפצה שלך.

יש סקריפט בספרייה / scripts. התסריט הזה הוא משהו שמראה לך דרך
אפשר לעשות את זה. זה גם יוצר (בנסיבות מסוימות) סרטונים שנראים די טוב.
סרטונים טובים יותר תקבלו רק על ידי כוונון הפרמטרים.

אם אתה משתמש בליבת לינוקס מסדרת 2.4 תצטרך בדרך כלל לטעון את הדרייברים
עבור כרטיסי Buz או DC10 או LML33. עליך להפעיל את סקריפט העדכון המספק כאפשרות
שם הכרטיס שברשותך. הסקריפט נמצא בדרך כלל ב- /usr/src/driver-zoran/. ה
מנהל ההתקן של ליבת zoran מתחת לגרעין 2.4.4 לא עובד. אתה צריך להשתמש בדרייבר
זמין מ:

ב-2.6. ליבת לינוקס היא הדרייבר לכרטיסי Zoran הכלולים, אתה רק צריך לעשות
לוודא שהוא נטען נכון. אם יש לך מכונת x64 וקרנל חדש יותר מ
2.6.30 נשמח לשמוע שאתה יכול להקליט מהכרטיס מבוסס צורן. אני
לא חמוץ אם השילוב הזה עובד.

גם הדרייבר של כרטיס Matrox Marvel עובד, מידע נוסף עליו:

אם אתה מקמפל את הכלים על מחשב מבוסס P6 (PPro, P-II, P-III, P-4, Athlon, Duron)
אז לעולם אל תנסה לתת להם לפעול על מחשב מבוסס P5 (Pentium, Pentium-MMX, K6, K6-x,
Cyrix, Via, Winchip). תקבל "הוראה לא חוקית" והתוכנית לא תעבוד. זֶה
זהה גם למעבד החדש יותר. אם אתה משתמש באופטימיזציות ספציפיות, היה מודע להן.

אם lav2yuv משליך ליבה, סיבה אפשרית אחת היא שלא נכללה תמיכת dv. כדי לאפשר את זה
ודא ש-libdv מותקן במערכת. זה יהיה הכרחי אם אתה משתמש
מצלמה דיגיטלית (או ממיר אנלוגי ל-DV כגון Canopus ADVC100 והמרת
פורמט dv avi לפורמט MPEG.

הפעל את xawtv כדי לראות אם אתה מקבל תמונה. אם אתה רוצה להשתמש ב-HW השמעה של המוקלט
זרמים אתה צריך להפעיל xawtv (כל יישום טלוויזיה עובד) פעם אחת כדי להפעיל את הזרמים
חזור. כדאי גם לבדוק את ההגדרות של המיקסר בכרטיס הקול. אם אתה משתמש ב-v4l2
אתה צריך לנסות את mplayer כדי לצפות בתמונה

אם תקמפל את הכלים בפלטפורמה שאינה לינוקס לא כל הכלים יעבדו.
ל-Mjpegtools במערכת OS/X למשל לא תהיה יכולת V4L (video4linux).

לעולם אל תנסה לעצור או להפעיל את אפליקציית הטלוויזיה כאשר lavrec פועל. אם אתה מתחיל או מפסיק את
אפליקציית הטלוויזיה lavrec תפסיק להקליט, או שהמחשב שלך עלול להיות "קפוא". זה
בעיה של v4l (video4linux).

בעיה זו נפתרת עם v4l2. אם אתה משתמש ב-v4l2 אתה יכול להקליט את הסרטון ולהפסיק ו
הפעל את אפליקציית הטלוויזיה מתי שתרצה. אבל v4l2 הוא כרגע (7. ינואר 2003) בלבד
נתמך עבור כרטיסים מבוססי Zoran (BUZ, DC10, DC10+, LML33) אם אתה משתמש במנהל ההתקן של CVS
מ-mjpeg.sf.net מתויג עם ZORAN_VIDEODEV_2. והנהג הזה עובד רק עם
ליבת 2.4.20 וליבת הפיתוח 2.5.*.

דבר אחרון לגבי הנתונים שאתה מקבל לפני שנתחיל:

אודיו: ( דגימה * ערוצים * גודל סיביות ) / (8 * 1024)
איכות תקליטור: (44100 דגימות לשנייה * 2 שאנלים * 16 סיביות) / (8 * 1024)=172,2 קילובייט לשנייה

ה-8 * 1024 ממירים את הערך מ-bit/sec ל-kByte/sec

וידאו: (רוחב * גובה * קצב פריימים * איכות ) / (200 * 1024)
גודל PAL חצי : (352 * 288 * 25 * 80) / (200 * 1024) = 990 קילובייט לשנייה
PAL גודל מלא : (720 * 576 * 25 * 80) / (200 * 1024) = 4050 kB/sek
גודל NTSC חצי: (352 * 240 * 30 * 80) / (200 * 1024) = 990 קילובייט לשנייה
גודל מלא NTSC: (720 * 480 * 30 * 80) / (200 * 1024) = 4050 kB/sek

ה-1024 ממיר את ה-Bytes ל-kBytes. לא כל כרטיס יכול לרשום את הגודל שהוזכר. ה
Buz ו-Marvel G400 למשל יכולים להקליט רק גודל של 720x576 כאשר משתמשים ב-d 1, ה-
DC10 מתעד גודל של 384x288 בעת שימוש ב-d 2.

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

אם אתה רוצה לשחק עם --mjpeg-buffer-size. זכור שהערך צריך להיות לפחות
מספיק גדול שמסגרת אחת תתאים לתוכה. הגודל של מסגרת אחת הוא: (רוחב * גובה * איכות
) / (200 * 1024) = kB אם המאגר קטן מדי, חישוב הקצב אינו תואם לאף אחד
יותר והצפת חיץ יכולה לקרות. הערך המרבי הוא 512kB.

כיצד עובד הווידאו וההבדל בין סוגי הסרטונים מוסבר כאן:

שם תמצא גם איך ליצור תמונות סטילס MPEG עבור VCD/SVCD.

תיאור טוב של DV (וידאו דיגיטלי) ניתן למצוא כאן:

כמה ספרים we מצא שימושי


כתוב באנגלית:

וידאו דיגיטלי וטלוויזיה HD מאת צ'רלס פויטון (ISBN 1-55860-792-7)

דחיסת וידאו דיגיטלית מאת פיטר סימס (ISBN 0-07-142487-3)

סרטון דה-מסתבר על ידי קית' ג'ק (ISBN 1-878707-56-6)

כתוב בגרמנית:

Fernsehtechnik von Rudolf Maeusl (ISBN 3-7785-2374-0)

Professionelle Videotechnik - אנלוגי ודיגיטלי Grundlagen von U. Schmidt (ISBN
3-540-43974-9)

Digitale Film- und Videotechnik von U. Schmidt (ISBN 3-446-21827-0)

אם אתם מכירים עוד ספר ממש טוב על זה, כתבו לנו!

הקלטת סרטונים

lavrec דוגמאות


הקלטה עם lavrec נראית כך:

> lavrec -f a -i P -d 2 record.avi

צריך להתחיל להקליט עכשיו,

-פא

השתמש ב-AVI כפורמט פלט,

-אני פ

השתמש כמקור קלט ב-SVHS-In עם פורמט PAL,

-ד 2

גודל התמונות הוא חצי גודל (352x288)

record.avi

שם הקובץ שנוצר.

ההקלטה מסתיימת על ידי לחיצה על Ctrl-C (במקלדות גרמניות: Strg-C). לפעמים משתמש
-f A במקום -f a יכול להיות נחוץ

דוגמא אחרת:

> lavrec -f q -i n -d 1 -q 80 -s -l 80 -R l -U record.avi

צריך להתחיל להקליט עכשיו,

-fq

השתמש ב-Quicktime כפורמט פלט,



השתמש ב-Composite-In עם פורמט NTSC,

-ד 1

הקלט תמונות בגודל מלא (640x480)

-q 80

הגדר את האיכות ל-80% מהתמונה שצולמה

-s

השתמש במצב סטריאו (מונו ברירת מחדל)

-ל 80

הגדר את רמת ההקלטה ל-80% מהמקסימום במהלך ההקלטה

-ר ל

הגדר את מקור ההקלטה ל-Line-In

-U

עם זה lavrec משתמש בקריאה במקום mmap להקלטה זה נחוץ אם הצליל שלך
הכרטיס אינו תומך ב-mmap להקלטה.

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

גודל התמונה תלוי בכרטיס שבו אתה משתמש. בגודל מלא (-d 1) אתה מקבל את אלה
גדלי תמונה: BUZ ו-LML33: 720x576, ה-DC10 ו-DC30: 768x576

דוגמא אחרת:

> lavrec -w -f a -i S -d 2 -l -1 שיא%02d.avi

צריך להתחיל להקליט,

-w

ממתין לתחילת אישור המשתמש (הקש אנטר)

-פא

השתמש ב-AVI כפורמט פלט,

-אני ס

השתמש ב-SECAM SVHS-Input (הקלטת SECAM Composite אפשרית גם: -is)

-ד 2

גודל התמונות הוא חצי גודל

-ל -1

אל תיגע בהגדרות המיקסר

שיא%02d.avi

כאן lavrec יוצר את הקובץ הראשון בשם record00.avi לאחר שהקובץ הגיע לגודל של
1.6GB (לאחר כ-20 דקות הקלטה) הוא מתחיל רצף חדש בשם record01.avi ו
כך הלאה עד שההקלטה תופסק או שהדיסק מלא. עם שחרורו של 1.9.0
גרסת mjpegtools מסוגלת להתמודד עם קבצי AVI גדולים מ-2GB. אז האפשרות הזאת קיימת
לתאימות.

דוגמא אחרת:

> lavrec -f a -i t -q 80 -d 2 -C אירופה-מערב: SE20 test.avi

צריך להתחיל להקליט עכשיו,

-פא

השתמש ב-AVI כפורמט פלט,

-זה

השתמש בקלט טיונר,

-q 80

הגדר את האיכות ל-80% מהתמונה שצולמה

-ד 2

גודל התמונות הוא חצי גודל (352x288)

-C

בחר ערוצי טלוויזיה, וה-it ו-iT המתאימים (מקור וידאו: מקלט טלוויזיה) יכולים
משמש כעת ב-Marvel G200/G400 וב-Matrox Millenium G200/G400 עם Rainbow
הארכת רץ (BTTV-Support בבנייה). למידע נוסף כיצד להכין
חלקי מקלט הטלוויזיה של כרטיסים אלה עובדים, ראה את פרויקט Marvel/Linux ב:

דוגמה אחרונה:

> lavrec -f a -i p -g 352x288 -q 80 -s -l 70 -R l --קידוד תוכנה test03.avi

שתי האפשרויות החדשות הן -g 352x288, שקובע את גודל הסרטון שיוקלט מתי
באמצעות --קידוד תוכנה, זה מאפשר את קידוד התוכנה של התמונות המוקלטות. עם
אפשרות זו תוכלו להקליט גם מכרטיס מבוסס bttv. עומס המעבד גבוה. זֶה
האפשרות פועלת רק עבור כרטיסי video4linux גנריים (כגון מבוססי brooktree-848/878
כרטיסים), זה לא עובד עבור כרטיסים מבוססי Zoran.

אחר הקלטה רמזים


כל כלי lavtools מקבלים תיאור קובץ כמו file*.avi כך שלא תצטרך לתת שם לכל קובץ
אבל זו אפשרות.

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

הנה כמה עצות להגדרות הגיוניות. הפוך את האיכות ל-80% או יותר עבור -d 2
לִלְכּוֹד. ברזולוציה מלאה של עד 40% נראה "מושלם" מבחינה ויזואלית. -d 2 כבר
טוב יותר מסרטון VHS (*הרבה*!). עבור Marvel אתה לא צריך להגדיר את האיכות גבוה יותר מ
50 כאשר אתה מקליט בגודל מלא (-d 1). אם אתה משתמש בהגדרות גבוהות יותר (-q 60) זה יותר
סביר שתתקל בבעיות. הגדרות גבוהות יותר יגרמו לירידות מסגרת. אם
אתה מכוון ליצור תקליטורי VCD אז אין מה להרוויח בהקלטה מלאה
רזולוציה כפי שאתה צריך להפחית ל-d 2 רזולוציה מאוחר יותר בכל מקרה.

אתה יכול להקליט בגדלים אחרים מאשר הברור -d 1/2/4. אתה יכול להשתמש בשילובים איפה
אתה משתמש בגודל אופקי לחצי ובגודל אנכי מלא: -d 21. זה יתעד עבור NTSC
בגודל של 352x480. זה עוזר אם ברצונך ליצור קובצי SVCD, להרחיב את הערך של 352 פיקסלים
עד 480 לא כל כך גלוי לעין כאילו היית משתמש בצירוף השני -d 12.
כאשר יש לך את הרזולוציה האופקית המלאה וחצי אנכית לגרסה זו תהיה א
גודל של 720x288 עבור NTSC

כמה מידע על מה היא טיפוסי lavrec תפוקה בזמן הקלטה


0.06.14:22 int: 00040 lst:0 ins:0 del:0 ae:0 td1=0.014 td2=0.029

החלק הראשון מראה את הזמן שבו lavrec מקליט. int: המרווח בין שתי פריימים.
ראשון: מספר הפריימים האבודים. תוספות ו דל: הם מספר המסגרות שהוכנסו ונמחקו
לתיקון סנכרון. ae: מספר שגיאות שמע. td1 ו td2 האם זמן האודיו/וידאו-
הבדל.

(int) מסגרת הפסקה צריך להיות בסביבות 33 (NTSC) או 40 (PAL/SECAM). אם זה מאוד
אחרת, סביר להניח שתקבל הקלטה גרועה ו/או הרבה פריימים אבודים

(לסט) אבוד מסגרות הם רעים ומתכוונים שמשהו לא עובד טוב מאוד במהלך
הקלטה (HD איטי מדי, שימוש גבוה מדי במעבד,...) נסה להקליט עם דצימציה גדולה יותר
ואולי באיכות נמוכה יותר.

(תוספות, דל) מוכנס OR נמחק מסגרות מהם רגילים → סנכרון. אם יש לך הרבה אבודים AND
מסגרות שהוכנסו, אתה מבקש יותר מדי מהמכונה שלך. השתמש באפשרויות פחות תובעניות או
נסה כרטיס קול אחר.

(ae) אודיו שגיאות אף פעם לא טובים. צריך להיות 0

(td1, td2) זמן הבדלתמיד צף סביב 0, אלא אם תיקון הסנכרון מושבת
(--סנכרון!=2, 2 הוא ברירת מחדל).

הערות על "לשזור לשלב שדה להזמין - מה יכול go לא נכון ו אֵיך ל קבוע זה"


ראשית, מה המשמעות של סדר שדות שזור שגוי?

שרשרת עיבוד התמונה mjpegtools מכוונת מסגרת. מכיוון שזה חומר וידאו ש
נלכדת כל פריים המורכב משדה עליון (השורה 0, 2, 4 וכן הלאה) ו-
השדה התחתון (השורה הראשונה, השלישית, החמישית וכן הלאה).

ישנם שלושה דברים רעים שיכולים לקרות עם שדות

זו באמת בעיה רק ​​עבור סרטים בסרטון PAL שבו כל פריים של סרט נשלח כ-a
זוג שדות. אלה יכולים להישלח תחילה בשדה העליון או התחתון ולמרבה הצער זה לא תמיד
אותו דבר, אם כי נראה שתחתון-ראשון הוא רגיל. אם אתה מצלם בסדר שדה שגוי
(אתה מתחיל ללכוד כל פריים עם תחתית ולא עליון או להיפך) הפריימים
של הסרט מתחלקים *בין* פריימים בזרם. הושמע בטלוויזיה שבה כל אחד
השדה מוצג בפני עצמו, זה לא מזיק. רצף השדות המושמעים הוא
זהה בדיוק לרצף השדות המשודרים. למרבה הצער, משחק בחזרה על a
צג מחשב שבו שני השדות של מסגרת מופיעים בבת אחת זה נראה *נורא* בגלל
כל פריים למעשה מערבב שני רגעים בהפרש של 1/25 שנייה בזמן.

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

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

כיצד אוכל לזהות אם יש לי אחת מהבעיות הללו?

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

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

בעיית שזירה

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

אם אתה משתמש ב-glav או lavplay, הקפד להשתמש גם ב- -F/--הבהוב אוֹפְּצִיָה. זֶה
משבית כמה דברים שמשפרים את התמונה.

אם אתה רוצה להסתכל על הסרטון אתה יכול גם להשתמש ב-yuvplay:

> lav2yuv ... yuvplay

אם יש בעיית הזמנת שטח כדאי לראות אותה עם yuvplay.

איך אפשר לתקן את זה?

כדי לתקן את זה יש "להעביר" את השדות דרך המסגרות. השתמש ב-yuvcorrect's -T
BOTT_FORWARD/TOP_FORWARD כדי לשנות את האופן שבו שדות מוקצים למסגרות. אתה יכול לגלות
סדר השדה הנוכחי עבור קובץ MJPEG על ידי הסתכלות על השורות הראשונות של ניפוי באגים
פלט מ: > lav2yuv -v 2 the_mjpeg_file > / dev / null או להקליט מחדש את החלפת הקלטות -f a ל -F
A או להפך.

גם זה לא נורא. השתמש בכלי שפשוט מחליף את השדה העליון והתחתון בשנייה
זְמַן. yuvcorrect יכול לעשות זאת באמצעות -T LINE_SWITCH.

קל לתקן. או שתגיד לכלי איפשהו לתייג מחדש את השדות או פשוט תגיד את
שחקן להשמיע בסדר מוחלף (ניתן לעשות את האחרון "בעקיפין" על ידי הסבר
mpeg2enc בעת קידוד ל להפוך מה היא דגל (-z b│t) זה אומר למפענח איזה שדה
כדי להשתמש.

In להזמין ל לקבוע בדיוק מה סוג of תִשׁזוֹרֶת בְּעָיָה אתה יש, אתה צורך ל
תמצית כמה מסגרות החל מ- מה היא מוקלט זרם ו לקחת a להסתכל at להם you

> mkdir pnm
> lav2yuv -f 40 video.avi │ y4mtoppm │ pnmsplit - pnm/image%d.pnm
> rm pnm/image?.pnm
> CD pnm
> xv

ראשית אנו יוצרים ספרייה שבה אנו מאחסנים את התמונות. lav2yuv -f 40 כותב רק את
40 הפריימים הראשונים ל-stdout. התוכנית y4mtoppm ממירה את הפריימים לתמונות pnm ואת
pnmsplit מפצל את התמונה לשתי מסגרות בתמונה לשתי תמונות בודדות. אז אנחנו
הסר את 10 התמונות הראשונות מכיוון ש-pnmsplit אינו תומך במספור %0xd. בלי א
אפס מוביל במספר, הקבצים ימוינו בסדר הלא נכון, מה שמוביל ל
השמעה מבלבלת.

השתמש בתוכנת הגרפיקה האהובה עליך (xv למשל) כדי לצפות בתמונות. כמו כל תמונה
מכילים רק שדה אחד מתוך שניים הם יופיעו בקנה מידה אנכי. אם אתה מסתכל על
תמונות אתה צריך לראות את הסרט מתקדם לאט.

אם יש לך סרט, אתה תמיד צריך לראות 2 תמונות שהן כמעט זהות (כי
מסגרת הסרט מפוצלת לשני שדות לשידור) אחד אחרי השני. אתה יכול להתבונן
זה בקלות אם יש לך אפקטים מסרק כאשר אתה מפסיק את הסרט כי שני השדות יהיו
מוצג בו זמנית. לשתי התמונות ששייכות יחד צריך להיות זוגיות
מספר והמספר האי-זוגי הבא. אז אם תסתכל על תמונות: 4 ו-5 כמעט
זהים, 5 ו-6 שונים (יש תנועה), 6 ו-7 זהים, 7 ו-8 שונים, ....

כדי לתקן בעיה זו, עליך להשתמש ב-yuvcorrect's -T BOTT_FORWARD or TOP_FORWARD. אתה יכול
יש גם את הבעיה שסדר השדה (למעלה/תחתון) עדיין שגוי. אולי תצטרך
השתמש ב-yuvcorrect פעם שנייה עם -M LINE_SWITCH, או השתמש ב-mpeg2enc -z (b│t) אוֹפְּצִיָה.

כדי לראות אם ניחשתם נכון, יש לחלץ שוב את המסגרות ולסדר אותן מחדש באמצעות
yuvcorrect:

> lav2yuv -f 40 video.avi yuvcorrect -T אוֹפְּצִיָה y4mtopm pnmsplit - pnm/image%d.pnm

כאשר "OPTION" הוא מה שאתה חושב שיתקן את הבעיה. זה מיועד לחומר שהומר
מתוך סרט. חומר שהופק ישירות לטלוויזיה מטופל להלן.

היי, מה לגבי סרטי NTSC?

סרטים משודרים ב-NTSC באמצעות "3:2" הנפתח, כלומר חצי מהפריימים ללכוד
מכיל שדות ממסגרת סרט אחד וחצי שדות מ-1 פריימים. כדי לבטל את האפקט הזה עבור
קידוד MPEG יעיל שאתה צריך כדי להשתמש ב-yuvkineco.

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

אל תצפה שסדר השדה יהיה תמיד זהה (עליון או תחתון-ראשון) זה עשוי להשתנות
בין הערוצים, בין הסרטים, ואולי זה אפילו ישתנה בתוך סרט. אם זה
שינויים קבועים ייתכן שיהיה עליך לקודד עם mpeg2enc -I 1 או אפילו -I 2.

אתה יכול לקבל את הבעיות האלה רק אם אתה מקליט בגודל מלא!!!

יצירת סרטונים ממקורות אחרים

הנה כמה רמזים ותיאורים כיצד ליצור את הסרטונים ממקורות אחרים כמו
תמונות וסוגי וידאו אחרים.

אולי תעניין אותך גם להסתכל על ההמרה of קיימים MPEG-2
סָעִיף.

יוצרים קטעי וידאו החל מ- תמונות


אתה יכול להשתמש ב-jpeg2yuv כדי ליצור זרם yuv מתמונות JPEG נפרדות. הזרם הזה נשלח
ל-stdout, כך שניתן לשמור אותו בקובץ, מקודד ישירות לסרטון mpeg
באמצעות mpeg2enc או בשימוש לכל דבר אחר.

שמירת זרם yuv יכולה להתבצע כך:

> jpeg2yuv -f 25 -I p -j image%05d.jpg > result.yuv

יוצר את הקובץ result.yuv המכיל את נתוני הווידאו yuv עם 25 FPS. האפשרות -f היא
משמש להגדרת קצב הפריימים. שים לב ש-image%05d.jpg פירושו ששמות קבצי ה-JPEG
image00000.jpg, image00001.jpg וכן הלאה. (05 פירושו חמש ספרות, 04 פירושו ארבע ספרות,
וכו') יש צורך ב-I p לציון השזירה. אתה צריך לבדוק איזה סוג אתה
יש. אם אין לך שזירה פשוט בחר p עבור פרוגרסיבי

אם אתה רוצה לקודד וידאו mpeg ישירות מתמונות jpeg מבלי לשמור בנפרד
סוג קובץ וידאו:

> jpeg2yuv -f 25 -I p -j image%05d.jpg mpeg2enc -o mpegfile.m1v

עושה את אותו הדבר לעיל אבל שומר סרטון mpeg ולא סרטון yuv. ראה mpeg2enc
סעיף לפרטים על אופן השימוש ב-mpeg2enc.

אתה יכול גם להשתמש ב-yuvscaler בין jpeg2yuv ל-mpeg2enc. אם אתה רוצה ליצור SVCD
מתמונות המקור שלך:

> jpeg2yuv -f 25 -I p -j image%05d.jpg yuvscaler -O CDLS mpeg2enc -f 4 -o video.m2v

אתה יכול להשתמש באפשרות -b כדי להגדיר את מספר התמונה מלכתחילה. מספר ה
ניתן לציין תמונות לעיבוד באמצעות המספר -n. לדוגמה, אם הראשון שלך
התמונה היא image01.jpg ולא image00.jpg ואתה רוצה שיעבדו רק 60 תמונות
סוג:

>jpeg2yuv -b 1 -f 25 -I p -n 60 -j תמונה*.jpg yuv2lav -o stream_without_sound.avi

הוספת הסאונד לזרם אז:

> lavaddwav stream_without_sound.avi sound.wav stream_with_sound.avi

עבור קלט ppm יש את ppmtoy4m util. יש דף manpage עבור ppmtoy4m שאמור להיות
התייעץ לקבלת מידע נוסף.

כדי ליצור סרטון mpeg נסה את זה:

> חתול *.ppm ppmtoy4m -o 75 -n 60 -F 25:1 mpeg2enc -o output.m1v

cat כל קובץ *.ppm ל-ppmtoy4m. שם מתעלמים מ-75 הפריימים הראשונים (תמונות) והבאים
60 מקודדים על ידי mpeg2enc ל-output.m1v. אתה יכול להפעיל אותו ללא האפשרויות -o ו-n. ה
אפשרויות -F קובעות את קצב הפריימים, ברירת המחדל היא NTSC (30000:1001), עבור PAL אתה צריך להשתמש ב-F
25: 1.

ניתן להשתמש בפורמטים אחרים של תמונה גם אם יש ממיר ל-ppm.

>ls *.tga קסארגס -n1 tgatoppm ppmtoy4m yuvplay

רשימה של שמות קבצים (ls *.tga) ניתנת ל-xargs שמבצע את ה-tgatoppm עם אחד (-n
1) ארגומנט לכל קריאה, ומזין את הפלט ל-ppmtoy4m. הפעם הסרטון הוא רק
מוצג על המסך. ה-xargs נחוץ רק אם הממיר (tgatoppm) יכול לפעול רק
על תמונה בודדת בכל פעם.

אם אתה רוצה להשתמש בכלי 'המר' ImageMagick (אולר שוויצרי) נסה:

> להמיר * .gif ppm:- ppmtoy4m yuvplay

זה אומר לקחת את כל התמונות '.jpg' בספרייה, להמיר לפורמט PPM, להעביר ל-stdout,
ואז לppmtoy4m להמרה ל-y4m ....

פענוח זרמים עם mplayer


פענוח הזרמים עם mplayer הוא דרך נחמדה להביא כל סרטון ש-mplayer יכול
הפעל חזרה למשהו שאתה יכול לערוך או לקודד ל-mpeg עם mjpegtools. לשיטה זו יש
נבדק עם mplayer 1.0rc2 ואמור לעבוד עם גרסאות חדשות יותר

>mkfifo stream.yuv

> חתול stream.yuv yuv2lav -o mjpeg_wo.avi &

>mplayer -אין קול -noframedrop yuv4mpeg anyfile.mpg

>mplayer ריק pcm:file=anyfile.wav anyfile.mpg

עכשיו יש לך דוגמה של AVI מקודד ב-mjpeg ללא קול. הצליל יהיה בפנים
anyfile.wav. אתה יכול לבחור אם אתה רוצה להוסיף את הסאונד ל-AVI עם lavaddwav ו
ערוך את הקובץ לפני הקידוד.

אתה יכול גם להשתמש במקום yuv2lav, mpeg2enc או כל כלי אחר מכלי mjpeg כך
הפקודה שלך עשויה להיראות גם כך:

> חתול stream.yuv yuvdenoise yuvscaler -O CDLS mpeg2enc -f 4 -o video_svcd.m2v

להכניס את קובץ ה-wav לתוך mp2enc כדי לקודד אותו לאודיו MP2. ה yuv4mpeg האפשרות עובדת היטב
עם סוגי קלט אחרים המוזכרים בתיעוד mplayer.

פענוח MPEG-2 זרמים עם mpeg2dec


אתה יכול לפענח זרמי mpeg2 עם גרסת mpeg2dec המתוקנת שיוצרת זרמי yuv.
אתה יכול להעביר את זה לכל תוכנת mjpegtools אחרת. או שאתה משתמש בגרסת mpeg2dec
ישירות מהפרויקט libmpeg2 והשתמש במצב הפלט pgmpipe. עם ה pgmtoy4m
תוכנית אתה יכול להמיר את הפלט של pgm בחזרה ל-yuv.

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

> mpeg2dec -s -o pgmpipe ANYTS.VOB pgmtoy4m -i t -a 10:11 -r 30000:1001 mpeg2enc -f 8
newvideo.m2v

אתה יכול לפענח את השמע כמתואר ב ההמרה of קיימים MPEG-2 סָעִיף.

אחר דברים ל לדעת


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

אתה יכול לעבד את הזרמים לאחר מכן כפי שהיית עושה עם כל סרט mpeg או
וידאו אודיו משולב. אז ה ההמרה of קיימים MPEG-2 סעיף במסמך זה
יעניין. בודקים אם ההקלטה הצליחה

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

> משחק לאב -p S record.avi

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

הדרך הטובה יותר:

> משחק לאב -p H record.avi

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

אתה יכול גם לנסות:

> lavply -p C record.avi

מה שיפעיל אותו באמצעות החומרה אבל לפלט הווידאו של הכרטיס.

> glav record.avi

עושה אותו דבר כמו lavplay אבל יש לך GUI נחמד. האפשרויות ל-glav ול-lavplay הן
כמעט אותו דבר. ללא שימוש באפשרות השמעת SW משמש.

באמצעות השמעת חומרה נוצר אות עבור Composite ו-SVHS OUT כדי שתוכל
לצפות בסרט בטלוויזיה שלך.

> lav2yuv test.eli yuvplay

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

הערה: לאחר טעינת הדרייבר אתה צריך להפעיל את xawtv כדי להגדיר כמה דברים lavplay ו
glav לא, אבל הם נחוצים עבור HW-Playback. אל תשכח לסגור את xawtv !!

NOTE2: אל תנסו לשלוח גלב למשחק לרקע, זה לא יעבוד נכון!!!

NOTE3: השמעת SECAM היא כעת (12.3.2001) רק במונוכרום אך ההקלטה והקידוד
נעשה נכון.

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

ביאה בקרוב: יש כלי שהופך את קידוד סרטונים לפשוט מאוד: Linux Studio. אתה
יכול להוריד אותו ב:

ערוך את הסרטון

ערוך עם glav


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

תיאור כפתור גלב

יש לשמור את השינויים מכיוון ש-glav אינו עורך את הסרטון באופן הרסני. זֶה
פירושו שהסרטון המקורי נותר ללא נגיעה והשינויים נשמרים בתוספת
קובץ "עריכת רשימת" קריא עם עורך טקסט. קבצים אלה יכולים לשמש כקלט ל-
תוכניות lavtools אחרות כגון lav2wav, lav2yuv, lavtrans.

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

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

אם אתה רוצה לקבל גרסה "הרסנית" של הסרטון הערוך שלך השתמש:

> lavtrans -o short_version.avi -f a editlist.eli

-o

מציין את שם הפלט

-פא

מציין את פורמט הפלט (AVI למשל)

editlist.eli

הוא קובץ הרשימה שבו מתוארים השינויים. אתה יוצר את קובץ הרשימה עם
הלחצנים "שמור הכל" או "שמור בחירה" בגלב.

לאחד קטעי וידאו


> lavtrans -o stream.qt -f q record_1.avi record_2.avi ... record_n.avi

-o

מציין את שם קובץ הפלט

-fq

מציין את פורמט הפלט, quicktime במקרה זה

זה בדרך כלל לא נחוץ. זכור שיש מגבלת גודל קובץ של 2GB ב-32Bit
מערכות עם Glibc ישן יותר. בדרך כלל אין בעיה בימים אלה

נפרד נשמע


> lavtrans -o sound.wav -f w stream.avi

יוצר קובץ wav עם הצליל של stream.avi אולי נחוץ אם אתה רוצה להסיר
רעש או אם ברצונך להמיר אותו לפורמט קול אחר.

דרך נוספת לפצל את הצליל היא:

> lav2wav editlist.eli > sound.wav

נפרד תמונות


>mkdir jpg; lavtrans -o jpg/image%05d.jpg -f i stream.avi

ראשית צור את הספרייה "jpg". אז lavtrans תיצור תמונות JPG בודדות ב-jpg
ספרייה מהקובץ stream.avi. הקבצים יקבלו את השם: image00000.jpg,
image00001.jpg ....

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

אם אתה רוצה לקבל את התמונה בקובץ בודד אתה יכול להשתמש בגרסה זו

> lav2yuv -f 1 stream.avi y4mtopm -L >file.pnm

אם ברצונך לפצל את השדות לקבצים בודדים השתמש בזה:

> lav2yuv -f 5 ../stream.avi y4mtopm pnmsplit - תמונה%d.pnm

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

יוצרים סרט מעברים


הודות ל-lavpipe של Philipp Zabel אנחנו יכולים כעת לעשות מעברים פשוטים בין סרטים או
לשלב מספר שכבות של סרטים.

פיליפ כתב את המדריך הזה כיצד לבצע מעברים:

בואו נניח שהסצנה הזו פשוטה: יש לנו שני סרטוני קלט intro.avi ו- epilogue.mov ו
רוצה לבצע מעבר של intro.avi לאפילוג.mov עם משך של שנייה אחת (כלומר
25 פריימים עבור PAL או 30 פריימים עבור NTSC).

Intro.avi ו- epiloque.mov חייבים להיות מאותו פורמט (אותו קצב פריימים ו
פתרון הבעיה). בדוגמה זו שניהם קבצי PAL בגודל 352x288. intro.avi מכיל 250
מסגרות ו- epilogue.mov באורך 1000 פריימים.

לכן קובץ הפלט שלנו יכיל:

225 הפריימים הראשונים של intro.avi

מעבר של 25 פריימים המכיל את 25 הפריימים האחרונים של intro.avi ואת 25 הפריימים הראשונים
של epilogue.mov

975 הפריימים האחרונים של epilogue.mov

נוכל לקבל את 25 הפריימים האחרונים של intro.avi על ידי קריאה:

>lav2yuv -o 225 -f 25 intro.avi

-o 255, ההיסט, אומר lav2yuv להתחיל עם מסגרת # 225 ו
-f 25 גורם לו להוציא 25 פריימים משם והלאה.

אפשרות נוספת (מכיוון שקיזוזים שליליים נספרים מהסוף) היא:

> lav2yuv -o -25 intro.avi

ו-25 הפריימים הראשונים של epilogue.mov:

> lav2yuv -f 25 epilogue.mov

-o ברירת המחדל היא היסט של אפס

אבל אנחנו צריכים לשלב את שני הזרמים עם lavpipe. אז השיחה תהיה:

> lavpipe ”lav2yuv -o 255 -f 25 intro.avi" ”lav2yuv -f 25 epilogue.mov"

הפלט של זה הוא זרם yuv גולמי שניתן להזין ל-transist.flt.

יש ליידע את transist.flt על משך המעבר ועל האטימות של
הזרם השני בתחילת המעבר ובסוף:

-o מספר

אטימות של קלט שני בהתחלה [0-255]

-או מספר

אטימות של קלט שני בסוף [0-255]

-ד מספר

משך המעבר במסגרות

אטימות של 0 פירושה שהזרם השני שקוף לחלוטין (רק זרם אחד
גלוי), ב-255 זרם שני אטום לחלוטין.

במקרה שלנו השיחה הנכונה (מעבר מזרם 1 לזרם 2) תהיה:

> transist.flt -o 0 -O 255 -d 25

הפרמטרים -s ו-n שווים לפרמטרים -o ו-f של lav2yuv והם נחוצים רק
אם מישהו רוצה להציג רק חלק מהמעבר מכל סיבה שהיא. אנא
שימו לב שזה משפיע רק על חישובי הניפוח - אף אחד מהקלט לא באמת
דילג. אם אתה משתמש בפרמטר דלג (-s 30, למשל) עליך לדלג גם על
30 מסגרות ראשונות ב-lav2yuv (-o 30) על מנת לקבל את התוצאה הצפויה. אם לא עשית זאת
להבין את זה שלח אימייל למחברים או פשוט התעלם מ-s ו-n. הכל
ההליך בסופו של דבר יהיה אוטומטי.

עכשיו אנחנו רוצים לדחוס את זרם yuv עם yuv2lav:

> yuv2lav -f a -q 80 -o transition.avi

קורא את זרם ה-yuv מ-stdin ומוציא קובץ avi (-fa) עם מסגרות jpeg דחוסות
באיכות 80.

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

> ypipe ”lav2yuv -o 255 -f 25 intro.avi" ”lav2yuv -f 25 epilogue.mov" transist.flt -o 0
-O 255 -d 25 yuv2lav -f a -q 80 -o transition.avi

ניתן לכתוב את הסרטון המתקבל כ-LAV Edit List (קובץ טקסט רגיל) המכילה את
השורות הבאות:

רשימת עריכת LAV
יָדִיד
3
intro.avi
transition.avi
epilogue.mov
0
1
2

ניתן להזין את הקובץ הזה לתוך glav או lavplay, או שאתה יכול לצרף אותו לתוך mpeg2enc עם lav2yuv
או שלבו את כל החומר לקובץ mjpeg אחד עם lavtrans או lav2yuv│yuv2lav.

המרת הזרם לסרטוני MPEG או DIVx

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

אם אתה רוצה שיחת פקודה אחת לסרטוני mpeg נסה lav2mpeg בסקריפטים
בספרייה

הקידוד עם הסקריפט lav2mpeg נראה כך עבור פלט mpeg1:

>lav2mpeg -a 160 -b 2110 -d 320x240 -m mpeg1 -o output.mpg file.eli

יצור mpeg1 עם קצב וידאו של 2110kBit/sec ו-audiobitrate של 160 kBit/sec

ברזולוציה של 320x240

או ליצירת פלט mpeg2:

lav2mpeg -o mpeg2 -O output.mpg file.eli

יצור mpeg2 עם קצב סיביות ברירת מחדל באותה רזולוציה כמו רזולוציית הקלט

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

היצירה של סרטי MPEG-1 מוסברת עם דוגמאות נוספות ובפירוט רב יותר
כי רוב הדברים שניתן להשתמש בהם עבור MPEG-1 עובדים גם עבור הפלט האחר
פורמטים

ליצירת רצפי סטילס של VCD/SVCD (-f 6 / -f 7 ב-mpeg2enc) אתה צריך לראות:

יש צורך ברצפי סטילס ליצירת תפריטים ב-VCD/SVCD. יצירת תפריטים היא
מתואר בדוקו של vcdimager.

יוצרים נשמע


סרטוני MPEG-1 זקוקים לקבצי קול MPEG-1-Layer2 (MP2). עבור סרטוני MPEG-2 אתה יכול להשתמש
MPEG-1-Layer2 ו-MPEG1-Layer3 (MP3). אודיו MP3 אינו פורמט אודיו חוקי רשמית אבל
נגני VCD רבים יזהו אותו. אודיו MP3 אינו תקף עבור תקליטורי DVD. אתה צריך להישאר
ל-MP2 מכיוון שרבים מנגני MPEG-2 (נגן DVD למשל, בדרך כלל Windows
לגרסאות יש בעיות גדולות גם עם זה) אינן מסוגלות לנגן MPEG2-Video ו-MP3
נשמע.

mp2enc הוא מקודד אודיו MP2. מקודד toolame מסוגל גם לייצר קובץ MP2.
Toolame הוא הרבה יותר מהיר מ-mp2enc אבל Toolame אינו מבצע דגימה מחדש (48000 עד 44100
דגימות/שנייה). נגני חומרה רבים ינגנו תקליטורי SVCD באמצעות אודיו בקצב 48000. עבור MP3
יצירה אני בטוח שיש לך מקודד.

דוגמא:

> lav2wav stream.avi mp2enc -o sound.mp2

זה יוצר קובץ סאונד mpeg מתוך stream.avi עם קצב סיביות של 224kBit/sec ודגימה
קצב של 48kHz. אם לקובץ האודיו שלך יש 44.1kHz mp2enc מדגימה מחדש את האודיו ליצירת 48kHz
תְפוּקָה. אם אתה רוצה קצב דגימת פלט של 44.1kHz אתה צריך להוסיף -r 44100 ל-mp2enc
הפקודה

דוגמה

> חתול sound.wav mp2enc -v 2 -V -o sound.mp2

זה יוצר פלט תואם VCD (-V bitrate=224, סטריאו, קצב דגימה:44100)
קובץ ה-wav.

עם -v 2 mp2enc הוא יותר מילולי, בעוד הקידוד אתה רואה את מספר השניות של אודיו
כבר מקודד.

אתה יכול לבדוק את הפלט עם:

> plaympeg sound.mp2

הערה: plaympeg הוא נגן MPEG-1 עבור לינוקס, אתה יכול להשתמש גם בנגנים אחרים. עבור אודיו
בדיקה אתה יכול גם להשתמש mpg123. להפעלת אודיו ווידאו יש את האוניברסליים
נגן כמו VLC mplayer ואחרים.

המרה וידאו


יצירת סרטוני MPEG-1 ו-MPEG-2.

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

דוגמא:

lav2yuv stream.avi stream1.avi mpeg2enc -o video.m1v

זה יוצר קובץ וידאו עם ברירת המחדל של קצב סיביות קבוע של 1152kBit/sec. זה
קצב סיביות שאתה צריך אם אתה רוצה ליצור VCD. אתה יכול לציין קבצים נוספים וגם להשתמש ב-
מציין מיקום %nd. איפה n מתאר את המספר. כברירת מחדל mpeg2enc מניח שאתה רוצה
כדי לקודד סרטון לא שזור ל-Mpeg-1. אם אתה רוצה לקודד סרטון בגודל מלא עם
השזירה של הפקודה שלמעלה תיכשל.

דוגמא:

> lav2yuv streami%02d.avi mpeg2enc -b 1500 -r 16 -o video.m1v

mpeg2enc יוצר סרטון עם קצב סיביות של 1500kBit/s משתמש ברדיוס חיפוש של 16.
פירושו כאשר מנסים למצוא 16*16 מאקרו בלוקים דומים של פיקסלים בין מסגרות המקודד
מסתכל במרחק של עד 16 פיקסלים מהמיקום הנוכחי של כל בלוק. זה נראה פי שניים רחוק יותר
כאשר משווים בין מסגרות מסגרת אחת בנפרד וכן הלאה. ערכים סבירים הם 1 או 16. ברירת המחדל
הוא 16 אז הוספת האפשרות כאן היא חסרת תועלת. ערכים נמוכים יותר (0, 8), משפרים את הקידוד
מהירות אבל אתה מקבל איכות נמוכה יותר (חפצים גלויים יותר) בעוד ערכים גבוהים יותר (24, 32)
לשפר את האיכות במחיר המהירות. עם תיאור הקובץ של stream%02d.avi
כל הקבצים מעובדים התואמים דפוס זה עם 00, 01....

דרוג

באמצעות yuvscaler ניתן כעת גם לשנות את קנה המידה של הסרטון לפני קידודו. זה יכול להיות שימושי
למשתמשים עם כרטיסי DC10 או DC10+ אשר לוכדים ב-d 1 768x576 או -d 2 384x288
(PAL/SECAM) או -d 1 640x480 (NTSC).

אתה מקבל תיאור מלא של כל הפקודות על ידי קריאת דף ה-manage או הפעלת:

> yuvscaler -h

דוגמא:

> lav2yuv stream.avi yuvscaler -O VCD mpeg2enc -o video.m1v

זה ישתלם את הזרם לגודל VCD אשר עבור PAL/SECAM הוא 352x288 ועבור NTSC הוא
352x240. ה-yuvstream בקנה מידה מקודד ל-MPEG-1.

זה יכול גם לבצע קנה מידה SVCD ל-480x480 (NTSC) או 480x576 (PAL/SECAM):

> lav2yuv stream.avi yuvscaler -O CDLS -M BICUBIC mpeg2enc -o video.m1v

מילת המפתח מצב (-M) מאלצת את yuvscaler להשתמש באלגוריתמים bicubic באיכות גבוהה יותר עבור
הקטנת קנה מידה ולא אלגוריתמי ברירת המחדל לדגימה מחדש. העלאת קנה מידה מתבצעת תמיד באמצעות
אלגוריתם דו-קובי.

דוגמא:

> lav2yuv stream.avi yuvscaler -I USE_450x340+20+30 -O SIZE_320x200 mpeg2enc -o
video.m1v

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

הערה: yuvscaler יכול להגדיר אזור פעיל, ולהגדיר את כל השאר לשחור באמצעות: -I
ACTIVE_WidthxHeight+WidthOffset+HeightOffset קנה מידה באיכות גבוהה: y4mscaler

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

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

דוגמא:

> חתול raw.yuv y4mscaler -O להסיק=CLIP -O preset=DVD -O sar=PAL_Wide mpeg2enc video.m1v

בדוגמה זו y4mscaler ייקח את זרם הקלט וישנה אותו ל-PAL המתאים
גודל. אפשרות sar tell to scale היא לפורמט רחב (16:9). ה להסיק = קליפ אפשרות תהיה
אומר ל-y4mscaler שהוא יכול לגזור את הפסים העליונים והתחתונים כדי לשנות את קנה המידה לתוצאה המתקבלת
גודל.

דוגמא:

> mpeg2dec -o pgmpipe deluxe.m2v pgmtoy4m -x 420 jpeg -r 25:1 -i t y4mscaler -I
sar=64:36 -I פעיל=344x476+100+48 -O preset=DVD mpeg2enc -f 8 video.m1v

זוהי העבודה יותר עבור y4mscaler. יש לנו פורמט מקור PAL MPEG מוזר עם 544x576
פיקסלים בפורמט מסך רחב של 16:9, שיוצר פסים שחורים מסביב ל-4:3 המקורי
תמונה. פקודה זו מגדילה את התמונה לגודל מקורי של 4:3 ולוקחת רק את
מרכז מעניין. ה-SAR הוא יחס הגובה-רוחב לדוגמה הולך לאיבוד איפשהו אז אנו מציינים
את זה בהתחלה. אז זה מצוין שוב, ואז אתה אומר ל-y4mscaller את הגודל הפעיל
של התמונה שבה היא תשתמש כדי להגדיל. מילת המפתח הפעילה מטופלת אחרת ב
y4mscaler ו-yuvscaler. ה-DVD הוא מוגדר מראש לפורמט הפלט הרצוי. מ ה
פרמטרי stream y4mscaler יודע שזה זרם PAL ופרמטרי הפלט. אם
אם תרצה פלט של 16:9, תצטרך להשתמש במילת המפתח: DVD_WIDE.

הבדיקה נעשית על ידי:

> mplayer video.m1v

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

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

NOTE3:MPEG-1 לא תוכנן להיות VBR (זרם קצב סיביות משתנה) !! אז אם אתה מקודד
עם -q 15 mpeg2enc מגדיר את קצב הסיביות המקסימלי -b ל-1152. אם אתה רוצה VBR MPEG-1 יש לך
להגדיר -b גבוה מאוד (2500).

NOTE4:אולי כדאי לתת שמות טובים יותר מאשר video.mpg. רעיון טוב הוא להשתמש באפשרויות
כחלק משם הקובץ (לדוגמה: video_b1500_r16_41_21.m1v). אפשרות נוספת היא
לקרוא לכל קובצי האודיו של שכבה 2 ".mp2" לכל קבצי הווידאו MPEG-1 ".m1v" והכל
קבצי וידאו MPEG-2 ".m2v" קל לראות מה קורה אז. שמור .mpg עבור מרובה
זרמי MPEG-1/2.

מכניס מה היא זרמים יַחַד


דוגמא:

> מפלקס sound.mp2 video.m1v -o my_video.m1v

מכניס את ה-sound.mp2 ואת זרם video.m1v יחד ל-my_video.mpg

עכשיו אתה יכול להשתמש בנגן MPEG המועדף עליך ולצפות בו. כל השחקנים (gtv למשל)
מבוסס על ספריית SMPEG עובד היטב עבור MPEG-1. נגנים אחרים (שיכולים לנגן MPEG-2 בתור
כמו גם סרטי MPEG-1) הם: xmovie, xine ו-MPlayer VLC, אם להזכיר כמה.

הערה: אם ציינת את ה -S אפשרות עבור mpeg2enc mplex תפצל אוטומטית את
קבצים אם יש שם קובץ הפלט %d (נראה כמו: -o test%d.mpg) הקבצים
נוצרים בדרך זו קיטורים נפרדים MPEG עצמאיים!

NOTE2: ל-xine עשויה להיות בעיה בחיפוש דרך סרטונים. ל-mplayer יש בעיה עם
ה"חפש אחורה/קדימה" עם זרמי סיביות משתנים מכיוון שהוא הולך קדימה ב-
קובץ כמות הנתונים עבור זרם סיביות קבוע. הסכום הזה עשוי להיות משמעותי
יותר מ-10 שניות או דקה אחת (אלה הכמות ש-mplayer מחפש עבור כל לחיצה על
מקשי החצים). אז אל תתפלא אם זה מחפש הרבה יותר זמן קדימה או אחורה ממך
לְצַפּוֹת.

מִשְׁתַנֶה קצב סיביות רִבּוּב: זכור לומר ל-mplex שאתה מקודד ל-VBR (אפשרות-V) בתור
כמו גם mpeg2enc (ראה סקריפטים לדוגמה). זה *יכול* לזהות אוטומטית אבל זה לא עובד
עדיין. עליך לומר ל-mplex גודל מאגר וידאו גדול לפחות כמו זה שציינת
ל-"mpeg2enc" מספרים הגיוניים עבור MPEG-1 עשויים להיות קצב סיביות תקרה של 2800Kbps,
תקרה איכותית (רצפת קוונטיזציה) של 6 וגודל חיץ של 400K.

דוגמא:

> מפלקס -V -r 1740 אודיו.mp2 video_vbr.m1v -o vbr_stream.mpg

כאן אנו מרבים זרם סיביות משתנה. mplex הוא מרבבי מעבר יחיד אז זה
לא יכול לזהות את קצב הסיביות המקסימלי ועלינו לציין אותו. קצב הנתונים עבור הפלט
הזרם הוא: קצב סיביות אודיו + קצב סיביות וידאו שיא + 1-2% למידע מורכב. אם אודיו (-b
224) הוא 224kBit והסרטון הוא 1500kBit (מקודד עם -b 1500 -q 9) ואז יש לנו 1724 *
1.01 או בערך 1740kBit.

דוגמא:

> plaympeg my_video.mpg

or

> mplayer my_video.mpg

יוצרים MPEG-1 סרטונים


עבור סרטוני MPEG-1 אתה יכול להשתמש באודיו MP2 ובווידאו MPEG-1. תת-קבוצה של סרטי MPEG-1 הם
תקליטורי VCD. אתה יכול להשתמש ב-VBR (Variable BitRate) עבור הווידאו (למרות ש-VCD הם כמעט תמיד
השתמש בוידאו CBR) אך האודיו חייב להיות CBR (קצב סיביות קבוע).

MPEG-1 מומלץ עבור גדלי תמונה של עד 352x288 עבור PAL ו-352x240 עבור NTSC עבור
גדלים גדולים יותר MPEG-2 היא הבחירה הטובה יותר. אין רזולוציה מדויקת במקום MPEG-1
טוב יותר מ-MPEG-2. רק כדי להחמיץ, MPEG-1 לא יכול להתמודד עם מקורות שלובים. אם אתה
וידאו משולב אתה צריך MPEG-2 כדי לקבל קידוד תקין.

MPEG-1 דוגמה ליצירת אודיו

> lav2wav editlist.eli mp2enc -r 44100 -o sound.mp2

אתה יכול לשמור כמה סיביות על ידי אומר ל-mp2enc להשתמש בקצב סיביות נמוך יותר (אפשרות-b) כמו 160 או
192 kBit/s. האפשרות -r 44100 מאלצת את mp2enc ליצור קובץ שמע של 44.1kHz.

> lav2wav editlist.eli mp2enc -b 128 -m -o sound.mp2

זה יוצר פלט מונו עם קצב סיביות של 128kBit/sec bitrate. הקלט הפעם הוא
קובץ ה-editlist (יכול להיות כל שם) שנוצר עם glav כך שכל השינויים שביצעת ב-glav הם
עיבוד ישיר ונמסר ל-mp2enc. אינך חייב ליצור זרם ערוך
עם lavtrans כדי להמיר אותו כראוי.

דוגמה ליצירת וידאו MPEG-1

> lav2yuv editlist.eli mpeg2enc -b 2000 -r 24 -q 6 -o video.m1v

mpeg2enc יוצר סרטון עם קצב סיביות של 2000kBit/s (או 2048000Bit/s) אבל הדגל -q
מפעיל את קצב הסיביות המשתנה ומקדם איכות של 6. הוא משתמש ברדיוס חיפוש של 24.

הסבר:כאשר mpeg2enc מופעל ללא דגל 'q' זה יוצר "קצב סיביות קבוע"
זרמי MPEG. איפה (באופן רופף) חוזק הדחיסה (ומכאן תמונה
איכות) מותאמת כדי להבטיח שבממוצע לכל פריים של וידאו יש בדיוק את
מספר ביטים שצוין. יש צורך בזרמי קצב סיביות קבועים כאלה לשידור ו
עבור חומרה בעלות נמוכה כמו נגני DVD ו-VCD המשתמשים בחומרת נגן איטי במהירות קבועה.

ברור שזה די לא יעיל מכיוון שזה אומר שסצנות לא פעילות מנצלות ביטים שיכולים
עדיף "לבזבז" על סצנות המשתנות במהירות. הגדרת הדגל 'q' אומר mpeg2enc ל
ליצור זרמים בקצב סיביות משתנה. עבור זרמים כאלה קצב הסיביות שצוין הוא פשוט
מקסימום מותר. הפרמטר 'q' מציין את מידת הדחיסה המינימלית שתהיה
מיושם על ידי ציון כיצד בדיוק מידע תמונה מתועד. בדרך כלל 'q' יהיה
מוגדר כך שסצנות שקטות ישתמשו בפחות מהמקסימום שצוין (בסביבות 6 או 8) אבל
סצנות הנעות במהירות עדיין יהיו מוגבלות בקצב הסיביות. לצורכי ארכיון הגדרת א
קצב סיביות מקסימלי גבוה מספיק כדי שלעולם לא ניתן להגיע אליו (למשל 10Mbps) ו-aq של 2 או 3 הם
בחירות סבירות.

דוגמא:

> lav2yuv stream.avi yuvscaler -I ACTIVE_352x240+0+24 mpeg2enc -b 1152 -r 16 -4 1 -2 1
-o video.m1v

בדרך כלל יש בחלק העליון ובחלק התחתון גבול כמעט שחור ורוחב פס רב
משמש למשהו שאתה לא אוהב. האפשרות yuvscaler -I ACTIVE מגדירה את כל מה
אינו נמצא באזור המתואר לשחור אך גודל התמונות (352x288) אינו משתנה. אז אתה
יש גבול שחור אמיתי, המקודד משתמש רק בכמה ביטים לקידוד אותם. אתה עדיין
תואם לפורמט של ה-VCD בדוגמה זו. כדי לקבוע את חילוץ החלון הפעיל
מסגרת אחת לפורמט jpeg:

> lavtrans -f i -i 100 -o frame.jpg test.avi

השתמש בתוכנת התצוגה הגרפית המועדפת עליך כדי לקבוע את הגודל הפעיל. ה-4 1 ו
-2 אפשרויות 1 משפרות את האיכות בכ-10% אך ההמרה איטית יותר.

בגודל של 352x288 (1/2 גודל PAL נוצר בעת שימוש באפשרות -d 2 בעת הקלטה)
קצב הסיביות הדרוש הוא/צריך להיות בין 1000 - 1500kBit/s. עבור NTSC זה צריך להיות על
אותו דבר, כי התמונה קטנה יותר אבל יש יותר פריימים לשנייה מאשר ב-PAL.

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

דוגמא:

> lav2yuv stream.avi mpeg2enc -b 1500 -n s -g 6 -G 20 -P -o video.m1v

כאן ה-stream.avi יקודד עם:

-ב 1500

קצב סיביות של 1500kBit/sek

-ns

נורמת הקלט וידאו נאלצת ל-SECAM

-P

זה מבטיח ש-2 מסגרות B יופיעו בין מסגרות I/P סמוכות. מספר MPEG-1 נפוצים
מפענחים לא יכולים להתמודד עם זרמים שאין להם 2 B-frames בין מסגרות I/P

-g 6 -G 20

המקודד יכול לשנות באופן דינמי את גודל קבוצת התמונות כדי לשקף שינויים בסצנה.
זה נעשה על ידי הגדרת גודל GOP מקסימלי (דגל -G) גדול מהמינימום (דגל -g).
עבור VCD ערכים הגיוניים עשויים להיות מינימום של 9 ומקסימום של 15. עבור SVCD 9 ו-15
יהיו ערכים טובים. אם אתה רוצה להפעיל אותו רק על נגן SW אתה יכול להשתמש מיני-
ערכים מקסימליים.

דוגמא:

> lav2yuv stream*.avi mpeg2enc -b 1500 -r 16 -4 1 -2 1 -S 630 -B 260 -o
video_n1_1500_r16_41_21_S630_B240.m1v

lav2yuv מעבד את כל קבצי הזרם. אז mpeg2enc מקבל כמה אפשרויות שהופכות את
זרם מקודד נראה יפה יותר. באמצעות -S 630 פירושו ש-mpeg2enc מסמן את הזרם כך שה-mplex
יוצר זרם חדש כל 630MB. דבר אחד חשוב הוא השימוש ב- -B אפשרות אשר
מציין את קצב הסיביות שאינו וידאו (שמע ומידע מורכב). ה -B ערך של 260 צריך
יהיה בסדר עבור אודיו עם 224kBit ומידע מורכב. למידע נוסף עיין
בתסריטי הקידוד בספריית הסקריפטים.

דוגמה לריבוי MPEG-1

דוגמא:

> מורכב sound.mp2 video.m1v -o my_video.mpg

מכניס את הזרם sound.mp2 וה-video.m1v יחד ל-my_video.mpg. זה עובד רק כך
קל אם יש לך CBR (אפשרות -q לא הייתה בשימוש עם mpeg2enc).

דוגמא:

מפלקס -V -r 1740 אודיו.mp2 video_vbr.m1v -o vbr_stream.mpg

כאן אנו מרבים זרם סיביות משתנה. mplex הוא כעת מרבבי מעבר יחיד אז זה
לא יכול לזהות את קצב הסיביות המקסימלי ועלינו לציין אותו. קצב הנתונים עבור הפלט
הזרם הוא: אודיו bitrate + שיא קצב העברת וידאו + % 1-2 ל מפלקס מידע. אם אודיו (-b
224) יש 224kBit, וידאו יש 1500kBit (קודד עם -b 1500 -q 9) ואז יש לנו 1724 *
1.01 או בערך 1740kBit.

יוצרים MPEG-2 סרטונים


MPEG-2 מומלץ למקורות עם תמונה גדולה מ-352x240 עבור NTSC ו-352x288
עבור PAL. MPEG-2 יכול גם להתמודד עם מקורות שלובים כמו הקלטה מטלוויזיה במלואה
רזולוציה.

MPEG-2 מאפשר שימוש בצליל mpeg שכבה 3 (mp3). אז אתה יכול להשתמש במועדף שלך
מקודד mp3 ליצירת הצליל. עם זאת, אודיו MP3 אינו תקף עבור תקליטורי DVD. זה
עדיף להשתמש באודיו MP2 (שכבה 2). האודיו יכול להיות גם זרם VBR.

MPEG-2 הוא בדרך כלל זרם VBR. יצירת MPEG-2 עם אופטימיזציה דורשת הרבה מעבד
כּוֹחַ. סרט עם רזולוציה כפולה אינו גדול פי 4 מזרם MPEG-1.
בהתאם להגדרות האיכות שלך, זה יהיה בערך פי 1.5 עד פי 3 גדול יותר מאשר
זרם MPEG-1 ברזולוציה נמוכה יותר. דוגמה ליצירת שמע MPEG-2

> lav2wav editlist.eli mp2enc -o sound.mp2

אתה יכול לשמור כמה סיביות על ידי אומר ל-mp2enc להשתמש בקצב סיביות נמוך יותר (אפשרות-b) כמו 160 או
192 kBit/s. אולי תרצה להוסיף -r 44100 כך ש-mpeg2enc יפיק דגימה של 44.1kHz
לדרג אודיו. אני מקווה שאני לא צריך להסביר את השימוש במקודד MP3. אבל אתה צריך
אל תשתמש בכל האפשרויות המפוארות הקיימות. דוגמה ליצירת וידאו MPEG-2

> lav2yuv editlist.eli mpeg2enc -f 3 -b 3000 -q 9 -o video.m2v

דוגמה פשוטה מאוד עבור MPEG-2 Video. האפשרות החשובה ביותר היא -f 3. זה אומר
mpeg2enc שהוא צריך ליצור זרם MPEG-2. בגלל שזה MPEG-2 גנרי אתה חייב
השתמש באפשרויות קצב סיביות -b. וצריך להשתמש באפשרות -q כי אתה בדרך כלל רוצה רווח
שמירת זרם VBR. בעת שימוש בזרמי VBR, האפשרות -b אומרת ל-mpeg2enc את קצב הסיביות המקסימלי
שניתן להשתמש בה. האפשרות -q תגיד ל-mpeg2enc איזו איכות צריכה להיות לזרמים. ה
לקצב הסיביות יש גבול עליון של הערך שצוין ב-b.

> lav2yuv editlist.eli mpeg2enc -f 3 -4 1 -2 1 -Q7 -b 4500 -V 300 -P -g 6 -G 18 -I 1 -o
video.m2v

זה יפיק זרם MPEG-2 באיכות גבוהה יותר מכיוון שהאפשרויות -4 1 ו -2 1 היו
בשימוש. עם -b 4500 -q 7 אתה אומר ל-mpeg2enc את קצב הסיביות המקסימלי ואת גורם האיכות. -V
הוא גודל מאגר הווידאו המשמש לפענוח הזרם. עבור השמעת SW זה יכול להיות הרבה
גבוה מברירת המחדל. GOP דינמי מוגדר עם -g ו-G. גודל GOP גדול יותר יכול לעזור
להפחית את קצב הסיביות הנדרש עבור איכות נתונה, אבל גדלים גדולים מאוד יכולים להציג
חפצים עקב שגיאות עיגול מצטברות של DCT/iDCT. אפשרות ה-P מבטיחה גם ש-2
מסגרות B מופיעות בין מסגרות I/P סמוכות. האפשרות -I 1 אומרת ל-mpeg2enc שה-
המקור הוא חומר שזור כמו סרטונים. יש תנועה שזירה (שגוזלת זמן).
היגיון פיצוי קיים ב-mpeg2enc. Mpeg2enc ישתמש בהיגיון הזה אם הגודל של
הפריימים שאתה מקודד גדול מגודל ה-VCD עבור נורמת הטלוויזיה שלך.

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

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

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

בדרך כלל אתה צריך להגדיר קצב סיביות מקסימלי עם האפשרות -b. המשימה המסובכת היא לעשות
הגדר ערך לאפשרות -q ולאפשרות -b שמפיקה סרט נחמד ללא שימוש
רוחב פס רב מדי ואינו מציג יותר מדי חפצים.

יש לבחור גורם איכות כך שהפלט המשולב של Peak bit-rate ו
קצב הסיביות הממוצע שונה בכ-20-25%. אם ההבדל קטן מאוד (פחות מ
10%) סביר להניח שתתחילו לראות חפצים בסצנות בתנועה גבוהה. הכי
הסיבה השכיחה לכך שהשיעור הממוצע קרוב מדי (או שווה) לשיעור המקסימלי שגוי
ערך עבור קצב הסיביות המקסימלי או גורם איכות גבוה מדי.

שילוב שייצור יותר חפצים ממה שאתה יכול לספור הוא SVCD עם מקסימום
קצב סיביות וידאו של 2500kBit ומקדם איכות של 1 או 2. עבור SVCD עם מגבלת וידאו של
2500kBit מקדם איכות של 7-11 מתאים למדי (8 הוא ברירת המחדל). אם אתה משתמש בפילטר
תוכניות או מקור טוב מאוד כמו טלוויזיה דיגיטלית, חומר דמוי DVD או עיבוד
תמונות אתה יכול להשתמש במקדם איכות של 6 בעת יצירת SVCDs. אם נגן ה-SVCD/DVD שלך
תומך בקצבי סיביות לא סטנדרטיים אתה יכול להגדיל את קצב הסיביות מעל למקסימום הסטנדרטי של
2788 kBit/sek (וידאו פלוס אודיו). בעת שימוש בקצב סיביות גבוה יותר ובפעולת גורם איכותי
הסצנות ייראו הרבה יותר טוב אבל כמובן שזמן ההשמעה של הדיסק יהיה פחות.

אותו גורם איכות (7-11) לתמונה בגודל מלא וקצב סיביות עליון של 3500 עד 4000
kBit יפיק מעט חפצים.

עבור SVCD/DVD אתה יכול לצפות לתוצאה כמו זו שתוארה אם קצב הסיביות המקסימלי אינו
מוגדר נמוך מדי:

q <= 6 תמונות חדות אמיתיות, ואיכות טובה
q <= 8 באיכות טובה
q >= 10 איכות ממוצעת
ש >= 11 לא כל כך טוב
q>= 13 כאן אפילו רצפי סטילס עשויים להיראות מסורבלים

קידוד טלוויזיה יעד (שזירה) או צג (פרוגרסיבי)

MPEG-2 תומך בנתונים שלובים בנוסף לפורמט הפרוגרסיבי. סרט MPEG-2 יכול
להיות שלובים או פרוגרסיביים. זה תלוי במקור (סרט או שידור) וב-
מכשיר צפייה.

אם אתה מקודד סרט שני השדות צריכים להיות זהים. בטל את השזירה של הזרם עם
yuvdeinterlace, או אם יש לך מקור באיכות גבוהה, ואתה לא צריך להשתמש ב-denoiser
עם yuvcorrect -T NOT_INTERLACED. הגדר גם את האפשרות mpeg2enc interlace-mode (-I) ל-0.
זה אומר שאין שזירה. אנחנו לא באמת צריכים deinterlacing כאן כי
אין תנועה בין שדות המסגרת. אנחנו רק צריכים לאחד את שני התחומים
לתוך מסגרת פרוגרסיבית אחת.

הסרט הזה אמור להפעיל כל מכשיר (טלוויזיה או צג) ללא בעיות.

אם יש לך מקור שזור (שידור) אתה יכול לקודד אותו כזרם שזור. אוֹ
בטל את השזירה של הזרם וקודד אותו כזרם פרוגרסיבי. אם אתה מבטל את זה עם
yuvdeinterlace תאבד פרטים. אבל אם אתה מתכנן לנגן את הזרם המוקלט על שלך
נגן DVD והטלוויזיה שלך זה לא יהיה חכם לבצע deinterlacing. אם רק תרצה
הפעל אותה בצג (תצוגה פרוגרסיבית) התמונה נראית טוב יותר בעת הפעלתה
בחזרה אם הוא דה-שזירה. אם הנגן שבו אתה משתמש יכול לבצע דה-שזירה זה לא משנה
אם לסרטון המקודד שלך יש פריימים משולבים או פריימים פרוגרסיביים.

אם אתה מתכנן לבטל את השזירה של הזרם אתה יכול לעשות זאת רק עם yuvdeinterlace ולהגדיר את
mpeg2enc -I 0. אם אתה לא רוצה לבטל את השזירה של הזרם, אתה לא צריך להגדיר שום
אפשרות מיוחדת (אל תשתמש ב-yuvdeinterlace ו-mpeg2enc -I 0)

אם אתה רוצה להשהות את הזרם ולהסתכל על הסטילס, עליך לבטל את השזירה. בגלל שאז
התמונה נטולת מהבהבים בעת השהייה.

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

לסרט טוב עם צילומי סטילס ממוצעים אל תבטל את השזירה. לקטעי סרטים ממוצעים עם
תמונות סטילס טובות ולאחר מכן דה-שזירה (באמצעות yuvdeinterlace ו-mpeg2enc -I 0). MPEG-2 Multiplexing
דוגמה

> מפלקס -f 3 -b 300 -r 4750 -V אודיו.mp3 video.m2v -o final.mpg

כעת שני הזרמים (אודיו mp3 ווידאו mpeg2) משולבים לזרם יחיד
(final.mpg). אתה צריך להשתמש ב -f 3 אפשרות לומר ל-mplex את פורמט הפלט. גם אתה
צריך להוסיף את -b אפשרות גודל מאגרי מפענח עם אותו ערך המשמש בעת קידוד ה
וִידֵאוֹ. -r הוא שיעור זה של וידאו + אודיו +1-2% של מידע מורכב.

השמיים -Voption אומר שהמקור שלך ל-mplexing הוא זרם VBR. אם אתה לא משתמש בזה
option mplex יוצר משהו כמו זרם CBR עם קצב הסיביות שסיפרת לו
מה היא -r אוֹפְּצִיָה. הזרמים האלה בדרך כלל נהיים גדולים.

יוצרים וִידֵאוֹ תקליטורים (תקליטורי VCD)


VCD היא גרסה מוגבלת של וידאו MPEG-1. פורמט VCD הוגדר על ידי פיליפס. המטרה
היה להשתמש בכונן CD במהירות בודדת ובחומרה זולה אחרת (לא גמישה) כדי שיהיה זול
HW-Player. בגלל זה יש מגבלות על וידאו ואודיו המשמשים לייצור VCD.
קצב הסיביות עבור וידאו הוא 1152kBit ו-224kBit/sek MP2. אסור לך להשתמש
אפשרות ה-q, גדלי GOP דינמיים ומאגר הווידאו מוגבלים ל-46kB. גודל התמונה
מוגבל ל-352x240 עבור NTSC, ול-352x288 עבור PAL.

אם אין לך נגן VCD (בלבד) ואתה מתכנן להשתמש בנגן ה-DVD שלך אז זה די
אפשרי שנגן ה-DVD יהיה גמיש מספיק כדי לאפשר קצבי סיביות גבוהים יותר, GOP דינמי
גדלים, מאגר וידאו גדול יותר וכן הלאה דוגמה ליצירת שמע VCD

> lav2wav stream.avi mp2enc -V -o sound.mp2

-V כוח פלט תואם VCD 2.0. שם קצב דגימת השמע קבוע ל-44.1kHz. ו
אתה יכול לבחור את קצב סיביות האודיו עבור אודיו מונו להיות 64, 96 או 192kBit/sek. אם יש לך
אודיו סטריאו אתה יכול לבחור 128, 192, 224 או 384kBit/sek. עבור נגני חומרה, אתה
צריך להיצמד ל-44.1 224kBps שכבת סטריאו 2 Audio.VCD יצירת וידאו דוגמה

> lav2yuv stream.avi yuvscaler -O VCD mpeg2enc -f 1 -r 16 -o video.mpg

עבור פלט תואם VCD, -f 1 מגדיר את כל האפשרויות ב-mpeg2enc לפי הצורך. נראה כי
נגני VCD רבים (Avex למשל) אינם מסוגלים לנגן זרמי MPEG מקודדים
עם רדיוס חיפוש גדול מ-16 אז אל תשתמש באפשרות -r כדי לעקוף את ברירת המחדל
של 16.

> lav2yuv streams.eli mpeg2enc -f 1 -4 1 -2 1 -S 630 -B 260 -P -o video.m1v

שימוש '-ס 630 ' פירושו ש-mpeg2enc מסמן את הזרם כך שה-mplex יוצר זרם חדש
כל 630MB. דבר אחד חשוב הוא השימוש ב- -B אפשרות שמציינת את הווידאו שאינו
קצב סיביות (שמע ומידע מורכב). הערך -B של 260 אמור להיות בסדר עבור אודיו עם
224kBit ומידע מורכב. למידע נוסף עיין בתסריטי הקידוד
בספריית הסקריפטים. הזרמים המרובבים צריכים להתאים בקלות לתקליטור של 650MB.

ערך ברירת המחדל (-B) הוא 700MB עבור הסרטון. mpeg2enc מסמן אוטומטית כל זרם
בגודל זה אם האפשרות -B אינה משמשת להגדרת ערך שונה. אם יש לך דיסק
שבו אתה יכול לכתוב נתונים נוספים (אולי עד 800MB) עליך להגדיר את האפשרות -S או
אחרת mpeg2enc יסמן את הזרם ב-700 מגה-בייט, ו-mplex יפצל את הזרם שם.
וזה כמעט בטוח לא מה שאתה רוצה.

דוגמה לריבוי VCD

> מפלקס -f 1 sound.mp2 video.mpg -o vcd_out.mpg

האופציה -f 1 מפעילה הרבה דברים מוזרים שאחרת אין להם מקום במכובד
מרובה! יצירת התקליטור

יש להמיר את הזרמים המרובבים ל-VCD תואם. זה נעשה על ידי
vcdimager

> vcdimager testvideo.mpg

יוצר א videocd.bin, קובץ הנתונים וא videocd.cue המשמש כקובץ בקרה עבור
cdrdao.

אתה משתמש ב-cdrdao כדי לצרוב את התמונה. Cdrdao הוא עוד פרויקט Sourceforge משובח
נמצא ב: הערות

עבור קידוד MPEG-1, תוכנית טיפוסית (45 דקות ריצה) או סרט של 90 דקות מוזרות מתוך
שידור אנלוגי קצב סיביות קבוע של בסביבות 1800 kBit/sec אמור להיות אידיאלי. ה
הקבצים המתקבלים הם בסביבות 700 מיליון למשך 45 דקות, מה שמתאים היטב כנתוני XA MODE2 גולמיים
רצועה ב-CD-R. עבור מקורות דיגיטליים טהורים (זרמי DTV או DVD וכדומה) VCD 1152 עובד
בסדר גמור.

הערה: אם אתה מקודד VBR MPEG-1 (-q) זכור שהחומרה כנראה לא תוכננה לעשות זאת
ההשמעה כי היא לא במפרט. אם זה עובד תשמח מאוד. יש לי
שמתי לב שזה עוזר כשיש לך זרם MPEG-1 להגיד ל-vcdimager שזה SVCD.
vcdimager מתלונן (אבל רק עם אזהרה ולא שגיאה קטלנית) אבל אתה אמור להיות מסוגל
לשרוף אותו. זה יכול לשכנע את השחקן להשתמש בשגרות שונות בקושחה שלו וב
הפעל אותו נכון אבל אין ערובה לכך. אחסון MPEGs

אם אתה מקליט את הנתונים כרצועות XA מצב 2 אתה יכול להתאים הרבה יותר לתקליטור (ב-
הוצאות תיקון/איתור שגיאות). אתה יכול להשתמש ב-vcdimager כדי לעשות זאת וב-vcdxrip (חלק
של חבילת vcdimager) כדי לחלץ ("לקרוע") את הקבצים שהתקבלו. לאיכות טובה יותר שם
הם SVCD ו-XVCD ו-DVD.

נכון לעכשיו SVCD נתמך במלואו עם פורמט מוגדר מראש ב-mplex וכלים ליצירה
דיסקים. זרמי MPEG שניתן לנגן על ידי חומרה ותוכנה של נגן DVD יכולים בקלות
מיוצר באמצעות mpeg2enc/mplex

אם הנגן שלך לא תומך ב-SVCD, אתה עשוי לגלות שהוא יכול להתמודד עם זרמי VCD שיש להם
הרבה יותר גבוה מקצבי סיביות רגילים. לעתים קרובות עד 2500kBit/sec אפשרי. ה
מספר מותגים של נגני DVD יכולים גם לנגן באופן פראי מחוץ לתקליטורי SVCD ו-VCD. עם
קצבי סיביות גבוהים יותר וחומר מקור באיכות טובה שווה לנסות את הדגל -h של mpeg2enc
שמייצרים זרם חד כפי שמתירים גבולות תקן VCD.

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

יוצרים CDLS


Super Video CD (SVCD) הוא שיפור ל-Video CD שפותח על ידי סיני
ועדה בתמיכת הממשלה של יצרנים וחוקרים. מפרט SVCD הסופי היה
הוכרז בספטמבר 1998. הסבר טוב על פורמט SVCD של פיליפס יכול להיות
נמצא כאן: .

הקלט ברזולוציית טלוויזיה מלאה (פירושו: -d 1 עבור PAL זה 720x576) הרזולוציה היא עבור
NTSC הוא 480x480 של PAL 480x576, אז אתה יודע למה אתה צריך להקליט בגודל מלא. SVCD Audio
דוגמה ליצירה

> lav2wav stream.avi mp2enc -V -e -o sound.mp2

מפרטי SVCD מאפשרים מבחר רחב בהרבה של קצבי שמע, אין צורך בכך
השתמש ב-224 kBit/sek. כל קצב שמע בין 32 ל-384 kBit/sek מותר. האודיו עשוי
להיות VBR (קצב סיביות משתנה). ה-e מאפשר הגנת שגיאות CRC עבור השמע. ה-CRC
חייב להיות מופעל כדי להיות תואם לתקן SVCD אבל נראה שרוב השחקנים לא משלמים
תשומת לב למידע ה-CRC. מידע ה-CRC צריך 2 בתים לכל מסגרת אודיו

נוסחת אורך המסגרת המשוערת עבור MPEG-1 שכבה-II היא:

(אורך מסגרת בבתים) = 144 * (קצב בייטים) / (קצב דגימה)

אם יש לך את הגדרות ה-VCD האופייניות, נתוני ה-CRC צריכים בערך 0,27% מכלל הנתונים. ב
במקרה הגרוע ביותר שבו יש לך זרם MONO 32k Bitrate, נתוני ה-CRC צריכים 1,92%.SVCD
דוגמה ליצירת וידאו

> lav2yuv stream.avi yuvscaler -O CDLS mpeg2enc -f 4 -q 7 -I 1 -V 200 -o video.m2v

-f 4

מגדיר את האפשרויות עבור mpeg2enc ל-SVCD

-q 7

אמור ל-mpeg2enc ליצור זרם קצב סיביות משתנה

-אני 1

תגיד ל-mpeg2enc להניח שהאות המקורי הוא וידאו משולב בשדה שבו האי-זוגי
שורות של פיקסלים נדגמות במרווח של חצי מסגרת אחרי השווים בכל מסגרת. ה-I
אפשרות 0 (פלט פרוגרסיבי (ללא תמונות שדה)) תעבוד גם עבור PAL

אתה יכול להשתמש בקצבי סיביות נמוכים יותר אך מגבלות התקן SVCD סה"כ קצב סיביות (שֶׁמַע ו וִידֵאוֹ)
ל 2788800 סיביות/שנייה. אז עם אודיו של 224Kbps ותקורה 2550 עשויים להיות גם בשוליים
הדוק. מכיוון שפורמט SVCD מאפשר כל קצב שמע בין 32 ל-384 kBit/sek
חסוך כמה ביטים/שנייה על ידי שימוש באודיו של 192k (או עבור חומר לא מוזיקלי 160k).

SVCD תומך בקצב סיביות משתנה (VBR), מכיוון ש-MPEG-2 הוא בדרך כלל VBR, אבל עם החלק העליון
מגבלת קצב סיביות של וידאו של 2500kBit/sek. עם הדגל -f 4 המקודד גם מגדיר GOP דינמי
עם גבול נמוך של -g 6 וגבול גבוה של -G 18. זה חוסך כמה ביטים/שנייה ומשפר
איכות התמונה במהלך שינויי סצנה. כאשר קידוד עם -f 4 mpeg2enc מתעלם מה-
אפשרויות קצב סיביות של וידאו (-b) ורדיוס חיפוש (-r). אם אתה משתמש ב-f 5 אתה צריך לציין את
bitrate ואפשרויות אחרות ל-mpeg2enc.

אפשרות נוספת לסרטים בווידאו PAL (סגנון אירופאי 25 פריימים/50 שדות לשנייה).
היא:

> lav2yuv stream.avi yuvscaler -O CDLS mpeg2enc -f 4 -I 0 -V 300 -o video.m2v

הסרטים מצולמים על סרט במהירות של 24 פריימים לשנייה. עבור שידור PAL הסרט פשוט מוצג
מעט "מהיר מדי" ב-25 פריימים לשנייה (בכאב של אנשים עם גובה גובה מוחלט
תחושת הגובה). הדגל -I 0 מכבה את החישובים המייגעים הדרושים כדי לפצות עליהם
שילוב שדות נותן קידוד מהיר בהרבה.

למרבה הצער, סרטים המשודרים בסרטון NTSC (סגנון ארה"ב 30 פריימים/60 שדות שניות)
לייצר דחיסה גרועה מאוד. דגימת ה-"pulldown" נהגה לייצר 60 שדות בשנייה
מ-24 פריימים סרט שני אומר שחצי מהפריימים ב-NTSC *משולבים* בשדה.

אל תשכח את האפשרויות -S ו-B שהוזכרו לעיל. אתה רוצה שהזרם יתאים לתקליטור
אתה לא? דוגמה לריבוי SVCD

> מפלקס -f 4 -b 300 -r 2750 sound.mp2 video.m2v -o svcd_out.mpg

-f 4

אומר ל-mplex ל-mplex SVCD

-ר 2750

הוא המידע המחושב של Audio + Video Bitrate + 1-2% מידע מרובי

-ב 300

הוא המאגר הזמין בהתקן ההפעלה (אותו ערך שבו נעשה שימוש בסרטון
קידוד (אפשרות -V של mpeg2enc). SVCD יצירת התקליטור

דוגמא:

> vcdimager -t svcd testvideo.mpg

יוצר א videocd.bin, קובץ הנתונים וא videocd.cue המשמש כקובץ בקרה עבור
cdrdao.

השתמש ב-cdrdao כדי לצרוב את התמונה כפי שהוזכר קודם לכן.

הערה:אם אתה רוצה לבנות VCD/SVCD "מותאם אישית" תצטרך להשתמש ב-mplex -f 2 ו-f 5
מתגים.

הערה:חומרי ה-VCD וה-SVCD עשויים לעבוד על נגן ה-HW שלך או לא. יש הרבה דיווחים על כך
זה עובד די טוב. אל תדאג אם זה לא יעבוד. אני גם לא אחראי
תקליטורים בלתי שמישים. ("תחתיות")

יוצרים DVD של


הקביעה הזו הייתה נכונה לפני כמה שנים: הכל בסעיף זה חדש. ה
ייתכן שהמגבלות שאני מזכיר כאן לא קיימות בגרסה הנוכחית. נכון לעכשיו (דצמבר 2007)
יצירת DVD עובדת.

ברור שאתה צריך סופר DVD. אכן היה לי DVD+RW של Ricoh שעובד, ואני יודע על DVD-
סופר RAM שמסוגל לצרוב DVD-R. דיסקים עובדים גם עם נגן DVD. עכשיו הרוב
סופרי DVD מסוגלים לצרוב גם מדיה + וגם -, אז זה לא אמור להיות בעיה יותר.
אילו תוכניות אתה משתמש לצריבה תלוי בכונן כותב ה-DVD.

ליצירה ולכתיבה של קבצי VOB, IFO ו-BUP אנו משתמשים ב-dvdauthor. זמין מ
Sourceforge (אולי ניחשתם נכון) דוגמה ליצירת שמע DVD

> lav2wav stream.eli mp2enc -o sound.mp2

קצב הדגימה חייב להיות 48kHz. ה-mp2enc אכן יוצר כברירת מחדל קצב דגימה של 48kHz.
אם זה לא 48kHz mp2enc ידגום מחדש את האודיו כדי לקבל את קצב הדגימה. אם השמע
מוקלט ב-48kHz אז אין צורך בדגימה מחדש וניתן להשתמש ב-Toolame עבור הקידוד
(זה מהיר יותר מ-mp2enc). דוגמה ליצירת וידאו DVD

> lav2yuv stream.eli mpeg2enc -f 8 -o video.m2v

-f 8

זה מגדיר את האפשרויות בצורה נכונה עבור סרטון MPEG-2 התואם ל-DVD
תֶקֶן. קצב הסיביות המרבי מוגדר ל-7500kBps וגודל מאגר הווידאו מוגדר ל-
230KB. גורם האיכות המוגדר כברירת מחדל מוגדר ל-8. mpeg2enc מגדיר את הנוכחי ללא אוטומטי
אורך רצף כפי שהוא עושה עבור VCD/SVCD.

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

lav2yuv moby.eli yuvdenoise mpeg2enc -f 8 -q 7 -4 1 -2 1 -P -I 0 -N -o
video_DVD.m2vדוגמה לריבוי DVD

> מפלקס -f 8 sound.mp2 video.m2v -o my_dvdlikestream.mpg

-f 8

כאן שוב אנו מציינים שאנו רוצים לקבל זרם DVD כמו MPEG. mplex לא יכול לעשות את כל
דברים מפוארים אפשרו ל-DVD, אבל זה מספיק קרוב כדי שנגני HW-DVD יקבלו את זה.

-o

שם אנו מציינים את שם קובץ הפלט. דוגמה ליצירת DVD

נושא זה יכוסה על ידי התיעוד של תוכנית dvdauthor. בשביל שאלות
בבקשה ראה באופן כללי זה יעבוד כך:

> מחבר dvd -o תְפוּקָה/ stream1.mpg stream2.mpg ... my_dvdlikestream.mpg; מחבר dvd -T -o
תְפוּקָה/

תקבל ספרייה עם ספריות AUDIO_TS ו-VIDEO_TS. צריבת הנתונים מ
הדיסק לסופר DVD+-R/+-RW ייעשה כך:

growisofs -Z /dev/scd2 -DVD-וידאו mydvd/

אם בבעלותך כונן DVD+RW/+R, מקום טוב למידע נוסף הוא:

עמוד. אתה צריך גם גרסה של cdrtools עם DVD-וידאו תמיכה. כלי cdrtools
ידוע כי 1.11a27 עובד אך כבר קיימות גרסאות חדשות יותר.

עבור כותבים אחרים הפקודות לכתיבת DVD יהיו שונות. אתה יכול לקבל עוד קצת
מידע בחבילת dvdauthor. אין ערובה שזה יעבוד בכלל!!!

יוצרים DIVX סרטונים


lav2avi.sh

דרך נוספת ליצור DIVX היא התוכנית מקודד שהוא מפרויקט mplayer. .
למידע נוסף על mencoder, קרא את העזרה והמסמכים של mencoder/mplayer. א
מעבר ראשון ושני נותנים בסוף המעבר רמזים לקצב סיביות שניתן להשתמש בו
קידוד לגודל ספציפי (650 MB, 700 MB ו-800 MB). הסקריפט lav2avi.sh משתמש בזה
מידע אם מסופק (עבור זרמים קצרים הוא מושמט על ידי mencoder). חפש פרמטר
גודל מועדף בתסריט. אתה יכול גם לציין פרמטרים אחרים המשמשים לקידוד עם
encoderParam אפשרות בתסריט. לתיאור של הפרמטרים השימושיים, עיין
במדריך של mplayer/mencoder.

שם הקובץ הפלט הוא השם של קובץ הקלט שלך (אפשרות ראשונה) אבל עם הסיומת
אבי. אם גודל הקובץ קטן, ציין על ידי גודל מועדף זה בגלל המקור
היה באיכות גבוהה מאוד (ללא רעש) וקצב הסיביות שצוין היה גבוה מהנדרש.
אתה בדרך כלל מקבל 700MB לסרט של 1.5 שעה בחצי גודל תמונה עם קצב סיביות בסביבות 900
פירושו ל-divx איכות טובה (בהנחה של חומר מקור באיכות טובה כמובן).

הסקריפט מבצע קידוד בן 3 שלבים:

שלב ראשון - קידוד אודיו

שלב שני - מעבר וידאו ראשון

שלב 3 - מעבר וידאו שני

התיעוד של mplayer/mencoder מוציא משימוש את השימוש בשיטת הקידוד של 3 מעברים (it
יכול לגרום לבעיות סינכרון A/V) וממליץ על שימוש בשיטת 2 מעברים. ה
התיעוד של mencoder/mplayer הוא נרחב ויש לו הרבה רמזים מועילים (וקצב סיביות
מחשבון בספריית TOOLS/).

עבור קידוד השתמש ב-codec המהיר ffmpeg (lavc). זה נותן תוצאות יפות יחד עם גבוה
ביצועים טובים. עבור קידוד אודיו נעשה שימוש ב-mp3. עבור קידוד של כל החלקים הוא משתמש ב-unix
צינורות. זה אומר שאתה לא צריך מקום נוסף בכונן הקשיח שלך שבו כל גלב
ייעשו מניפולציות. עבור קידוד אודיו, הסקריפט משתמש בתור FIFO.

אם אתה רוצה להתאים את הסקריפט לצרכים שלך, השתמש ברמזים הבאים:

פלט של שלב 1 נקרא קובץ frameno.avi עם אודיו מקודד

שלב שני הוא באמצעות frameno.avi והפלט הוא קובץ טקסט שנקרא lavc_stats.txt עם תזמון
ידיעות

שלב 3 הוא שימוש frameno.avi ו lavc_stats.txt עבור קידוד הזרם לפלט
פילה movie2.avi

אם אתה רוצה לשנות רק קצב סיביות של וידאו, שמור את הקובץ frameno.avi הערה על השלב הראשון
קידוד וחזור על שלב 2 ו-3. אל תשכח להסיר את הקו שבו
frameno.avi הוסר.

אופטימיזציה של הזרם

שימוש במסננים עוזר להגביר את איכות התמונה של זרמי וידאו בקצב סיביות קבוע (CBR).
עם וידאו VBR (קצב סיביות משתנה) גודל הקבצים מצטמצם.

דוגמא:

> lav2yuv stream.avi yuvmedianfilter mpeg2enc -o video.m1v

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

הערה:רדיוס גדול מערך ברירת המחדל של 2 הוא איטי להחריד!

ל-yuvmedianfilter יש הגדרות נפרדות עבור luma ו-chroma. אתה יכול לשלוט בחיפוש
רדיוס וסף ההדק באופן עצמאי. אם אתה משתמש בסף של 0 אז
הסינון מושבת (-t 0 משבית את סינון luma, -T 0 משבית את סינון הכרומה).

> lav2yuv stream.avi yuvmedianfilter -r 3 -t 4 -T 0 mpeg2enc -o video.m1v

דוגמה זו משתמשת ברדיוס חיפוש של 3 פיקסלים עבור luma, סף של 4 (ברירת המחדל
הוא 2), ומשבית את הסינון עבור רכיבי ה-chroma. לפעמים, תלוי ב
חומר מקור, סינון חציוני של הכרומה יכול לגרום לשינוי צבע קל לעבר
ירוק. סינון על רכיב הלומה (השבתת סינון הכרומה) ​​הוא הפתרון
לבעיה זו.

דוגמא:

> lav2yuv stream.avi yuvdenoise mpeg2enc -o video.m1v

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

yuvdenoise denoises interlaced אם הקלט הוא interlaced. אתה כמובן יכול לשנות את
סף ה-denoiser (-g/t). יצירת גבול שחור יכולה להוריד את קצב הסיביות של המקודד
זרם מכיוון שאזורים שחורים טהורים דוחסים הרבה יותר טוב מרעש (לכידת מאנלוגי
למקורות כגון VHS ו-8 מ"מ יש בדרך כלל כמה קווים בזמן ובתחתית שהם
מאוד רועש). בשביל זה אתה יכול להשתמש ב-scaler.

yuvdenoise משתמש בגישה שונה כדי לסנן את הרעש. מידע נוסף על איך
yuvdenoise עובד כמו גם תיאורים של האפשרויות שלה נמצאים בדף ה-manpage.

אם יש לך מקור באיכות גבוהה כדאי להוריד את המסנן לרמות כאלה: -g
0,255,255 -t 2,2,2. אתה יכול גם להשתמש ב-mpeg2enc -ה/--קיפ-הף אוֹפְּצִיָה. האפשרות הזאת
אומר ל-mpeg2enc לשמור כמה שיותר מידע בתדר גבוה. שימוש ב-h יהיה
להגדיל מאוד את קצב הסיביות (גודל הקובץ). אם קצב הסיביות קרוב מדי למקסימום (קבע
עם -b) המקודד יצטרך להפחית את האיכות כדי למנוע חריגה מהמקסימום
קצב סיביות.

מסנן מובנה ב-mpeg2enc הוא אפשרות -N/--reduce-HF. האפשרות הזו לא ממש
מסנן במובן הרגיל. במקום זאת זה משנה איך בדיוק את המידע בתדר גבוה
מקודד. לעתים קרובות התדר הגבוה הוא רעש. יש לך גם תדרים גבוהים בחדות
גבולות או מעברים. האפשרות -N יכולה לקבל ערכים בין 0.0 ל-2.0 כאשר 0.0 כן
שום דבר (משבית את הגברת quantizer בתדר גבוה) ו-2.0 נותן את המקסימום
הגברת קוונטיזציה. הערך לשימוש תלוי באיכות הפלט הרצויה ובגודל הקובץ.
ערכים של -N פחות מ-0.5 הם עדינים מאוד בעוד שערך של 1.0 ישיג טוב
איזון בין הפחתת קצב סיביות ואיכות הפלט. שימוש בערכי -N מעל 1.5 יהיה
מפחיתים באופן ניכר את החדות של תמונת הפלט, ובדרך כלל משתמשים בהם רק עבור עניים
מקורות איכותיים (קלטות VHS למשל).

שימוש ביכולת של yuvmedianfilter לסנן רק את ה-chroma (-T) יעיל במידה בינונית
בהפחתת רעש בסצנות חשוכות מבלי לרכך את התמונה במהלך רגיל (בהיר יותר)
סצנות. סינון חציוני של הלומה (-t) ייצור קצב סיביות נמוך יותר אך יכול לגרום
אובדן פרטים (ריכוך). סינון חציון של כרומה בלבד הוא פחות אגרסיבי והוא טוב
בחירה לשימוש בשילוב עם yuvdenoise.

שילוב של המסננים yuvdenoise, yuvmedianfilter ואפשרות mpeg2enc -N נותן
רמה עדינה של שליטה על קצב הסיביות (גודל הקובץ). ההפחתה (או הגידול) ב-
קצב הסיביות תלוי בחומר המקור ובאפשרויות הקידוד/סינון המדויקות בהן נעשה שימוש. אז אנחנו
לא יכול לתת מספרים מדויקים עד כמה כל אפשרות ושילוב יפחיתו את גודל הקבצים,
רק הנחיות.

בדרך כלל עליך להשתמש באפשרות -N בטווח שבין 0.5 ל-1.5. מתחת ל-0.5 זה לא
להפחית את קצב הסיביות מאוד (אך משמר את החדות). ב-1.5 ומעלה תצליח
שימו לב לריכוך בסרטון ואולי חפצים (הילה/צלצולים) מסביב לקצוות של
אובייקטים (טקסט/כתוביות במיוחד). אם אתה משלב את המסננים אתה צריך להשתמש yuvdenoise
ואולי אחר כך yuvmedianfilter. אולי yuvmedianfilter גם לאחר קנה המידה. לאחר
yuvmedianfilter בשרשרת לא מפחית כל כך את ה-bitrate. לעתים קרובות השימוש ב
יובדנויז מספיק. ה-yuvmedianfilter עוזר מאוד אם יש לך מקורות באיכות נמוכה, ו
לא כל כך אם כבר יש לך איכות טובה למדי. כאשר משלבים את המסנן ו
סביר להניח שתקטין את גודל הקבצים לכמחצית מגודל הקובץ בלי
באמצעות האפשרויות והתוכניות.

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

דוגמא:

> lav2yuv stream.avi yuvkineco -F 1 mpeg2enc -o video.m1v

yuvkineco משמש עבור מקורות NTSC. זה עושה את השיחה מ-30000.0/1001.0 (בערך
29.97) fps עד 24000.0/1001.0 (בערך 23.976) fps, אתה יכול לקרוא לזה "הפוך 2-3 הנפתח"
מידע נוסף על כך ב-README.2-3palldown. yuvkineco מסיר רק NTSC ספציפי
בעיות.

אם אתה רוצה לשפר את התמונה כדאי להשתמש גם ב-yuvdenoise:

> lav2yuv stream.avi yuvkineco yuvdenoise mpeg2enc -o video.m1v

דוגמה

> lav2yuv stream.avi yuvycsnoise mpeg2enc -o video.m1v

yuvycsnoise משמש גם עבור NTSC והוא מתמחה עבור רעש הפרדת NTSC Y/C. אם
לחומרת לכידת וידאו יש רק מפריד Y/C גרוע אז בפסים אנכיים (במיוחד
אדום/כחול) מופיעים רעשים שנראים דגל דמקה והופכים בהירים/כהים לכל מסגרת אחת.
yuvycsnoise מפחית רעשים מסוג זה. אתה יכול גם להשתמש בספים שונים עבור
לומה/כרומה ושיטת האופטימיזציה. מסנן זה אינו נחוץ בעבודה עם DV
נתונים (וידאו דיגיטלי).

yuvycsnoise עובד נכון רק כאשר יש לנו NTSC עם:

גובה מלא (480 שורות)

צילום מלא (29.97 פריימים לשנייה)

נלכד עם חומרת מפריד Y/C גרועה

למידע נוסף על yuvkineco ו yuvycsnoise קרא את README ב yuvfilters
במדריך.

אם אתה רוצה להתנסות כדי לקבוע את ההגדרות האופטימליות עבור ה-denoiser, scaler ו-
אז הלאה החלף את mpeg2enc ב-yuvplay. yuvplay מנגן את ה-yuv פריימים כדי שתוכל לראות
אם האפשרויות שבחרת הופכות את הדבר לטוב או גרוע יותר.

פקודה תיראה כך:

> lav2yuv stream.eli yuvdenoise -אפשרויות yuvscaler -אפשרויות yuvplay

אם אתה רוצה לדעת כמה כל כלי מוריד את קצב הסיביות הממוצע. אתה יכול להשתמש בטבלה זו
כדי לראות למה אתה יכול לצפות אם יש לך סרטון וידאו בגודל מלא ואתה רוצה ליצור DVD עם א
מקדם איכות של 5 וקצב הסיביות המרבי המותר של 8500kb/sec.

ללא הנחה: 8300 kb/s (בעיקר פוגע בגבול העליון)

yuvenoise: 7700 kb/s

mpeg2enc --reduce-hf: 7400 kb/s

yuvdenoise + yuvmedianfilter: 6000 kb/s

yuvdenoise + mpeg2enc --reduce-hf : 4900 kb/s

כל האמור לעיל: 3600 kb/s

בעוד -N│--reduce-hf או yuvdenoise לבדו הוא רק שיפור צנוע, ביחד הם
להפחית את קצב הסיביות באופן משמעותי. אין ממש הבדל ניכר ביניהם
שימוש ב-yuvdenoise בלבד וב-yuvdenoise עם mpeg2enc --reduce-hf. הערכים השימושיים הם
בין 0.0 ל-1.5. איפה אתה יכול לומר שככל שגורם האיכות שאתה רוצה גבוה יותר, ה
פחות אפשרות זו משתפרת. במקדם איכות 4 אתה חוסך באמצעות -N 1.0 כ-1%. אם אתה
רוצה מקדם איכות של 9 והשתמש ב-N 1.0 אתה עשוי לחסוך עד 40%. אבל אולי תחסוך
פחות, זה תלוי בסרטון שאתה מקודד!!!

אם אתם שואלים את עצמכם למה לא להשתמש תמיד בכל המסננים שלמעלה? התשובות הן כך
התמונה מתרככת (אובדן פרטים) וזמן הקידוד גדל. רוב המסננים
כל אחד מהם דורש בערך אותו זמן כמו ש-mpeg2enc צריך לקידוד הסרטון.

אם יש לכם חומר איכותי מאוד ואתם רוצים לשמור על כל פרט כדאי לנסות להשתמש
ה-mpeg2enc --keep-hf│-h מצד שני.

הערה: הפחתת קצב הסיביות שיש לך תלויה בחומר וברעש של
תמונות.

אפשרות מעניינת נוספת mpeg2enc היא -E│--unit-coeff-elim אוֹפְּצִיָה. אפשרות זו היא
מושבת כברירת מחדל. אם תאפשר זאת, אלגוריתם מיוחד של "חיסול מקדם יחידה",
מוחל על בלוקי התמונה המקודדים. בעצם ההליך הזה מאלץ בלוקים של a
סוג שאינו נושא מידע רב (אך משתמש בסיביות רבות לקידוד) לדילוג. א
ערך שלילי בוחן את הבסיס (DC) וכן את מקדמי AC. ערך חיובי
פירושו שרק מקדמי מרקם (AC) נבדקים ואולי מאופסים. ה
הערכים המומלצים נעים בין -20 ל-+20. בדרך כלל אתה יכול לצפות שיש לך 5%
גודל קובץ קטן. הכמות שקצב הסיביות מופחת יכולה להשתנות במידה ניכרת, הטווח
משתרע בין לא ממש מורגש עד 20%.

אם אתה חושב שמטריצת כימות אחרת תעזור להשתמש ב -K│--מטריצות-כמויות מותאמות אישית
אוֹפְּצִיָה. אתה יכול לנסות מטריצת קוונטיזציה משלך או להשתמש במבנה מובנה אחר מאשר
בְּרִירַת מֶחדָל. אתה יכול לבחור בין kvcd, tmpgenc, hi-res ושלך. שימוש ב-K בדרך כלל
הופך את הקובץ לקטן יותר פרט לאפשרות ה-hi-res (שמגדיל את הקבצים בצורה ניכרת).
קשה לתת הנחיות מדויקות, מתישהו מטריצת קוונטציה אחרת חוסכת כמעט
כלום, ובפעם הבאה עד 20%. יותר מ-20% זה מאוד לא סביר, 10-15% בממוצע
סביר להניח שגורם איכות (-q 8-10). ככל שהאיכות גבוהה יותר כך זה חוסך פחות, באיכות
גורם של 4-6 הירידה בקצב הסיביות עשויה להיות רק 5%

דבר אחד שצריך לזכור הוא ביטול מקדם היחידה והכימות
אפשרות המטריצה ​​מקטינה את קצב הסיביות תוך שמירה על אותה איכות חזותית. בְּ
בנקודה זו אתה יכול לבחור להשתמש בקובץ הקטן יותר כדי להגדיל את כמות הווידאו שתעשה זאת
להתאים למדיית הדיסק או שאתה יכול לבחור להגביר את האיכות אפילו יותר על ידי הורדת ה
ערך -q ב-1 וצור קובץ גדול יותר (אך באיכות גבוהה יותר).

דרוג ו לקזז תיקון


קנה המידה הבסיסי מתואר ב- המרה וידאו סעיף

קנה המידה לוקח חלק מהתמונה ומרחיב אותה לגודל גדול יותר או קטן יותר. ה
קנה המידה נעשה על ידי yuvscaler:

lav2yuv test.eli yuvscaler -I USE_400x400+50+100 yuvplay

כאן אנחנו לוקחים רק חלק מהתמונה ומגדילים אותה לגודל המסגרת המקורית.
אבל yuvscaler משנה גם את יחס הגובה-רוחב של הפיקסלים. זה אומר כשאתה מסתכל על הזרם
באמצעות yuvplay זה נראה כמו ריבוע בדוגמה שלנו. לאחר קנה המידה, אם המדגם (פיקסל)
יחס גובה-רוחב לא השתנה, הסרטון לא יוצג עם יחס הגובה-רוחב המתאים.
Yuvscaler מפצה על ידי התאמת יחס הגובה-רוחב לדוגמה. אם יש לך interlaced
וידאו, הגובה וה-HeightOffset צריכים להיות כפולה ב-4 אם הסרטון משולב.
אחרת הערכים (רוחב, גובה, widthoffset, גובה היסט) צריכים להיות כפולה של 2.

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

lav2yuv test.eli y4mshift -n 20 mpeg2enc -f 3 -b 4000 -q 10 -o video.m2v

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

חלקם עשויים לתהות מדוע התמונה אינה ממורכזת ויש גבול שחור מסביב
תמונה כאשר אתה צופה במה שהקלטת. הסיבה לגבול השחור היא בהיסטוריה
של טכנולוגיית הטלוויזיה CRT (Cathode Ray Tube). ההיסטוריה של תקן הטלוויזיה היא מאוד
סיפור מעניין אבל הנושא הזה מתואר בספרים אחרים (גדולים).

הטלוויזיה לא מציגה את התמונה המלאה. חלק מהתמונה לא מוצג בגלל הטלוויזיה
סטים overscan (לפעמים עד 10% אבל נפוץ יותר היום הוא 5%). אבל כשאתה
לצלם את הסרטון עם כרטיס אתה רואה את כל התמונה כולל הגבול שטלוויזיות מאבדות
עקב סריקת יתר. היסט אופקי הוא בדרך כלל לא בעיה של כרטיס הלכידה. זה
היא בעיה כאשר הסרט משודר ולא מסונכרן היטב עם התמונה. זֶה
פירושו שהסריקה של המקור לא מסונכרנת בדיוק עם אות הספק, אתה
לא אראה את זה בטלוויזיה

מסגרת שיעורי המרה


האם אי פעם היה צורך להמיר את קצב הפריימים מ-PAL ל-NTSC או לכיוון השני? אוֹ
משהו הרבה יותר פשוט כמו המרת קצב הפריימים מ-24FPS ל-24000:1001 עבור
שיחה מקצב פריימים של סרט לקצב פריימים NTSC חוקי.

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

מכיוון שהמסגרות רק משוכפלות (מועתקות) עליך לבצע דה-נוז תחילה ולאחר מכן לשנות
קצב המסגרת והקנה מידה בשלב האחרון. אם יש לך מקור שזור, כדאי גם
deinterlace לפני שינוי קצב הפריימים. אם אתה יוצר קצב פריימים גבוה יותר זה מאוד
סביר להניח שיהיו לך הבלחות מוזרות כשתשמיע אותו. אם תמיר PAL ל-NTSC
(30000:1001 FPS בערך 29,97 FPS) קצב הפריימים ירד בערך בפקטור 480/576
(קווי NTSC / קווי PAL). אם תוריד את קצב הפריימים מ-PAL ל-NTSC (ב-24000:1001) או
NTSC FILM (24FPS) קצב הסיביות יהיה בערך (480 שורות * 24 FPS) / (576 קווים * 25FPS).
אם תשנה את קצב הפריימים לפני שחרור ה-yuvdenoise תהיה בעיה למצוא
הרעש על פני הפריימים ורוחב הפס הדרוש יגדל מעט.

דוגמה

> lav2yuv video.eli yuvfps -r 30000:1001 yuvscaler -O CDLS mpeg2enc -f 4 -o
video_ntsc_svcd.m2v

זוהי דוגמה להמרת סרטון המקור לסרטון NTSC הפועל במהירות 30000:1001 FPS
(או בערך 29,97FPS) בגודל SVCD.

דוגמה

> lav2yuv video.eli yuvdenoise yuvfps -r 24000:1001 yuvscaler -O SIZE_720x480
mpeg2enc -f 3 -b 4000 -q 7 -o video_ntsc.m2v

דוגמה זו מראה כיצד עליך להשתמש בכלים. דנויז קודם ומשנה את
framerate ובשלב האחרון לשנות את גודל התמונה.

זה יכול לקרות ש-yuvscaler או mpeg2enc לא מזהים את נורמת הטלוויזיה הנכונה. אם זה
במקרה אתה צריך להוסיף את אפשרות הנורמה -n n/p/s לתוכנית שבוחרת לא נכון
רגיל.

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

> lav2yuv video.eli yuvfps -r 25:1 -c mpeg2enc -f 3 -b 4000 -q 7 -o video_pal.m2v

אתה צריך את -c אוֹפְּצִיָה. להגיד ל-yuvfps שזה רק צריך לשנות את הכותרת של ה-
זרם. עם ה -r 25:1 אתה אומר ל-yuvfps את קצב הפריימים שהוא צריך לכתוב בכותרת.
בדוגמה שלך קצב הפריימים PAL של 25 FPS. אתה תמיד צריך להשתמש בצורת השבר.

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

> lav2yuv video.eli yuvfps -s 24:1 -r 25:1 mpeg2enc -o video.m1vהמרת קידוד של
MPEG-2 קיים

להמרת קידוד זרמי MPEG-2 קיימים מכרטיסי טלוויזיה דיגיטליים או DVD קצב נתונים נמוך יותר
מאשר לשידור ייתן תוצאות טובות. VCD סטנדרטי 1152 kbps עובד בדרך כלל פשוט
בסדר עבור MPEG-1. ההבדל הוא ביחס האות/רעש של המקור. הרעש פנימה
החומר האנלוגי מקשה הרבה יותר על הדחיסה.

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

עליך להוריד את החבילות ac3dec ו-mpeg2dec. אתה יכול למצוא אותם אצלם
דף הבית: mpeg2dec ( ) ו-ac3dec. לפענוח זרמי השמע mpg123 ו-mplayer יכולים
להיות מאוד מועיל. אתה צריך גם sox ו-toolame.

בספריית הסקריפטים יש א mpegtranscode תסריט שעושה את רוב העבודה.

אז ההמרה נראה כך:

> mjpegtranscode -V -o vcd_stream mpeg2src.mpg

-V

הגדר את האפשרויות כך שנוצר זרם תואם VCD

-o vcd_stream

נוצר vcd_stream.m1v (וידאו) ו-vcd_stream.mp2 (אודיו)

mpeg2src.mpg

מציין את זרם המקור

התסריט מדפיס גם משהו כזה:

> סינכרון 234 mSec

יהיה עליך להתאים את עיכובי ההפעלה של אודיו/וידאו בעת ריבוי כדי להבטיח אודיו
ווידאו מסונכרנים. ההשהיה המדויקת (במילישניות) שאליו אתה צריך לעבור
mplex כדי לסנכרן אודיו ווידאו באמצעות "-v"" מודפס על ידי הכלי extract_a52
שכותרתו "SYNC" כאשר ההפעלה עם דגל "s". זהו הערך th mjpegtranscode script
מדפיסים לאחר ה סינכרון מילה.

אז אתה צריך להכפיל אותם כך:

> מפלקס -f 1 -O 234 vcd_stream.mp2 vcd_stream.m1v -o lowrate.mpg

-f 1

פורמט Mux מוגדר ל-VCD

-O 234

היסט חותמת וידאו ב-mSec, שנוצר על ידי סקריפט ההמרה mjpeg, שם שלילי
ערכים מותרים

vcd_stream.mp2 & vcd_stream.m1v

קבצים שנוצרו על ידי הסקריפט

lowrate.mpg

זרם הפלט תואם VCD

כאן יש לנו דוגמה של SVCD (ווידאו MPEG-2):

> mjpegtranscode -S -o svcd_stream mpeg2src.mpg

אתה צריך להכפיל את זה עם:

> מפלקס -f 4 -O 234 svcd_stream.mp2 svcd_stream.m2v -o lowrate.mpg

בעיה: לפעמים יש בעיה עם השמעת NTSC ו-VCD מכיוון שסרטים עשויים להיות
מקודד מחדש עם NTSC נפתח של 3:2 עם 60 שדות לשנייה. mpeg2dec מיועד להשמעה על
מחשבים ומייצר את קצב הסיביות המקורי של 24 פריימים/שנייה. אם אתה מקודד את הסרטון עכשיו
נוצר וידאו של 30 פריימים לשנייה. הסרטון הזה קצר מדי עבור האודיו המקודד.

ניתן לגרום להמרת הקידוד לעבוד אך יש לעשות זאת באופן ידני:

> mpeg2dec -s -o pgmpipe mpeg2src.mpg pgmtoy4m -a 59:54 -r 25:1 -i t mpeg2enc -I 0 -f
4 -q 9 -V 230 -p -P -o svcd_stream.m2v

ה-p אומר ל-mpeg2enc ליצור דגלי כותרת עבור משיכה מטה של ​​3:2 של סרט 24fps. יכול להיות
תעבוד גם אם לא תוסיף את הדגל -p. אתה לא צריך את הדגל -p בעת המרת קידוד ל
פורמט VCD מכיוון שהוא אינו נתמך ב-mpeg1.

If אתה רוצה ל do כל צעד on שֶׁלְךָ שֶׁלוֹ it יצטרך להסתכל משהו כמו זֶה


חילוץ אודיו:

> חתול test2.mpg extract_a52 - -s ac3dec -o wav -p sound.wav 2>/dev/null

אחת מהשורות הראשונות שהוצגו מכילה את התווית "SYNC" שתצטרך להשתמש הפעם מאוחר יותר
בעת ריבוי. ה-2>/dev/null מפנה מחדש את הפלט של ac3dec ל-/dev/null. בתוך ה
השלב הבא אתה יוצר את קובץ האודיו mpeg:

> חתול sound.wav mp2enc -V -v 2 -o אודיו.mp2

-V

כופה פורמט VCD, קצב הדגימה מומר ל-44.1kHz מ-48kHz

-v 2

מיותר אבל אם אתה משתמש בו mp2enc אומר לך כמה שניות של קובץ האודיו
כבר מקודד.

-o

מציין את קובץ הפלט.

חתול test2.mpg extract_a52 - -s ac3dec -o wav Sox -t wav /dev/stdin -t wav -r 44100
/dev/stdout toolame -p 2 -b 224 /dev/stdin אודיו.mp2

אחת מהשורות הראשונות שוב הפלט מכיל את התווית "SYNC". אתה חייב לנצל את הזמן הזה
(המכונה "SYNC_value" להלן) בעת ביצוע הריבוי.

ליצירת VCD השתמש:

> mpeg2dec -s -o pgmpipe test2.mpg pgmtoy4m -a 59:54 -r 25:1 -i t mpeg2enc -s -o
video_vcd.m1v

mpeg2dec:

-s

אומר ל-mpeg2dec להשתמש ב-program stream demultiplexer

-o pgmpipe

פורמט הפלט של התמונות, מתאים ל-pgmtoy4m

Mplex עם:

> מפלקס -f 1 -O SYNC_value אודיו.mp2 video_vcd.m1v -o vcd_stream.mpg

-f 1

יוצר זרם VCD

-O SYNC_value

הערך שהוזכר לעיל

ליצירת SVCD השתמש:

> mpeg2dec -s -o mpeg2src.mpg pgmtoy4m -a 59:54 -r 25:1 -i t mpeg2enc -f 4 -q 9 -V
230 -o video_svcd.mpg

-q 9

מקדם איכות עבור הזרם (זרם VBR) (ברירת מחדל: 12)

-V 230

יעד גודל מאגר וידאו ב-KB

-o

קובץ פלט

Mplex עם:

> מפלקס -f 4 -b 230 אודיו.mp2 video_svcd -o svcd_stream.mpg

-f 4

ליצור זרם SVCD

-ב 200

ציין את גודל מאגר הווידאו לפי התקן ההפעלה.

עבור פורמטים אחרים של פלט וידאו זה עשוי לעבוד:

> mpeg2dec -s -o pgmpipe test2.mpg pgmtoy4m -a 59:54 -r 25:1 -i t yuvscaler -O
SIZE_320x200 -O NOT_INTERLACED mpeg2enc -o strange_video.m1v

אם אתה רוצה לערוך זרמי mpeg זה גם עובד אבל בצורה קצת שונה. ל
demultiplexing אתה יכול להשתמש ב-bbdmux מחבילת bbtools. מפצל או וידאו או
אודיו נקי מאוד. אתה לא יכול להשיג את זה יותר מדף הבית של ברנט ביילר, זה יכול
עדיין יימצא כאשר אתה מחפש אותו באמצעות מילות המפתח הללו " bbtools linux -suse
-קופסה שחורה". נכון לעכשיו ניתן למצוא אותו ב:

ריצה ראשונה:

> bbdmux myvideo.mpg

אתה אמור לקבל משהו כזה:

נמצא מזהה זרם 0xE0 = זרם וידאו 0
נמצא מזהה זרם 0xC0 = MPEG Audio Stream 0
נמצא מזהה זרם 0xBE = זרם ריפוד

חלץ אודיו עם:

> bbdmux myvideo.mpg 0xC0 אודיו.mp1

המר את זה ל-wav:

> mpg123 -w audio.wav audio.m1v

חלץ סרטון עם:

> bbdmux myvideo.mpg 0xE0 video.m1v

המרת וידאו לזרם mjpeg avi:

> mpeg2dec -o pgmpipe video.m1v pgmtoy4m -a 59:54 -r 25:1 -i t yuv2lav -f a -o
test.avi

ואז מוסיף את הצליל ל-avi:

> lavaddwav test.avi audio.wav final.avi

אם לסרטון המקור יש כבר את הגודל של סרטון היעד, השתמש ב-O YUV. שימוש ב-YUVh עושה
הסרטון בחצי גודל! את השאר אפשר לעשות בדיוק כמו עריכה וקידוד אחרים
זרמים. אם יש לך סרטונים עם סאונד ac3 אתה רק צריך להתאים את הפקודות למעלה.

חילוץ אודיו:

> חתול test2.mpg extract_a52 - -s ac3dec -o wav 2>dev/null > sound.wav

חלץ וידאו והוספת השמע בשלב אחד:

> mpeg2dec -s -o pgmpipe pgmtoy4m -a 59:54 -r 25:1 -i t yuvscaler -O VCD yuv2lav -f
a -q 85 -w sound.wav -o test.avi

הערה:אתה צריך הרבה מקום בדיסק. 1GB של וידאו יש גודל של כ 2GB בפורמט SVCD ומעלה
יש צורך בשטח דיסק כמובן עבור כמה קבצים זמניים. המרת הסרטון ל-mjpeg גם לוקחת
מתישהו. ב-Athlon 500 שלי אני אף פעם לא מקבל יותר מ-6-7 פריימים בשנייה. אתה מאבד איכות
בכל פעם שאתה ממיר זרם לפורמט אחר! איכות/מהירות מסחר

אם האיכות המוחלטת היא המטרה שלך, ניתן להשיג שיפור צנוע באמצעות ה-4
ו-2 דגלים. אלה שולטים באיזו אכזריות mpeg2enc משליך התאמות למראה רע ביניהן
קטעים של מסגרות סמוכות בשלבים המוקדמים של החיפוש כאשר הוא עובד איתם
4*4 ו-2*2 אשכולות של פיקסלים במקום פיקסלים בודדים. הגדרה -4 1 -2 1 ממקסמת
איכות. -4 4 -2 4 ממקסם את המהירות. שים לב שבגלל שהקריטריונים הסטטיסטיים mpeg2enc
שימושים לביטול התאמות למראה רע הם בדרך כלל אמינים למדי, העלייה/ירידה
באיכות צנועה (אך מורגשת).

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

יוצרים זרמים ל be שיחק החל מ- דיסק באמצעות תוכנה שחקנים


בדרך כלל תוכנת נגן MPEG גמישה הרבה יותר מהחומרה המובנית ב-DVD ו
נגני VCD. גמישות זו מאפשרת להשיג דחיסה טובה יותר באופן משמעותי
עבור אותה איכות. החוכמה היא ליצור זרמי וידאו שמשתמשים במאגרי וידאו גדולים
(500KB או יותר) וקידוד קצב סיביות משתנה (הדגל -f / -q ל-mpeg2enc). תוֹכנָה
לעתים קרובות נגנים גם ישמיעו בצורה נכונה את שכבת MPEG 3 היעילה יותר (כן, "MP3"
פורמט שמע. מקודד MP3 טוב כמו צולע יפיק תוצאות דומות לשכבה 2 ב
224Kbps ב-128Kbps או 160Kbps.SMP וקידוד מבוזר

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

המידה שבה mpeg2enc מנסה לפצל עבודה בין שרשורים המבצעים בו-זמנית היא
נשלט על ידי האפשרות -M או --multi-thread [0..32]. זה מייעל mpeg2enc עבור
מספר מוגדר של מעבדים. כברירת מחדל (-M 1) mpeg2enc פועל עם מעט ריבוי
שרשור: קריאת מסגרות מתרחשת במקביל לדחיסה. זה נעשה כדי לאפשר
צינורות קידוד המחולקים על פני מספר מכונות (ראה להלן) כדי לעבוד ביעילות
ללא צורך בתוכניות חציצה מיוחדות. אם אתה מקודד על מעבד יחיד
מכונה שבה זיכרון RAM הדוק, ייתכן שתמצא כיבוי כליל של ריבוי השחלות על ידי הגדרה
-M 0 עובד מעט יותר יעיל.

עבור מכונות SMP עם שני מעבדים או יותר, אתה יכול להאיץ את mpeg2enc על ידי הגדרת ה-
מספר שרשורי הקידוד המבצעים בו-זמנית שברצונך להשתמש בהם (למשל -M 2).
הגדרת -M 2 או -M 3 במכונה דו-כיוונית אמורה לאפשר לך להאיץ את הקידוד בסביבות
80%. ערכים מעל 3 מתקבלים אך משפיעים מעט מאוד אפילו על מערכות 4 מעבדים.

אם יש לך מכונת SMP מהירה אמיתית (כרגע 1.Aug.03) כמו Athlon MP 2600 כפול או
אולי משהו דומה ל-M 2 והסינון לא יעסיקו את שני המעבדים (או יותר).
השימוש בתוכנית המאגר או ה-bfr עם מאגר של 10-20MB עוזר להעסיק את שני המעבדים.

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

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

> רש מכונה 1 lav2yuv "mycapture.eli yuvscaler -O CDLS יובדנואז" mpeg2enc -f 4 -o
mycapture.m2vi

כאן המחשב שבו אתה מבצע את הפקודה עושה את קידוד MPEG ו-"machine1"
היא המכונה שמפענחת את קנה המידה ומטריפה את הווידאו המצולם.

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

> רש מכונה 1 ”lav2yuv mycapture.eli yuvscaler -O SVCD" yuvdenoise רש מכונה 3
mpeg2enc -f 4 -o mycapture.m2v

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

בפועל כדי שזה יהיה כדאי הרשת שבה אתה משתמש חייבת להיות מהירה מספיק
להימנע מלהפוך לצוואר בקבוק. עבור מכונות מסוג Pentium-III ומעלה תצטרך א
100Mbps Ethernet.

עבור מכונות מהירות באמת, ייתכן שיהיה צורך ב-Ethernet עם מיתוג של 100MBps (או טוב יותר!). הגדרה
ה-rshd ("דימון מעטפת מרוחק" הדרוש ל-rsh לבצע את עבודתו והגדרת "rsh" היא
מעבר להיקף של מסמך זה, אבל זה חבילה סטנדרטית וצריך להיות בקלות
מותקן ומופעל בכל הפצת לינוקס או BSD.

שים לב שזה עלול להיות בעיית אבטחה אז השתמש בזהירות במכונות שכן
גלוי לרשתות חיצוניות! יכולת פעולה הדדית

ניתן לערוך קבצי Quicktime שלכידתם באמצעות lavrec באמצעות Broadcast2000. אבל
Broadcast2000 אינו זמין יותר ב-heroinewarrior. קבצי mjpeg AVI שנלכדו באמצעות
ניתן לערוך ולכווץ את כלי הסטרימר מחבילת xawtv ולהפעיל אותו
באמצעות תוכנה. הפעלת חומרה אינה אפשרית עבור קבצים כאלה עקב מגבלות ב
החומרה של Zoran נתמכת כעת. סרטונים שהוקלטו עם NuppelVideo יכולים להיות גם
מעובד עם כלי mjpeg.

אם יש לך מקינטוש (MAC) וברצונך להשתמש בכלי mjpeg חפש שם:

קובצי MPEG המיוצרים באמצעות הכלים ידועים להפעלה נכונה ב:

dxr2 (כרטיס מפענח חומרה)

שיין

xmovie

mplayer

vlc

MPEG-1 בלבד: gtv

MS Media Player גרסה 6 ו-7 ומעלה

נגן DVD מבוסס תוכנה

כדי לגלות מה אתה יכול לעשות נגן HW (ברוב הזמן נגן DVD) עיין ב:

נראה כי נגן המדיה של MS אוהב יותר זרמי MPEG-1 אם השתמשת ב-f 1 כאשר
רִבּוּב.

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

ולאנשים שעזרו לי עם תיאורי תוכנית ורמזים, תודה

השתמש ב-mjpegtools באופן מקוון באמצעות שירותי onworks.net


שרתים ותחנות עבודה בחינם

הורד אפליקציות Windows & Linux

פקודות לינוקס

Ad




×
פרסומת
❤️קנו, הזמינו או קנו כאן - ללא עלות, עוזר לשמור על שירותים בחינם.