קידוד בסיסי

מידע בסיסי על דחיסת וידאו

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

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

קידוד פשוט

פקודת ה-FFmpeg הבאה ממירה קובץ קלט לסרטון VP9 עם אודיו של Opus. זהו הקידוד הפשוט ביותר האפשרי המשתמש בהגדרות ברירת המחדל.

ffmpeg -i tears_of_steel_1080p.webm -c:v libvpx-vp9 -c:a libopus output.webm

קידוד FFmpeg משתמש בפרמטרים הבאים של שורת הפקודה:

FFmpeg
-i <filename> מציין את שם קובץ הקלט
-c:v libvpx-vp9 בקשה מ-FFmpeg ליצור סרטון VP9
-c:a libopus בקשה מ-FFmpeg ליצור אודיו של Opus
output.webm מציין את שם קובץ הפלט

FFmpeg מסיק את סוג הקובץ שיש ליצור מהשם של קובץ הפלט שבו משתמשים. בדוגמה הזו, FFmpeg תייצר קובץ WebM כי ביקשנו את הקובץ output.webm.

רזולוציה

לכל סרטון יש גודל מסגרת (המציין את הרוחב והגובה של הפיקסל). אפשר להשתמש בפרמטר הבא של שורת הפקודה FFmpeg כדי לשלוט בגודל מסגרת הפלט של סרטון הקידוד ב-VP9:

FFmpeg
-vf scale=<width>x<height> הרוחב והגובה של המסגרת

לדוגמה, פקודת FFmpeg הבאה תייצר פלט וידאו בגודל 640x480 WebM9 WebM.

ffmpeg -i tears_of_steel_1080p.webm -vf scale=640x480 \
  -c:v libvpx-vp9 -c:a libopus output.webm

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

קצב העברת נתונים

VP9 תומך במספר מצבי קצב העברת נתונים:

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

מצב CQ מומלץ לווידאו מבוסס-קובץ (ולא לסטרימינג בשידור חי). מצב CQ משתמש בפרמטרים הבאים של שורת הפקודה FFmpeg:

FFmpeg
-b:v <arg> הגדרה של קצב העברת הנתונים של היעד (למשל, 500k)
-minrate <arg>
-maxrate <arg>
הגדרת קצב העברת הנתונים המינימלי והמקסימלי.
-crf <arg> מגדיר את רמת האיכות המקסימלית. הערכים החוקיים הם 0–63, איכות נמוכה יותר היא איכות נמוכה יותר.

לדוגמה, פקודת ה-FFmpeg הבאה תיצור קובץ וידאו באיכות 640x480 באיכות בינונית באמצעות מצב CQ, עם קצב העברת נתונים ממוצע של 750kbps ואיכות מקסימלית מוגבלת ל-33.

ffmpeg -i tears_of_steel_1080p.webm -vf scale=640x480 \
  -b:v 750k -crf 33 -c:v libvpx-vp9 -c:a libopus output.webm

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

הגדרות איכות ומהירות

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

ל-VP9 יש מספר הגדרות לאיזון האיכות והמהירות:

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

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

שני סוגי ההגדרות האלה נשלטים על ידי מספר פרמטרים של שורת פקודה:

FFmpeg
-threads מספר השרשורים לשימוש במהלך הקידוד.
-quality יכול להיות good, best או realtime
-speed לפרמטר הזה יש משמעות שונה, תלוי אם האיכות מוגדרת ל-good או realtime. הגדרות המהירות 0-4 חלות על VoD ב-good וב-best, כאשר 0 הוא האיכות הגבוהה ביותר ו-4 הוא הנמוך ביותר. Realtime ערכים חוקיים הם 5-8. מספרים נמוכים יותר פירושם איכות גבוהה יותר
-tile-columns הצמדת התמונה מפצלת את הסרטון לאזורים מלבניים, וכך מאפשר ריבוי שרשורים לקידוד ופענוח. מספר המשבצות הוא תמיד חזקה של שתיים. 0=משבצת אחת, 1=2, 2=4, 3=8, 4=16, 5=32.

פקודת FFmpeg הבאה תיצור קובץ בגודל 640x480, שהאיכות מוגדרת ל'טוב', והמהירות מוגדרת ל-0 (איכות גבוהה):

ffmpeg -i tears_of_steel_1080p.webm -vf scale=640x480 \
  -b:v 750k -quality good -speed 0 -crf 33 -c:v libvpx-vp9 -c:a libopus \
  output.webm

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