UGLYPEAR AI تُكمل ترقية أعمالها: ضغط المستندات عالي الأداء × أساس هندسة بيانات RAGتعرّف على الأعمال الجديدة →

ضغط FFmpeg: كيف تختار بين CRF وCBR وVBR؟

خلاصة أولًا: لضغط الفيديو في FFmpeg ثلاثة أوضاع للتحكم في معدل البت — CRF (جودة صورة ثابتة) مناسب للأرشفة والتخزين المحلي، وCBR (معدل بت ثابت) للبث المباشر، وVBR (معدل بت متغير) للفيديو حسب الطلب. لنفس فيديو 1080p، ينتج CRF 23 حجمًا قدره 42MB بأفضل جودة، وCBR 4Mbps حجمًا 38MB بأكثر معدل بت استقرارًا، أما VBR فينتج 36MB بأصغر حجم لكن مع تذبذب في الجودة. اختيار الوضع الخاطئ يكلّفك إما هدرًا في الحجم أو تراجعًا في الجودة. فيما يلي شرح مفصّل لاختيار الوضع المناسب من ثلاثة جوانب: المبدأ، والأوامر، والاختبار العملي.

إذا لم تكن على دراية بالأساليب العامة لضغط الفيديو، فننصح بقراءة دليل ضغط الفيديو.

أولًا: مقارنة مبادئ أوضاع معدل البت الثلاثة

يحدد وضع التحكم في معدل البت في تشفير الفيديو كيفية تخصيص موارد البت من قِبل المُرمِّز. الفرق الجوهري بين الأوضاع هو «ما الذي يجب ضمانه أولًا» — CRF يضمن جودة الصورة، وCBR يضمن استقرار معدل البت، وVBR يحقق توازنًا بينهما. فهم مبادئ هذه الأوضاع الثلاثة هو أساس ضغط الفيديو الجيد.

بُعد المقارنةCRF (Constant Rate Factor)CBR (Constant Bitrate)VBR (Variable Bitrate)
الاسم الكاملمعامل المعدل الثابتمعدل البت الثابتمعدل البت المتغير
الهدف الأساسيجودة صورة ثابتةمعدل بت ثابتحجم قابل للتحكم
توزيع البتتوزيع ديناميكي بحسب تعقيد المشهدمعدل بت ثابت لكل إطارتذبذب ضمن الحدود
اتساق الجودة★★★★★★★☆☆☆★★★☆☆
قابلية التحكم بالحجم★★☆☆☆★★★★★★★★★☆
سرعة الترميزمتوسطةالأسرعأبطأ
السيناريوهات المناسبةأرشفة / تخزين محليالبث المباشرالفيديو حسب الطلب

ببساطة: CRF يجعل المُرمِّز «يوزع معدل البت بحسب صعوبة المشهد» — فيمنح أفلام الحركة قدرًا أكبر من البت، والمشاهد الثابتة قدرًا أقل، لتتسق جودة كل إطار في النهاية؛ أما CBR فيعطي «قدرًا ثابتًا من البت بصرف النظر عن تعقيد المشهد» — فيهدر البت في المشاهد البسيطة، ويقلّ في المشاهد المعقدة مما يسبب ظهور البكسلات (mosaic)؛ VBR يقع بينهما، فيعين نطاقًا لمعدل البت ويترك للمُرمِّز حرية الضبط.

ثانيًا: أمثلة أوامر FFmpeg ومعاملاتها

تختلف صياغة الأوضاع الثلاثة في FFmpeg، وتختلف معاملاتها الرئيسية. فيما يلي نموذج الأمر القياسي لكل وضع وشرح المعاملات.

الوضعالمعامل الرئيسيشرح المعاملالنطاق النموذجي
CRF-crfمعامل جودة الصورة، كلما صغرت القيمة ارتفعت الجودة0-51 (18-28 شائع)
CRF مقيد-maxrate / -bufsizeتحديد ذروة معدل البتmaxrate 2-8Mbps
CBR-b:v / -minrate / -maxrateضبط المعاملات الثلاثة على قيمة واحدة لتحقيق CBR2-8Mbps
VBR-b:vمعدل البت المستهدف للمتوسط2-6Mbps
نطاق VBR-minrate / -maxrateنطاق تذبذب معدل البتmin 1-2Mbps / max 4-8Mbps
عام-presetالتوازن بين سرعة الترميز ومعدل الضغطultrafast-fast-medium-slow

