صور FFMPEG إلى دروس الفيديو

Ffmpeg Images Video Tutorial



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

إذا كنت لا تعرف ذلك بالفعل ، فإن ffmpeg هو برنامج يقوم بتحويل الفيديو والصوت وتحريره باستخدام المرشحات. إنه البرنامج الذي يدعم أكبر عدد من برامج الترميز المختلفة. إذا كنت قد استخدمت بالفعل VLC ، فأنت تعرف القليل من ffmpeg: يستخدم VLC ffmpeg لفك تشفير أكبر عدد ممكن من مقاطع الفيديو.







لكن قبل إنشاء مقاطع فيديو ، أحتاج إلى إخبارك ببعض المفاهيم حتى لا تضيع في الطريق.



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



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





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

بشكل عام ، تحتوي مقاطع الفيديو من الولايات المتحدة على 30 لقطة في الثانية - أدرك قليلا. إنه يبلغ 1800 إطار في الدقيقة ، أو 54000 إطار في كل نصف ساعة من الفيديو ، أو 108000 لقطة في الساعة . هذا كثير وهذا ما تتساءل عنه أحيانًا كيف يمكن لصورة واحدة أن تزن 1 ميغا بايت ولكن دقيقة واحدة من فيديو 1080 بكسل يمكن أن تزن 15 ميغا بايت فقط.



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

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

حسنًا ، حان الوقت لتثبيت ffmpeg.

قم بتثبيت ffmpeg على نظام Linux

اعتمادًا على التوزيع الخاص بك ، يمكن أن يكون تثبيت ffmpeg سهلاً أو قليلاً مخادع . إنه برنامج مجاني برمز مصدر متاح للجمهور ، ولكن نظرًا لأنه يمكنه فك تشفير أو تشفير التنسيقات الحاصلة على براءة اختراع مثل MP4 ، فإن بعض التوزيعات تستبعده من مستودعاتها. على سبيل المثال ، في Red Hat Enterprise Linux و CentOS و Fedora ، تحتاج إلى RPMFusion بسبب براءات الاختراع. علاوة على ذلك ، فإن جميع إصدارات دبيان و Ubuntu قبل 16.04 توزع نسخة خاطئة من ffmpeg بناءً على تفرع غير شرعي.

ولكن قبل الإسراع بتثبيته ، فربما تم تثبيت الإصدار الصحيح بالفعل؟ دعونا نختبر:

$ffmpeg -إصدار
ffmpegالإصدار X.XXXXXXXX حقوق النشر(ج) 2000-2018مطوري FFmpeg

إذا رأيت مطوري FFmpeg بعد حقوق النشر ، لديك الإصدار الأصلي من FFMpeg ، فلا داعي للقيام بأي شيء. ومع ذلك ، إذا رأيت:

$ffmpeg -إصدار
ffmpegالإصدار X.XXXXXXXX حقوق النشر(ج) 2000-2018مطوري Libav

ثم يعني ذلك أنك تستخدم ملف شوكة من ffmpeg يسمى Libav. Debian والإصدارات الأقدم من Ubuntu بصمت استبدل FFMpeg بـ Libav. إذا أخبرك أنه تم إيقاف العمل به ، فيرجى تجاهله ، فهذا أمر مضلل. إذا كان لديك مفترق مثبت ، فقد حان الوقت لإزالة إصدار ffmpeg الخاطئ ، ثم اتبع الدليل أدناه لتثبيت الإصدار الصحيح. ربما مثل هذا:

$سودو الحصول على إزالة apt ffmpeg

الآن ربما لم يتم تثبيته بعد أو لديك الإصدار الخاطئ ، حان الوقت لتثبيته!

في Fedora و Red Hat Enterprise Linux (RHEL) و CentOS ، انتقل إلى https://rpmfusion.org/Configuration وتمكين مستودع RPMFusion المجاني على جهاز الكمبيوتر الخاص بك. ثم ، إذا كنت في Fedora ، فافعل:

$سودوdnfتثبيت ffmpeg

