قم بأتمتة سير عمل الوسائط الخاص بك باستخدام برامج FFmpeg النصية القوية

  • يُعد FFmpeg الأساس المثالي لأتمتة مهام الوسائط المتعددة المتكررة باستخدام البرامج النصية وتكوينات YAML والأدوات الخارجية.
  • تتيح البرامج النصية المحددة كل شيء بدءًا من التحويلات البسيطة والأغلفة التلقائية وصولاً إلى عمليات المونتاج المعقدة مع الانتقالات والقطع وتطبيع الجودة.
  • إن دمج FFmpeg في أنظمة مثل EditShare Flow والامتدادات المدعومة بالذكاء الاصطناعي يوسع نطاق استخدامه ليشمل سير العمل الاحترافي والبيئات غير التقنية.
  • باستخدام اثني عشر أمرًا رئيسيًا وبعض الأتمتة، من الممكن توحيد إنتاج الفيديو وتقليل العمل اليدوي بشكل كبير.

فمبيج

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

وهنا يأتي دورها برنامج FFmpeg مع البرامج النصية وملفات التكوينباستخدام عدد قليل من الأوامر المُصممة بعناية وبعض الأتمتة في باش أو بايثون أو أنظمة مثل EditShare Flow، يمكنك إنشاء مقدمات، وقص مقاطع، وإضافة انتقالات، وتحويل الصيغ، أو إنشاء صور GIF دون الحاجة إلى فتح أي برنامج لتحرير الفيديو. ما عليك سوى تحديد الخطوات، وسيقوم النظام بإنتاج الفيديوهات على دفعات.

ما هو برنامج FFmpeg ولماذا يعتبر مثالياً لأتمتة عمليات سير العمل في مجال الوسائط المتعددة؟

FFMPEG هو برنامج مجاني ومفتوح المصدر يُستخدم لـ تسجيل وتحويل ومعالجة ونقل الصوت والفيديو من سطر الأوامر. الاسم مشتق من مجموعة خبراء الصور المتحركة السريعة (Fast Forward Moving Picture Experts Group)، في إشارة إلى المجموعة التي أنشأت معايير MPEG التي استخدمناها جميعًا في مرحلة ما.

انطلق المشروع في عام 2000، مدفوعًا بـ فابريس بيلاردومنذ ذلك الحين، تولى صيانته مجتمع ضخم من المطورين. وبمرور الوقت، أصبح... دي المعيار الفعلي لأي مهمة فيديو أو صوت مؤتمتة. من تحويلات التنسيق البسيطة إلى مسارات الترميز المعقدة على الخوادم والسحابات مثل AWS أو Azure.

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

تستمد سمعتها كأداة "قوية" من حقيقة أن تتميز الصيغة بثراء كبير وتحتوي على آلاف الخياراتلكن الحقيقة هي أن 80% مما يحتاجه معظم الناس يمكن إنجازه باستخدام اثنتي عشرة أمراً مفهوماً جيداً. ومن ثم، يصبح كل شيء آخر مسألة دمج المرشحات والمعايير.

قم بأتمتة سير عمل الوسائط الخاص بك باستخدام هذه البرامج النصية لـ FFmpeg

تثبيت وبنية أوامر FFmpeg الأساسية

أصبح تثبيت FFmpeg هذه الأيام أمرًا بسيطًا للغاية. في معظم توزيعات البرامج لينكس استخدم ببساطة المستودعات الرسمية: sudo apt install ffmpeg. في ماكالطريقة الأنسب هي استخدام Homebrew مع brew install ffmpegوفي ويندوز لديك عدة خيارات: تنزيل الملفات التنفيذية من الموقع الرسمي وإضافتها إلى مسار النظام، أو تثبيتها عبر Chocolatey باستخدام choco install ffmpeg.

بمجرد التثبيت، تتم إدارة كل شيء من خلال سطر الأوامربشكل عام، يكون الهيكل النموذجي للأمر كالتالي:

  1. يتم الإعلان أولاً عما يلي: خيارات الدخول (قبل -i).
  2. ثم يتم تحديد ملف الإدخال.
  3. التالي ، خيارات الخروج والملف الناتج.

تُعدّ هذه التفاصيل المتعلقة بموقع الخيارات أساسية. ما يأتي قبلها -i يؤثر ذلك على المدخلات، وما يأتي بعدها يؤثر على المخرجات.

