يسرد هذا القسم اقتراحات ترميز VP9 لمجموعة متنوعة من الملفات الشخصية الشائعة:

  • فيديو محسّن بشكل كبير للويب والأجهزة الجوّالة (فيديو عند الطلب)
  • توزيع المحتوى المميّز (فيديو عند الطلب)
  • الرياضة، والرسوم المتحركة، والمحتوى بجودة 10 بت (فيديو عند الطلب)
  • تشفير البث المباشر
  • WebRTC

مقدمة

عند ترميز الفيديو، يجب مراعاة عدد من النقاط:

  • هل تريد إنشاء نسخة واحدة من الوسائط أو نسخ متعددة بمعدلات نقل بيانات ودقة مختلفة؟
  • هل تنشئ بث فيديو مباشرًا أو ملفات فيديو عند الطلب؟
  • ما هو نوع الوسائط التي يتم ترميزها؟ هل تتضمّن الكثير من الحركة؟ التفاصيل؟ صورة متحركة؟
  • هل يتم الترميز لتحقيق أعلى جودة (مثل المحتوى المميّز) أو أسرع سرعة (مثل مؤتمرات الويب)؟

يبدأ هذا القسم بإعدادات لملف فيديو أساسي عند الطلب، ثم يقدّم اقتراحات بشأن كل هذه الأسئلة.

الإعدادات الأساسية

معدّلات نقل البيانات للترميز

يتم اقتراح معدلات نقل البيانات التالية كأساس للتوزيع على الويب والأجهزة الجوّالة. تساعد هذه الاقتراحات في تقليل معدل نقل البيانات مع الحفاظ على جودة الفيديو المناسبة للتوزيع على الويب وأجهزة الجوّال، ويمكن اعتبارها اقتراحًا لمعدل نقل بيانات "منخفض" يمكنه الحفاظ على جودة معقولة.

معدّلات نقل البيانات المستهدَفة المقترَحة

حجم/معدّل اللقطات في الثانية متوسط معدّل نقل البيانات (الفيديو عند الطلب، كيلوبت في الثانية) متوسط معدل نقل البيانات (البث المباشر، كيلوبت في الثانية)
‫320x240p بسرعة 24 أو 25 أو 30 لقطة في الثانية 150 250
‫640x360p بسرعة 24 و25 و30 لقطة في الثانية 276 386
‫640x480p بسرعة 24 و25 و30 لقطة في الثانية ‫512 (LQ)، و750 (MQ) ‫720 (جودة منخفضة)، 1024 (جودة متوسطة)
‫1280x720p بسرعة 24 أو 25 أو 30 لقطة في الثانية 1024 1440
‫1280x720p بسرعة 50 أو 60 لقطة في الثانية 1,800 2500
‫1920x1080p بسرعة 24 أو 25 أو 30 لقطة في الثانية 1,800 2500
‫1920x1080p بسرعة 50 أو 60 لقطة في الثانية 3000 4200
‫2560x1440p بسرعة 24 أو 25 أو 30 لقطة في الثانية 6000 8400
‫2560x1440p بسرعة 50 أو 60 لقطة في الثانية 9000 12600
3840x2160p @ 24,25,30 12000 16800
‫3840x2160p @ 50,60 18000 25200

الشكل 2أ: معدّلات نقل البيانات المستهدَفة

إعدادات ترميز الفيديوهات عند الطلب

إعدادات معظم أنواع المحتوى

بالنسبة إلى معظم أنواع المحتوى، ننصح باستخدام وضع الجودة المحدودة (CQ) مع حدود قصوى لمعدل نقل البيانات. تحتوي معظم الفيديوهات على مزيج من المشاهد التي تتضمّن حركة سريعة (مثل مشاهد الحركة) والمشاهد التي تتضمّن تفاصيل أقل (مثل المحادثات). يتيح وضع CQ للمشفّر الحفاظ على مستوى جودة معقول أثناء المشاهد الأطول والأسهل (بدون إهدار وحدات البت) مع تخصيص المزيد من وحدات البت للتسلسلات الصعبة.

ننصحك أيضًا بالسماح بنطاق معدّل نقل البيانات من% 50 إلى% 150 من المعدّل المستهدف، باستخدام قيم الجودة كما هو موضّح في الرسم البياني أدناه. يتطلّب هذا الوضع تشفيرًا على مرحلتين، ويُنصح باستخدام إعدادات أسرع للدقة العالية وما فوقها كما هو موضّح أدناه.

إعدادات برنامج الترميز لترميز CQ