وبالنسبة إلى CentOS & Red Hat Enterprise Linux ، قم بما يلي:

$سودو يم التثبيت ffmpeg

هذا كل شيء بالنسبة للأنظمة القائمة على Fedora و Red Hat ، لقد تم تثبيتها.

في جميع إصدارات Debian (وجميع المشتقات) و Ubuntu قبل 16.04 ، تحتاج إلى الحصول على بنية ثابتة FFMpeg من الموقع الرسمي. اذهب إلى https://ffmpeg.org/download.html#build-linux و تحت Linux Static يبني ، انقر فوق 32 بت و 64 بت لـ kernel 2.6.32 وما فوق . ثم أدناه الإصدار: X.X.X قم بتنزيل الأرشيف المناسب واستخراجه ويمكنك تشغيل الملفات التنفيذية الموجودة في المجلد المستخرج عبر CLI.

بالنسبة لأولئك الذين يستخدمون Ubuntu 16.04 والإصدارات الأحدث ، الأمر أسهل ، ما عليك سوى القيام بما يلي:

$سودو تثبيت apt-get ffmpeg

تفو! أخيرا يجب أن نكون على ما يرام! قبل المتابعة ، اختبر آخر مرة باستخدام:

$ffmpeg -إصدار

إصدار ffmpeg X.XXXXXXXX حقوق النشر (c) 2000-2018 لمطوري FFmpeg

إنشاء مقاطع فيديو من العديد من الصور

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

** MP4 و H.264 هما برنامجان ترميزان حاصلان على براءة اختراع ، يرجى التحقق مما إذا كان لديك الحق في التشفير باستخدامه. **

$ffmpeg-r: v30 -أنا 'البطاريق -٪ 05d.png'-الشفرة: v libx264-المعد مسبقابطيء جدا
-pix_fmt yuv420p-crf 28 -ان 'Penguins.mp4'

حسنا كيف يعمل ذلك؟ لكي يعمل هذا الأمر ، يجب أن يكون لديك العديد من الإطارات حيث يكون كل إطار عبارة عن ملف مثل Penguins - 00043.png. سيجمع هذا الأمر بعد ذلك كل الإطارات بالترتيب بمعدل 30 إطارًا في الثانية. لذا ، Penguins - 00043.png تأتي قبل Penguins - 00044.png في الفيديو و ffmpeg ستحترم ذلك. لذلك إذا كان لديك 120 إطارًا ، فستكون مدة الفيديو الخاص بك 4 ثوانٍ.

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

  • يجب أن تشارك جميع الإطارات في نفس الفيديو:
    • عرض ارتفاع
    • عمق اللون
  • يجب أن تكون الإطارات بحجم قياسي للفيديو مثل:
    • 640 ✕ 360 (360p)
    • 853 × 480 (480 بكسل)
    • 1280 ✕ 720 (720p)
    • 1920 × 1080 (1080 بكسل)
    • 4096 ✕ 2306 (4K)
  • تفضل الإطارات بتنسيق PNG بدلاً من JPG
  • تجنب الشفافية أو ألفا في تنسيق PNG

سيستغرق الأمر بعض الوقت لتحويل الفيديو وتحسين أدائه وجعلك ملف MP4 باسم Penguins.mp4.

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

دعنا نفعل ذلك بالأحرى:

$ffmpeg-r: v1/5 -أنا 'البطاريق -٪ 05d.png'-r: v30-الشفرة: v libx264-المعد مسبقابطيء جدا
-pix_fmt yuv420p-crf 28 -ان 'Penguins.mp4'

هناك نذهب! سيجعل ffmpeg كل صورة من صورك تظهر لمدة 5 ثوانٍ ولكن في فيديو 30 إطارًا في الثانية. لا تقلق بشأن تحذير الإطارات المكررة: فهذا ما تريده.

استنتاج

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

خذ الوقت الكافي للتجربة بنفسك - أنت فنان ، بعد كل شيء - وإنشاء مقطع فيديو يحقق ملايين المشاهدات في YouTube!