يعمل برنامج FFmpeg بمنطق من تيارات من مقاطع الفيديو والصوت والترجمة التي يمكنك نسخها أو إعادة ترميزها أو تصفيتها أو حذفها. ستجد غالبًا خيارات كهذه: -c:v (برنامج ترميز الفيديو)، -c:a (برنامج ترميز الصوت)، -vf (مرشحات الفيديو)، -af (مرشحات الصوت) أو -map لتحديد التدفقات التي تريدها في ملف الإخراج.

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

أتمتة التحرير باستخدام تكوينات YAML والبرامج النصية العامة

إحدى الطرق الفعّالة للغاية للاستفادة من FFmpeg هي وصف مقاطع الفيديو الخاصة بك على النحو التالي: التكوينات في YAML ودع برنامجًا نصيًا يُنشئ الأوامر المناسبة. في برنامج OfLibre، على سبيل المثال، تم تطوير برامج نصية تسمح لك بتحديدها في ملف. config.yml قائمة بالعناصر (صور أو مقاطع فيديو)، ومددها، ونقاط البداية والنهاية، ومستويات الصوت، وغيرها من المعايير.

الفكرة هي أن كل عنصر من عناصر YAML تتم معالجته بشكل مستقل في دليل مؤقتيتم قص الفيديو وتغيير حجمه وضبط الصوت وتطبيق الدقة أو معدل الإطارات المطلوب... ثم يتم تطبيق جميع المقاطع المُعدّلة. دمج بدقة للحفاظ على تزامن الصوت والفيديو بشكل مثالي.

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

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

في حالة OfLibre تحديدًا، يمكن العثور على رمز هذا البرنامج النصي العام في المجلد /automatizacion/video-generator/ من مستودعك. ومع ذلك، فإن المنطق قابل للتطبيق على أي بيئة ترغب فيها بإنتاج مقاطع فيديو ذات بنية متكررة من أوصاف تعريفية.

yaml ffmpeg

نص بسيط: صورة الغلاف بالإضافة إلى الفيديو الرئيسي

في العديد من المشاريع التعليمية أو المؤسسية أو المتعلقة بالفعاليات، يتكرر النمط نفسه: بضع ثوانٍ من الغطاء الثابت يبدأ الأمر بعنوان وشعارات ومعلومات أساسية، ثم يبدأ الفيديو "الحقيقي". في هذه الحالة، يُعدّ النص البرمجي البسيط مثاليًا، فهو يؤدي دائمًا نفس المهمة تمامًا باستخدام ملفين: صورة ومقطع رئيسي.

العملية بسيطة: أولاً، يتم التقاط الصورة وتحويلها إلى فيديو قصير (على سبيل المثال، 5 ثوانٍ)، يتم تعديلها لتناسب الدقة المستهدفة. ثم يتم دمجها مع الفيديو الرئيسي باستخدام تنسيق وسيط مثل mpegts لضمان اتصال موثوق. إذا كانت معايير الفيديو والصوت متوافقة، فيمكن حتى إجراء عملية الدمج. بدون إعادة ضغطبهذه الطريقة لن تفقد الجودة وستكون العملية سريعة للغاية.

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

ومرة أخرى، تنشر OfLibre مثالاً جاهزاً للاستخدام في المجلد /automatizacion/videos-asignaturas-abierto/الشيء المثير للاهتمام هنا ليس الكود الدقيق، بل النمط: تحديد مسارات التشغيل، ومدة التغطية بالثواني، وخيارات التشفير من أجل القدرة على إنشاء دفعات كاملة من مقاطع الفيديو برؤوس متسقة في غضون دقائق.

سير عمل متقدم: تحرير كامل يشمل المقدمات والقصات والانتقالات

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

ومن الأمثلة الواقعية على ذلك المسلسل مقاهي تقدم خدمة أوف ليبرحيث تم تصميم نص برمجي كامل يقوم بالتجميع التلقائي أربعة أنواع من القطاعات: مقدمة فيديو مؤسسية مع موسيقى، صورة ثابتة مع تفاصيل الاجتماع، الفيديو الرئيسي المسجل "بشكل خام" ومقطع ختامي مؤسسي.

الأمر المثير للاهتمام هو أنه بالإضافة إلى عملية الربط، يتم استخدام مرشحات متقدمة مثل com.xfade (انتقالات الفيديو) و عبر تتلاشى (انتقالات الصوت) لضمان تغييرات سلسة ومتناسقة بين المقاطع. يتيح لك هذا الانتقال من صورة ثابتة إلى الفيديو الرئيسي بتلاشٍ أنيق، مع الحفاظ على التزامن بين الصورة والصوت.