ارتفاع الإطار جودة الاستهداف (CQ) وضع الترميز
240 37 TWO_PASS_MEDIUM
360 36 TWO_PASS_MEDIUM
480 ‫34 (جودة منخفضة) أو 33 (جودة متوسطة) TWO_PASS_MEDIUM
720 32 TWO_PASS_FAST
1080 31 TWO_PASS_FAST
1440 24 TWO_PASS_FAST
2160 15 TWO_PASS_FAST

الشكل 2ب: الإعدادات المقترَحة في "جودة المحتوى"

وأخيرًا، ننصح باستخدام 240 لقطة فيديو بين اللقطات الرئيسية (بالنسبة إلى المحتوى الذي يتضمّن 30 لقطة في الثانية، يعني ذلك 8 ثوانٍ). إطارات المفاتيح هي إطارات فيديو مكتفية ذاتيًا، أي أنّها لا تعتمد على أي إطارات أخرى لعرضها (راجِع "بنية مجموعة الصور" للحصول على شرح أكثر تفصيلاً). بالنسبة إلى تشغيل المحتوى على الويب والأجهزة الجوّالة، نسمح بمسافة كبيرة بين إطارات المفاتيح لأنّ ذلك يتيح لبرنامج الترميز اختيار أفضل موضع لإطارات المفاتيح من أجل تحقيق أعلى جودة.

أمثلة على مَعلّمات سطر الأوامر: فيديو بدقة 640x360

من الأعلى، تكون اقتراحات فيديو بدقة 360p على النحو التالي:

  1. مستوى جودة المكالمة 36 (راجِع الشكل 2ب)
  2. معدّل نقل البيانات المستهدف هو 276 كيلوبت في الثانية (راجِع الشكل 2أ)
  3. الحدّ الأدنى المسموح به لمعدّل نقل البيانات هو 138 كيلوبت في الثانية (50% من المعدّل المستهدَف)
  4. الحدّ الأقصى المسموح به لمعدّل نقل البيانات هو 414 كيلوبت في الثانية (150% من المعدّل المستهدف)
  5. الحدّ الأقصى للفاصل الزمني بين الإطارات الرئيسية هو 240 ثانية
  6. ملف "متوسط" بتمريرتين

يؤدي ذلك إلى توفير مَعلّمات سطر الأوامر التالية لكلّ من libvpx وFFmpeg:

libvpx

--end-usage=cq --cq-level=36 --target-bitrate=276 --minsection-pct=50 \
  --maxsection-pct=150 --kf-max-dist=240 --passes=2 --good --cpu-used=2

FFmpeg

-crf 36 -b:v 276k -minrate 138k -maxrate 414k -g 240 -good -speed 2

إعدادات المحتوى المميّز

في الأمثلة أعلاه، استخدمنا إعدادات ترميز سريعة إلى حدّ ما لإنشاء عمليات بث الفيديو بكفاءة. ومع ذلك، بالنسبة إلى بعض المحتوى (مثل الأفلام المميّزة)، يستحق الأمر قضاء المزيد من الوقت أثناء الترميز للحصول على جودة أعلى.

بالنسبة إلى المحتوى المميّز، ننصح باستخدام الإعدادات نفسها المذكورة أعلاه، ولكن مع إعدادات مسبقة مختلفة، مع توجيه برنامج الترميز إلى تخصيص المزيد من الوقت لتحسين الجودة:

أوضاع ترميز المحتوى المميّز ومَعلَمات سطر الأوامر

ارتفاع الإطار وضع الترميز libvpx FFmpeg
240 TWO_PASS_VERY_SLOW --good --cpu-used 0 -good -speed 0
360 TWO_PASS_VERY_SLOW --good --cpu-used 0 -good -speed 0
480 TWO_PASS_VERY_SLOW --good --cpu-used 0 -good -speed 0
720 TWO_PASS_SLOW --good --cpu-used 1 -good -speed 1
1080 TWO_PASS_MEDIUM --good --cpu-used 2 -good -speed 2
1440 TWO_PASS_MEDIUM --good --cpu-used 2 -good -speed 2
2160 TWO_PASS_MEDIUM --good --cpu-used 2 -good -speed 2

الشكل 2 (ج): أوضاع ترميز المحتوى المميّز

إعدادات المحتوى الرياضي والمحتوى الذي يتضمّن مشاهد سريعة الحركة

ننصح باستخدام ترميز معدّل البت المتغيّر للمحتوى الرياضي. تميل الرياضات إلى أن تتضمّن مستوى ثابتًا إلى حد ما من الحركة العالية والتعقيد، ويحقق استخدام معدّل نقل البيانات المتغيّر جودة أعلى خلال فترات الحركة الأقل مقارنةً بترميز جودة الصورة الثابتة.

