فهم رسوميات تعديل صورة الفيديو FFmpeg (Filter Graphs)

7 دقيقة قراءة

فهم رسوميات ترشيح FFmpeg (Filter Graphs)


يُعد FFmpeg أحد أقوى الأدوات في عالم معالجة الفيديو — ويستخدمه المحترفون والمطورون ومنشئو المحتوى على حدٍ سواء. يكمن في قلب مرونة FFmpeg مفهوم **رسوميات الترشيح (filter graph)**: وهي طريقة منظمة لسلسلة التحويلات معًا مثل الاقتصاص، والتغبيش (Blurring)، وتغيير الحجم (Scaling)، وتصحيح الألوان، وتراكب الصور (Overlays)، أو إضافة النصوص. يعد فهم كيفية عمل رسوميات الترشيح هذه خطوة أساسية لأي شخص يرغب في تحرير مهام الفيديو أو أتمتتها بكفاءة.

ما هي رسومية الترشيح (Filter Graph)؟

رسومية الترشيح هي عبارة عن سلسلة من المرشحات (filters) المتصلة التي تقوم بمعالجة تدفقات الفيديو أو الصوت خطوة بخطوة. يمكنك التفكير فيها كخط إنتاج: حيث تقوم كل محطة (مرشح) بمهمة محددة — على سبيل المثال، قد يقوم الأول باقتصاص الفيديو، ويضيف التالي التغبيش، ويقوم آخر بتركيب نص. ترتبط هذه العمليات معًا لتشكيل خط أنابيب معالجة كامل.

في أوامر FFmpeg، يتم تعريف رسوميات الترشيح باستخدام العلامة -filter_complex. هذا يسمح لك بدمج مرشحات متعددة والتحكم في كيفية معالجة وخلط تدفقات الفيديو والصوت معًا.

فهم تسميات التدفق (Stream Labels)

يحتوي كل ملف إدخال في FFmpeg على تدفق (stream) واحد أو أكثر — على سبيل المثال:

  • [0:v] ← تدفق الفيديو للملف الأول.
  • [0:a] ← تدفق الصوت للملف الأول.
  • [1:v] ← تدفق الفيديو للملف الثاني، إذا كان لديك مدخلات متعددة.

تُعد هذه التسميات أمرًا بالغ الأهمية لأنها تخبر FFmpeg بالجزء الذي يجب معالجته من المدخل. يمكنك بعد ذلك تمرير هذه التدفقات إلى المرشحات، وسلسلتها، وتسمية المخرجات الناتجة للاستخدام لاحقًا.

مثال:

ffmpeg -i input.mp4 -filter_complex "[0:v]scale=1280:720,boxblur=5[video]" -map "[video]" -map 0:a -c:a copy output.mp4

في هذا المثال:

  • [0:v] هو تدفق الفيديو المدخل.
  • scale=1280:720,boxblur=5 يطبق مرشحين: تغيير الحجم (scaling) والتغبيش (blurring).
  • [video] هو تسمية المخرج لهذا التدفق المعالج، والذي يتم ربطه لاحقًا بمخرج الفيديو النهائي.

كيف يتم ربط المرشحات (Chaining)

يتم ربط المرشحات باستخدام الفواصل , لتطبيق العمليات بالتسلسل. يمكنك ربط مرشحات متعددة معًا:

[0:v]crop=100:100:10:10,boxblur=8,eq=brightness=0.06:saturation=1.5[outv]

يقوم هذا الأمر بما يلي:

  1. اقتصاص منطقة 100x100 تبدأ عند الإحداثيات (10,10).
  2. تطبيق تأثير تغبيش بنصف قطر 8.
  3. تعديل السطوع (brightness) والتشبع (saturation).
  4. تخزين النتيجة في تدفق مُسمّى جديد يُسمى [outv].

أمثلة شائعة من واقع الحياة

1. تغبيش وجه أو منطقة في مقطع فيديو

غالبًا ما تحتاج الشركات ومنشئو المحتوى إلى إخفاء المعلومات الشخصية أو الوجوه في مقاطع الفيديو قبل النشر. تجعل رسوميات ترشيح FFmpeg هذا ممكنًا:

ffmpeg -i input.mp4 -filter_complex "[0:v]crop=200:200:500:300,boxblur=10[blur];[0:v][blur]overlay=500:300[out]" -map "[out]" -map 0:a -c:a copy output.mp4

يقوم هذا الأمر بما يلي:

  • اقتصاص منطقة 200x200 بكسل تبدأ عند (500,300).
  • تطبيق التغبيش على تلك المنطقة.
  • تراكب المنطقة المُغَبَّشة مرة أخرى على الفيديو الأصلي.

2. إضافة علامة مائية (Watermark)

ffmpeg -i input.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay=W-w-10:H-h-10[out]" -map "[out]" -map 0:a -c:a copy watermarked.mp4

يوضح هذا المثال كيفية تراكب شعار (علامة مائية) في الزاوية السفلية اليمنى باستخدام تسميات التدفق وربط المرشحات.

تصحيح أخطاء رسوميات الترشيح (Filter Graph Errors)

عند إنشاء مرشحات معقدة، قد تظهر لك أخطاء مثل: Cannot find a matching stream for unlabeled input pad (لا يمكن العثور على تدفق مطابق لحقل إدخال غير مسمى). عادةً ما تعني هذه الأخطاء أن أحد تدفقات الإدخال أو تسميات المرشح مفقود. أفضل طريقة لإصلاح ذلك هي بناء مرشحك خطوة بخطوة:

  1. ابدأ بمرشح بسيط (مثل الاقتصاص).
  2. أضف المرشح التالي وقم بالاختبار مرة أخرى.
  3. استخدم تسميات ذات معنى مثل [blur]، [mask]، أو [overlayed] لتتبع كل مرحلة.

أفضل الممارسات للعمل مع مرشحات FFmpeg

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

تطبيقات الأعمال والإبداع

يُمكن فهم رسوميات ترشيح FFmpeg المبدعين والشركات من أتمتة مهام ما بعد الإنتاج. من تغبيش المحتوى الحساس للامتثال لمتطلبات وسائل التواصل الاجتماعي إلى تغيير حجم دفعات الفيديو الكبيرة للحملات الإعلانية، يؤدي إتقان هذه الأوامر إلى توفير الوقت وضمان نتائج ذات جودة احترافية.

الخلاصة

قد تبدو رسوميات الترشيح في FFmpeg معقدة، لكنها ببساطة خطوط أنابيب بصرية في شكل نصي. بمجرد أن تفهم كيفية تسمية وربط التدفقات، يمكنك إنشاء سير عمل متطور يحل محل ساعات من التحرير اليدوي. هذه المهارة لا تحسن الإنتاجية فحسب، بل تمكن أيضًا من الأتمتة عبر الصناعات — من إنشاء المحتوى إلى الأمن وتحليل الوسائط.

الدرس التالي: تطبيق المرشحات على فترات زمنية محددة باستخدام FFmpeg

إتقان FFmpeg لتحرير ومعالجة الفيديو

إتقان FFmpeg لتحرير ومعالجة الفيديو

تصحيح الأخطاء وبناء سلاسل الفلاتر في تعديل ومونتاج الفيديو
سوفت ويرمعالجة الفيديو باستخدام FFmpeg
عرض الكورس

دروس الدورة