1. أمر وضع CRF

CRF هو وضع الأرشفة الأنسب. يوزع المُرمِّز معدل البت تلقائيًا بحسب تعقيد المشهد لضمان اتساق جودة كل إطار. قيمة CRF 23 هي الافتراضية لـ H.264 وتناسب معظم السيناريوهات.

وضع CRF الخالص (دون تحديد حد أعلى لمعدل البت):
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4

وضع CRF المقيد (تحديد ذروة معدل البت، مناسب للسيناريوهات التي تتطلب حدًا أعلى):
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -maxrate 4M -bufsize 8M -preset medium output.mp4

2. أمر وضع CBR

يحقق CBR معدل البت الثابت من خلال ضبط minrate وmaxrate وb:v على نفس القيمة. يجب استخدام CBR في البث المباشر لضمان استقرار معدل البت.

وضع CBR القياسي:
ffmpeg -i input.mp4 -c:v libx264 -b:v 4M -minrate 4M -maxrate 4M -bufsize 8M -preset fast output.mp4

وضع البث المباشر (مع RTMP):
ffmpeg -i input.mp4 -c:v libx264 -b:v 4000k -minrate 4000k -maxrate 4000k -bufsize 8000k -g 60 -preset fast -f flv rtmp://server/live/stream

3. أمر وضع VBR

يحدد VBR معدل البت المستهدف للمتوسط، ويترك للمُرمِّز حرية الضبط في النطاق. مناسب للفيديو حسب الطلب الذي يحتاج تقديرًا للحجم.

وضع VBR القياسي:
ffmpeg -i input.mp4 -c:v libx264 -b:v 4M -preset medium -c:a aac -b:a 128k output.mp4

تشفير VBR بمرحلتين (Two-pass، تحكم أدق بالحجم):
ffmpeg -y -i input.mp4 -c:v libx264 -b:v 4M -pass 1 -an -f mp4 /dev/null
ffmpeg -i input.mp4 -c:v libx264 -b:v 4M -pass 2 -c:a aac -b:a 128k output.mp4

ثالثًا: بيانات الاختبار العملي — مقارنة الأوضاع الثلاثة على نفس الفيديو

استخدمنا مقطع اختبار بدقة 1080p/30fps (حجم أصلي 350MB، ترميز H.264، مدة 5 دقائق) لضغطه بالأوضاع الثلاثة، ومقارنة الحجم والجودة وزمن الترميز.

الوضعالمعاملاتحجم الإخراجمعدل الضغطتقييم الجودةزمن الترميز
CRF 18-crf 18 -preset medium85.2MB75.7%★★★★★142 ثانية
CRF 23-crf 23 -preset medium42.1MB88.0%★★★★☆128 ثانية
CRF 28-crf 28 -preset medium22.5MB93.6%★★★☆☆115 ثانية
CBR 4M-b:v 4M -minrate 4M -maxrate 4M38.3MB89.1%★★★☆☆98 ثانية
CBR 2M-b:v 2M -minrate 2M -maxrate 2M19.4MB94.5%★★☆☆☆92 ثانية
VBR 4M-b:v 4M -preset medium36.8MB89.5%★★★★☆135 ثانية
VBR 4M بمرحلتين-b:v 4M -pass 236.2MB89.7%★★★★☆268 ثانية

تكشف البيانات عن عدة استنتاجات جوهرية: يحقق CRF 23 أفضل توازن بين الجودة والحجم (42MB، جودة أربع نجوم ونصف)؛ CBR 4M قريب في الحجم من CRF 23 لكن أقل جودة بقليل (تظهر بكسلات في المشاهد المعقدة)؛ VBR بمرحلتين أدق في الحجم لكن زمن الترميز يتضاعف. لسيناريوهات الأرشفة، يظل CRF 23 الخيار الأمثل.