بالنسبة إلى سطر الأوامر، يكمن الاختلاف الأساسي بين وضعَي QP وVBR في أنّك لن تحدّد مستوى CQ، وإلا ستكون الإعدادات المقترَحة هي نفسها.

أمثلة على مَعلّمات سطر الأوامر الخاصة بمعدّل البت المتغيّر: فيديو بدقة 640x360

libvpx

--end-usage=vbr --target-bitrate=276 --minsection-pct=50 --maxsection-pct=150 \
  --kf-max-dist=240 --passes=2 --good --cpu-used=2

FFmpeg

-b:v 276k -minrate 138k -maxrate 414k -g 240 -good -speed 2

إعدادات الصور المتحركة والألعاب

إعدادات المحتوى المزعج أو المنخفض الجودة

بالنسبة إلى المحتوى الذي يتضمّن تشويشًا، ننصح بزيادة عدد إطارات alt-ref وقوتها. إطارات المرجع البديلة هي إطارات "غير مرئية"، لا يتم عرضها أبدًا للمستخدم، ولكن يتم استخدامها كمرجع عند إنشاء الإطارات النهائية (يمكنك الاطّلاع على مزيد من المعلومات هنا).

يُنصح باستخدام المَعلمات التالية لتوجيه VP9 إلى استخدام المزيد من إطارات alt-ref:

libvpx

--auto-alt-ref=1 --lag-in-frames-16 --arnr-maxframes=5 --arnr-strength=3

FFmpeg

ترميز 10 بت/HDR

بالنسبة إلى الترميز بـ 10 بت، عليك استخدام VP9 Profile 2. لا يتطلّب الترميز بمعدل 10 بت أي وحدات بت إضافية، لذا تبقى بقية المَعلمات كما هي:

libvpx

--profile=2

FFmpeg

-profile 2

إعدادات الترميز المباشر

البث المباشر

يتم عادةً إجراء الترميز المباشر بتنسيق معدّل البت الثابت (CBR)، ما يحدّ من قدرة برنامج الترميز على تحقيق أعلى جودة. لهذا السبب، سنستخدم معدلات نقل بيانات أعلى كما هو موضّح في الشكل 2 (أ).

بالنسبة إلى الترميز المباشر، نريد أيضًا زيادة عدد سلاسل التنفيذ إلى أقصى حدّ. ويتم ذلك من خلال:

  1. السماح لبرنامج الترميز VP9 بتقسيم الفيديو إلى أعمدة (يجب ألا يقل عرضها عن 256 بكسل، ويجب أن تكون من مضاعفات العدد 2)
  2. الإشارة إلى VP9 لاستخدام المزيد من طاقة وحدة المعالجة المركزية يسرد الجدول التالي الاقتراحات لكل درجة دقة.

اقتراحات بشأن التقسيم إلى مربّعات والتقسيم إلى أجزاء

إعدادات برنامج الترميز لترميز CQ
حجم الإطار Number of tile-columns عدد سلاسل المحادثات
320×240 1 2
640‏x‏360 2 4
640×480 2 4
1280‏x‏720 4 8
1920‏x‏1080 4 8
2560x1440 8 16
‫3840x2160 8 16

الشكل 2د. التقسيم إلى مربّعات والتقسيم إلى أجزاء المقترَحان لترميز المحتوى المباشر

سيضبط الترميز المباشر أيضًا الموعد النهائي على "الوقت الفعلي" لضمان الأداء، وسيطلب من إطارات alt-ref عدم البحث في المستقبل (ما قد يؤدي إلى حدوث تأخير):

بناءً على ذلك، إليك الاقتراحات المتعلقة بفيديوهات البث المباشر بدقة 360p:

  1. معدل نقل بيانات ثابت، معدل نقل بيانات مستهدف يبلغ 386 كيلوبت في الثانية (راجِع الشكل 2أ)
  2. عمودان للمربّعات (راجِع الشكل 2د)
  3. 4 سلاسل محادثات (راجِع الشكل 2د)
  4. الأداء في الوقت الفعلي
  5. لا يحدث تأخير بسبب الإطارات البديلة (لا يحدث تأخير في عرض الإطارات)

يؤدي ذلك إلى توفير مَعلّمات سطر الأوامر التالية لكلّ من libvpx وFFmpeg:

libvpx

--end-usage=cbr --target-bitrate=386 --cpu-used=4 --tile-columns=2 --rt --lag-in-frames=0

FFmpeg

ffmpeg -i tears_of_steel_1080p.webm -vf scale=640x480 -r 29.97 -b:v 386k \
  -minrate 386k -maxrate 386k -c:v libvpx-vp9 -c:a libopus output.webm

تشفير VP9 المباشر لبروتوكول DASH/YouTube

ترميز WebRTC