الجواب المختصر
- قصّ اللحظة. افتح قاطع الفيديو، وعلِّم الثانية أو الثانيتين اللتين ينبغي أن تتأرجحا، وصدِّرهما مقطعاً مستقلاً.
- اعكس نسخة. أفلِت ذلك المقطع في عاكس الفيديو، ودَع الصوت خارجاً، وصدِّر. صار عندك اللحظة نفسها مرتين، مرة في كل اتجاه.
- ضمّ الاثنتين. عد إلى قاطع الفيديو، وأفلِت الملفين، وعلِّم كلاً منهما كاملاً، وقدِّم نسخة الذهاب، وصدِّر ملفاً واحداً.
لا تحتاج أي وثبة إلى تنزيل بينها: بعد كل تصدير يعرض صفٌّ تحت زر التنزيل أن يحمل الناتج مباشرة إلى الأداة التالية — إلى العاكس بعد القصّ الأول، وإلى المشذّب من جديد بعد العكس — فيصل الملف وهو محمّل سلفًا.
ذلك الملف هو البوميرانغ. انشره كما هو حيثما يلتفّ الفيديو الصامت، أو مرِّره على محوِّل الفيديو إلى GIF إن كان المقصد لا يحرِّك إلا GIF. كل خطوة تجري في متصفحك؛ ولا شيء في هذه السلسلة يُرفع، في أي نقطة، إلى أحد.
لماذا القصّ أولاً
العكس مضطر إلى فك ترميز كل إطار يلمسه وإعادة ترميزه؛ و دليل العكس يشرح لماذا لا طريق أرخص. أما القصّ فيكاد يكون مجانياً: القاطع يمرر الإطارات كاملة دون إعادة ترميز.
فالترتيب إذن هو الحيلة كلها. اعكس مقطعاً من ثانيتين تعملِ الخطوة الغالية على ثانيتين؛ واعكس الأصل تعمل على كل شيء، وجلّه سترميه بعد قليل. وفي تسجيل هاتف مهما طال، القصُّ أولاً هو الفرق بين بوميرانغ في أقل من دقيقة وشريطِ تقدمٍ تجلس خلفه.
وقصّ بإحكام. البوميرانغ يُقرأ في أحسن حالاته حين يتأرجح على حركة واحدة — قفزة، أو رشّة ماء، أو التفاتة — وكل إطار تبقيه يُدفع ثمنه مرتين، مرة في كل اتجاه.
ماذا يُفعل بالصوت
دَعه خارجاً، وافعل ذلك عند خطوة العكس: ففي العاكس خانة لهذا بعينه. صوت البوميرانغ كان سيجري إلى الأمام ثم إلى الوراء؛ والصوت المعكوس غريب لا تخطئه أذن، وجلّ الأماكن التي ينتهي إليها البوميرانغ تشغّله صامتاً على كل حال. وبلا صوت يتم العكس أسرع ويصغر الملفان.
وإن أبقيته، فسيضم القاطع المقطعين على كل حال؛ غير أن الدرزة التي تغفرها العين لا تغفرها الأذن.
الضمّ، وما سيقوله لك القاطع
الملفان المضمومان قريبان نسباً — أحدهما صُنع من الآخر — لكنهما مرّا بمرمِّزَين مختلفين، وليسا ملزمَين بالاتفاق بايتاً بايتاً على الصيغة. والقاطع يتحقق. فحيث يتفقان ينسخ الإطارات كما هي؛ وحيث لا، يعيد الترميز مرة واحدة ويقول ذلك في لوحة التصدير بدل أن يترك لك التخمين.
رتِّب الجزأين قبل التصدير: الذهاب أولاً والإياب ثانياً. فبوميرانغ يبدأ بالرجعة يُقرأ غلطة.
ولمسة تستحق ثوانيها العشر: احذف إطاراً واحداً من أول المقطع المعكوس قبل الضمّ. فآخر إطار في الذهاب وأول إطار في الإياب هما الصورة نفسها، وعرضُها مرتين يجعل الانعطاف يتعلق لحظة.
فيديو أم GIF في الختام
احتفظ بالـ MP4 إن كان المقصد يشغّل الفيديو: فهو أصغر بكثير، وأوضح بكثير، ويلتفّ مثله تماماً. ولا تحوِّل إلى GIF إلا حيث يُطلب، وراقب عندها العداد: فالـ GIF يدفع ثمن كل إطار، والبوميرانغ مقطعه مرتين. دليل الـ GIF الجزئي يشرح ذراعَي العرض ومعدل الإطارات اللذين يبقيانه تحت حدّ الحجم.
إن كنت تفعل هذا كل أسبوع
ثلاث صفحات لأثر واحد أمرٌ مقصود: فكل أداة تؤدي عملاً واحداً، وكل صفحة تستطيع أن تثبت وحدها أن لقطاتك لا تغادر الجهاز أبداً. غير أن الثلاث مفتوحة المصدر: رخصة MIT، ومجلد لكل أداة، ووحدات ES بلا تبعيات تحت src/ مع README تشرحها.
فإن كان البوميرانغ جزءاً منتظماً من عملك، وجِّه وكيل برمجة إلى المستودع واطلب منه أن يطوي مسير الإطارات في العاكس وضمَّ القاطع في صفحة واحدة بزر واحد. الوحدات كُتبت لتُقرأ، وأخذها هو بالضبط ما وُجدت الرخصة له.