لننظر في تأثير preset المختلفة على CRF 23:

presetحجم الإخراجزمن الترميزفارق الحجمالسيناريو الموصى به
ultrafast58.2MB32 ثانية+38%معاينة فورية
fast45.6MB68 ثانية+8%ضغط سريع
medium42.1MB128 ثانيةمرجعافتراضي عام
slow39.8MB285 ثانية-5%أرشفة عالية الجودة
slower38.5MB612 ثانية-9%ضغط بأقصى جودة

مرجع معدلات البت الموصى بها بحسب الدقة، يساعد في اختيار معدل البت المستهدف المناسب لـ CBR/VBR:

الدقةمعدل الإطاراتمعدل بت CBR الموصى بهمعدل بت VBR المستهدفقيمة CRF الموصى بهاالسيناريو المناسب
480p30fps1.0Mbps1.0MbpsCRF 24جوال منخفض الدقة
720p30fps2.5Mbps2.5MbpsCRF 23دقة قياسية للويب
1080p30fps4.0Mbps4.0MbpsCRF 23عالي الدقة عام
1080p60fps6.0Mbps6.0MbpsCRF 22عالي الدقة بمعدل إطارات مرتفع
1440p30fps8.0Mbps8.0MbpsCRF 22جودة 2K
2160p(4K)30fps16.0Mbps16.0MbpsCRF 20أرشفة فائقة الدقة

رابعًا: توصيات حسب السيناريو — اختر الوضع المناسب لكل غرض

تتفاوت متطلبات الجودة والحجم واستقرار معدل البت بحسب سيناريو الاستخدام، وجوهر اختيار وضع البت هو مطابقة متطلبات السيناريو.

سيناريو الاستخدامالوضع الموصى بهالمعاملات الموصى بهاسبب الاختيارمعدل الضغط المتوقع
التخزين الأرشيفي المحليCRF-crf 23 -preset mediumالجودة أولًا، الحجم الأمثل85%–90%
أرشفة عالية الجودةCRF-crf 18 -preset slowقريبة من عدم الفقدان، حفظ طويل الأمد70%–80%
البث المباشرCBR-b:v 4M -minrate 4M -maxrate 4Mمعدل بت مستقر، يمنع التقطعحسب المصدر
الفيديو حسب الطلبVBR بمرحلتين-b:v 4M -pass 2حجم دقيق وجودة متوازنة80%–90%
تشغيل على الجوالCRF مقيد-crf 26 -maxrate 2M -bufsize 4Mتحديد معدل البت ليتناسب مع شبكة الجوال90%–95%
فيديو الويبCRF مقيد-crf 24 -maxrate 3M -bufsize 6Mالتوازن بين الجودة وسرعة التحميل88%–92%
تسجيلات المراقبةCBR-b:v 1M -minrate 1M -maxrate 1Mمعدل بت ثابت لتسهيل حساب التخزينحسب المصدر
فيديو البريد الإلكترونيCRF-crf 28 -preset fastالحجم أولًا، جودة مقبولة93%–96%

يستخدم SmartSlim في ضغط الفيديو محرك ضغط Rust المطوّر داخليًا، مع مكتبة معاملات مبنية على السيناريو — 4 مستويات ضغط × 15 سيناريو × 5 مستويات أداء = 300 تركيبة، يختار تلقائيًا أفضل وضع للمعدل البت ومعاملاته بحسب غرض الفيديو، دون الحاجة لكتابة أوامر FFmpeg يدويًا. كما يمكن لمستخدمي المؤسسات دمجه في أنظمتهم عبر SDK لأتمتة ضغط الفيديو.

لمزيد من مقارنات ترميز الفيديو، يمكنك الرجوع إلى مقارنة ترميز H.264 مقابل H.265 مقابل AV1 وطرق تقييم جودة ضغط الفيديو.

خامسًا: الأسئلة الشائعة FAQ

س1: لضغط الفيديو في FFmpeg، أيهما أفضل CRF أم VBR؟