في الملف config.yml يتم تحديد مسارات كل عنصر، بالإضافة إلى مدة عرض الصور، ونقاط قص اختيارية للفيديو الرئيسي (البداية والنهاية)، وتعديلات مستقلة على مستوى الصوت (على سبيل المثال، خفض مستوى موسيقى المقدمة أو الخاتمة قليلاً). والنتيجة هي معيار جودة متجانس: دقة 720 بكسل، صوت بتردد 44.1 كيلو هرتز، نفس الانتقالات ومستويات متسقة بين الحلقات.

يتم إنشاء البرنامج النصي بالكامل من تكوين YAML هذا، ويوجد المستودع المقابل في /automatizacion/edicion-cafes/تُعد آلية العمل هذه مثالية للفرق التي تنتج محتوى منتظمًا، دون الحاجة إلى "تجميع" كل فصل يدويًا.

أتمتة عمليات التحويل والاستخراج باستخدام برنامج نصي تفاعلي بلغة باش

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

ومن الأمثلة الواضحة على ذلك نص برمجي مثل convertersheep.sh، والذي يتحقق أولاً مما إذا كنت قد مررت ملفًا، ويتحقق من وجوده، ثم يعرض قائمة تفاعلية في نافذة الأوامر. ومن هناك يمكنك اختيار ما إذا كنت تريد التحويل إلى WebM أو MP4 أو MKV أو AVI أو استخراج الصوت فقط إلى MP3.

بحسب اختيارك، يحدد البرنامج النصي امتداد الإخراج ويقوم بإنشاء أمر FFmpeg المناسب. إذا اخترت استخراج الصوت، فسيتم استخدام أمر مشابه لهذا. ffmpeg -i input -q:a 0 -map a output.mp3يركز هذا الخيار حصريًا على مسار الصوت بجودة ضغط جيدة. أما بالنسبة لتحويلات الفيديو، فما عليك سوى تحديد ملف الإخراج، وسيقوم برنامج FFmpeg باختيار برامج الترميز الافتراضية بناءً على امتداد الملف.

بمجرد إنشاء البرنامج النصي، يمكنك نقله إلى /usr/local/binقم بإزالة الامتداد وامنحه أذونات التنفيذ لتحويله إلى أوامر النظاملذا، يكفي أن تكتب convertersheep archivo.webm من أي مجلد، ما عليك سوى اتباع تعليمات القائمة. هذه طريقة عملية للغاية لجعل برنامج FFmpeg أكثر سهولة في الاستخدام للمستخدمين الذين لا يرغبون في حفظ الصيغة.

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

FFmpeg ضمن أنظمة التشغيل الآلي مثل EditShare Flow

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

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

بمجرد الانتهاء من ذلك، يمكنك إنشاء برامج نصية تأخذ الملفات التي يديرها Flow كمدخلات، وتطبيق يلزم تحويل الترميز أو المعالجة وإعادة النتائج إلى الكتالوج أو إلى موقع تخزين محدد. وبهذه الطريقة، تصبح مهام مثل إنشاء ملفات وسيطة، وتوحيد التنسيقات، أو إنشاء نسخ للأجهزة المحمولة مؤتمتة بالكامل.

إذا كنتَ مبتدئًا في استخدام كلٍّ من FFmpeg و EditShare، فمن المستحسن أن تبدأ بـ أوامر بسيطة للغاية. ثم اختبرها من خلال برنامج نصي يتم تشغيله بواسطة Flow. يتيح لك هذا التحقق من صحة المسارات والأذونات ومتغيرات البيئة دون التورط في أخطاء غامضة.

الأدوات والطبقات العليا: من واجهة سطر الأوامر إلى ملحقات الذكاء الاصطناعي

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

ومن الأمثلة اللافتة للنظر إضافة لمتصفح كروم تجمع بين FFmpeg و نماذج LLM وتعليمات اللغة الطبيعيةبدلاً من تذكر المعلمات الغامضة، يمكنك إخباره بأشياء باللغة الإنجليزية مثل "تسريع الفيديو إلى ضعف السرعة"، "القص من الدقيقة 1 إلى 3"، "استخراج الصوت إلى MP3" أو "تحويله إلى تنسيق عمودي للأفلام القصيرة" ويتولى الملحق مهمة ترجمتها إلى أوامر FFmpeg في الخلفية.

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

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

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