بدون رفع, 100% محلي، بدون حساب

مقال

استخراج إطارات الفيديو للصور المصغرة وصفحات الاتصال

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

الإطارات ومعدل الإطارات

ملف الفيديو هو سلسلة من الصور الثابتة تُعرض بسرعة كافية لخلق وهم الحركة. عدد الصور المعروضة في الثانية هو معدل الإطارات، يُعبَّر عنه بـ fps. القيم الشائعة هي 24 fps للسينما، و25 fps لبث PAL، و30 fps لفيديو الويب، و60 fps لتسجيلات الألعاب. عند 24 fps، يحتوي فيلم مدته ساعتان على ما يقارب 172,800 إطارًا منفردًا. يقابل كل إطار لحظة واحدة في الزمن؛ استخراج إطار يجمّد تلك اللحظة كصورة مستقلة. يحدد معدل الإطارات أيضًا عدد الإطارات التي تحصل عليها لكل ثانية من اللقطات عند استخراج دفعة: عند 30 fps، سحب كل إطار من دقيقة واحدة من الفيديو يعطيك 1,800 صورة، وهو في الغالب أكثر بكثير مما تحتاجه. الاستخراج بمعدل إطارات أقل، أو كل إطار N بالأدوات التي تدعم ذلك، طريقة عملية لتقليل هذا الحجم مع تغطية المدة الكاملة.

شريط زمني يُظهر 24 إطارًا منفردًا لكل ثانية من اللقطات، مع رقم الإطار والطابع الزمني مرئيَين تحت كل إطار.

الإطارات المفتاحية مقابل الإطارات المُتداخَلة

ترميزات الفيديو الحديثة لا تخزن كل إطار كصورة كاملة. تستخدم ثلاثة أنواع من الإطارات لتوفير المساحة. I-frame، يُسمى أيضًا إطارًا مفتاحيًا، هو صورة كاملة مكتفية بذاتها. يخزن P-frame فقط البكسلات التي تغيرت منذ آخر I-frame أو P-frame. يخزن B-frame التغييرات بالنسبة لإطار سابق وإطار مستقبلي، ما يتطلب إطارات على الجانبين لإعادة بنائه. نظرًا لأن P-frame أو B-frame غير مكتمل بذاته، فإن فك ترميزه يستلزم الإطارات المرجعية المحيطة. إذا كانت تلك الإطارات المرجعية تحتوي على ضبابية الحركة أو تحول، تكتسب الصورة المُعاد بناؤها تلك الضبابية. أما I-frame فيُفكَّك بشكل مستقل. إنه دائمًا واضح لأنه لا يستعير شيئًا من الجيران. عند استخراج إطار لاستخدامه كصورة مصغرة، يمنحك الوصول إلى I-frame أوضح نتيجة ممكنة. تضع معظم الترميزات I-frames عند تغيّرات المشاهد، وهي نقاط بداية واضحة بطبيعتها.

اختيار اللحظة المناسبة

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

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

التصدير: الدقة والتنسيق وكل إطار N

عند استخراج إطار، يجب أن تطابق الصورة المُصدَّرة دقة الفيديو الأصلية. التكبير يُدخل تشوهات الاستيفاء؛ التصغير يتخلص من بكسلات قد تريدها. فيديو 1080p ينتج صورًا بحجم 1920x1080 بكسل، وفيديو 4K ينتج 3840x2160. للتنسيق، يحفظ PNG كل بكسل بالضبط وهو الخيار الصحيح عندما تحتاج إلى أقصى حدة للتحرير أو التحجيم اللاحق. JPEG أصغر حجمًا ومناسب للمعاينة أو المشاركة، لكنه يُدخل تشوهات ضغط حول الحواف الحادة. إذا كنت تبني صفحة اتصال، شبكة من الإطارات التمثيلية الصغيرة التي تغطي المدة الكاملة، فإن الاستخراج بمعدل إطارات ثابت بدلاً من سحب كل إطار هو النهج المعياري: طلب إطار واحد في الثانية من مصدر 30 fps يعطيك صورة واحدة لكل ثانية من اللقطات، ومعدل أعلى كـ 5 أو 10 fps يعطيك مجموعة أكثف للفحص الدقيق. المعدل الدقيق يعتمد على كمية التفاصيل التي تحتاجها مقابل عدد الصور التي تريد التعامل معها.

القيام بذلك محليًا باستخدام video-extract-frames

تفكّ أداة video-extract-frames على Sunasty ترميز فيديوك بالكامل داخل المتصفح باستخدام FFmpeg مُصنَّف إلى WebAssembly. تُسقط ملفًا، تختار معدل إطارات من 1 إلى 30 إطارًا في الثانية، تختار PNG أو JPEG، وتفكّ الأداة الإطارات بذلك المعدل في ذاكرة متصفحك وتعرض النتائج كتنزيلات مستقلة، بحد أقصى 300 إطار لكل عملية. ملف الفيديو الخاص بك لا يغادر جهازك أبدًا. لا يُرسَل أي بايت إلى أي خادم في أي وقت أثناء العملية. هذا مهم للقطات التي تحتوي على محتوى شخصي أو حساس: تسجيل عائلي أو مقابلة أو لقطات خام قبل التحرير. يحمّل المتصفح الفيديو إلى نظام ملفات افتراضي في الذاكرة العشوائية، يُشغّل فك ترميز FFmpeg، ويُعيد الصور إليك. المقايضة هي أن فك الترميز يتم بالبرمجيات على معالجك بدلًا من الأجهزة المخصصة، لذا فإن فيديو طويل بدقة عالية يستغرق وقتًا أطول مما تستغرقه تطبيقات الطرف الأصلية. لاستخراج حفنة من الإطارات أو إنتاج صفحة اتصال من مقطع قصير، تكون السرعة عملية.

الأدوات المذكورة في هذا المقال

الأسئلة الشائعة

لماذا يبدو الإطار المستخرج ضبابيًا؟

السبب الأكثر شيوعًا هو الوصول إلى P-frame أو B-frame خلال لحظة حركة. هذه الإطارات تخزن الفروقات بدلًا من الصور الكاملة، وتنتقل ضبابية الحركة في اللقطات المصدر إلى فك الترميز. جرّب استخراج أقرب I-frame، الذي يقابل تغير مشهد أو إطارًا مفتاحيًا دوريًا، للحصول على نتيجة أوضح.

هل أصدّر الإطارات كـ PNG أم JPEG؟

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

كيف أصنع صفحة اتصال من فيديو؟

اختر معدل إطارات منخفضًا بما يكفي ليعطيك عددًا يسيرًا من الصور الثابتة، بدلًا من طابع زمني واحد. لمقطع مدته دقيقتان، إطار واحد في الثانية يعطيك نحو 120 إطارًا، وهو كثيف بما يكفي لاختيار شبكة جيدة منه؛ والمخرج محدود بـ 300 إطار لكل عملية على أي حال. لا يوجد معدل أخشن من 1 fps اليوم، لذا للحصول على شبكة أخف، استخرج بمعدل 1 fps واحتفظ فقط بالإطارات التي تريدها للشبكة النهائية.