للأرشفة والتخزين المحلي يُستحسن CRF. يهدف CRF إلى جودة صورة ثابتة، فيخصص معدل بت أكبر للمشاهد المعقدة وأقل للبسيطة، فتتسم الجودة بالاتساق ويكون الحجم أمثلًا. نطاق CRF الموصى به 18-28؛ 18 قريب من عدم الفقدان البصري، 23 نقطة التوازن الافتراضية، 28 جودة مقبولة وحجم أصغر. VBR مناسب للسيناريوهات التي تتطلب تحديد حد أعلى لمعدل البت مثل البث، لكن جودته أقل استقرارًا من CRF.

س2: ما قيمة CRF التي تعطي أفضل جودة؟

كلما صغرت قيمة CRF ارتفعت الجودة وزاد الحجم. في ترميز H.264: CRF 0 بدون فقدان، CRF 18 قريب من عدم الفقدان البصري (الحجم نحو 50% من الأصل)، CRF 23 هو القيمة الافتراضية في FFmpeg (الحجم نحو 25% من الأصل)، CRF 28 جودة مقبولة (الحجم نحو 12% من الأصل). النطاق الموصى به 18-28، وفي معظم السيناريوهات يكفي CRF 23، وللجودة العالية استخدم 18-20.

س3: للبث المباشر، أيهما CBR أم VBR؟

للبث المباشر يُنصح بـ CBR. يتطلب البث استقرارًا شديدًا لمعدل البت — فيحافظ CBR على معدل بت ثابت، ويتجنب التقطع الناجم عن تذبذب الشبكة. تفرض منصات البث عادةً معدل بت ثابتًا (مثل Twitch 6000kbps، Bilibili 4000kbps)، ويستطيع CBR مطابقتها بدقة. قد يقفز VBR في المشاهد المعقدة متجاوزًا سقف النطاق الترددي مما يسبب فقدان الإطارات، بينما يظل CBR مستقرًا دائمًا. للبث استخدم CBR مع maxrate = bufsize = معدل البت المستهدف.

س4: ما الفرق بين وضعي VBR في FFmpeg؟

يقدم FFmpeg مستويين من VBR: -crf مع maxrate/bufsize هو VBR مقيد (constrained VBR)، تقترب جودته من CRF الخالص لكن مع تحديد ذروة البت؛ و-b:v مع -minrate/-maxrate هو VBR تقليدي، يتذبذب البت في النطاق. VBR المقيد أنسب للاستخدام الفعلي، إذ يضمن الجودة مع التحكم بذروة البت. VBR التقليدي مناسب للسيناريوهات التي تتطلب تحكمًا دقيقًا بنطاق البت، كالتوافق مع بيئات نطاق ترددي محددة.

الخلاصة

كل وضع من أوضاع معدل البت الثلاثة في FFmpeg له سيناريو مثالي: CRF يقدّم الجودة أولًا ومناسب للأرشفة (نوصي بـ CRF 23)، CBR يقدّم الاستقرار أولًا ومناسب للبث المباشر (نوصي بـ 4Mbps ثابت)، VBR يقدّم التحكم بالحجم أولًا ومناسب للفيديو حسب الطلب (نوصي بترميز بمرحلتين). اختيار الوضع الصحيح هو الخطوة الأولى في ضغط الفيديو — اختر CRF للأرشفة، وCBR للبث، وVBR للفيديو حسب الطلب، وبهذا المبدأ لن تخطئ.

إذا كنت لا ترغب في كتابة أوامر FFmpeg يدويًا، فإن SmartSlim يوفر حل ضغط فيديو جاهزًا للاستخدام، مبنيًا على محرك ضغط Rust المطوّر داخليًا، ويضم 300 تركيبة معاملات مبنية على السيناريو، ويدعم 8 صيغ فيديو منها mp4/mkv/avi/mov/wmv/flv/webm/m4v، وضغط محلي لا تغادر فيه البيانات نطاقك.

هل تحتاج إلى ضغط الملفات؟ جرّب SmartSlim

مبني على محرك ضغط Rust مطوّر داخليًا، يدعم أكثر من 40 صيغة في 10 فئات تشمل PDF والصور والفيديو وOffice وOFD، مع ضغط محلي لا تغادر فيه البيانات نطاقك.