فيديو إلى GIF محليًا — قصّ مقطع وضبط الإطارات دون رفع
حوّل الفيديو إلى GIF داخل المتصفح: اختر البداية والنهاية، واضبط 1–60 إطارًا في الثانية، وغيّر الحجم، واضبط لوحة الألوان والتنقيط. لا تُرفع الملفات إلى أي خادم. بصيغة GIF فقط، ملف واحد في كل مرة.
ما يفعله هذا المحوّل المحلي للفيديو إلى GIF فعليًا
ملفك لا يخرج من المتصفح
يُفكّ ترميز الفيديو الذي تختاره أو تسحبه أو تلصقه ويُعاد ترميزه على جهازك. لا رفع ولا حساب. لكن عند أول استخدام تنزّل الأداة نواة FFmpeg.wasm (نحو 30.6 MB) أو عامل مُرمِّز JavaScript من CDN، لذا لا تعمل بلا اتصال بالكامل.
قصّ الثواني التي تحتاجها بالضبط
حدّد البداية والنهاية بدقة 0.01 ثانية على الخط الزمني، أو اجعل موضع التشغيل الحالي بداية/نهاية. السرعة من 0 إلى 10× بخطوات 0.25، فيمكن تحويل لقطة طويلة إلى حلقة قصيرة.
التحكم في معدل الإطارات والحجم
معدل الإطارات من 1 إلى 60 إطارًا/ث (12 افتراضيًا). العرض والارتفاع يقبلان -1 للحفاظ على النسبة الأصلية؛ وعند تحديد جهة واحدة تُحسب الأخرى تلقائيًا. يُعرض الحجم النهائي قبل التحويل.
لوحة ألوان وتنقيط بدل شريط جودة
يمكن تحديد الألوان إلى 255 أو 128 أو 64 أو 32 أو 24 أو 16 أو 8 أو 4؛ والتنقيط إلى none أو sierra2_4a أو bayer أو floyd_steinberg. لا يوجد شريط بت ريت أو ضغط، ولا تقدير للحجم المستهدف.
مُرمِّزان، مع تقدّم وإمكانية الإيقاف
يستخدم الترميز افتراضيًا FFmpeg.wasm (palettegen + paletteuse)، ويمكن التبديل إلى مُرمِّز JavaScript خالص. يظهر شريط تقدّم وزر إيقاف أثناء التحويل، ثم الحجم الفعلي للـ GIF مع رابط تنزيل مباشر.
فيديو إلى GIF: أسئلة شائعة
ما الصيغ والمتصفحات المدعومة؟
منتقي الملفات يقبل كل ما يصنّفه المتصفح video/*، والسحب والإفلات يقبل أيضًا .mp4 و.mov. المسار الأسرع هو MP4/MOV عبر MP4Box وWebCodecs (متصفحات من فئة Chrome/Edge). عند الفشل ينتقل تلقائيًا إلى التنقل إطارًا بإطار في عنصر video ثم إلى فك الترميز بـ FFmpeg.wasm. تعتمد الحاويات الأخرى على هذه المسارات البديلة، لذا تختلف النتيجة حسب المتصفح والترميز.
هل يُرفع الفيديو إلى خادم؟
لا. تبقى بيانات الفيديو في التبويب. لكن عند أول استخدام تنزّل الأداة نواة FFmpeg.wasm (نحو 30.6 MB) أو عامل modern-gif من unpkg، لذا تحتاج اتصالًا للبدء، ولا يعمل التحويل دون اتصال بالكامل.
هل هناك حد للحجم أو المدة؟
لا يوجد حد صارم في الشيفرة. الحد الحقيقي هو الذاكرة: تُحفظ الإطارات بصيغة RGBA خام، أي نحو العرض × الارتفاع × 4 بايت × عدد الإطارات. مقطع 600×600 بـ 250 إطارًا يشغل نحو 343 MB. تحذّر الواجهة عند تجاوز 600 بكسل أو 250 إطارًا؛ وظهور allocation failed يعني تقليل الحجم أو معدل الإطارات أو المدة.
لماذا التحويل بطيء أو تتجمّد الصفحة؟
التقاط الإطارات وتغيير الحجم وتجميع RGBA تجري في الخيط الرئيسي، ونواة FFmpeg الافتراضية أحادية الخيط (دون SharedArrayBuffer). الدقة العالية ومعدل الإطارات الكبير يزيدان الأمر سوءًا. يجري الترميز في عامل، لكن الواجهة قد تظل ثقيلة؛ وقد يكون مُرمِّز JavaScript أسرع على بعض الأجهزة.
هل يمكن تقدير حجم GIF أو تحديده؟
لا. يُعرض الحجم الفعلي بعد التحويل فقط، دون تقدير مسبق. لتقليله: قصّر المقطع، وأخفض معدل الإطارات، وصغّر العرض/الارتفاع، وقلّل عدد الألوان، أو غيّر التنقيط.
ما صيغ الإخراج؟ وهل يدعم التحويل المتعدد؟
GIF متحرك فقط، وملف واحد في كل مرة. لا MP4 ولا WebP ولا APNG، ولا حفظ للصوت، ولا صفّ معالجة أو عدة ملفات في تشغيل واحد. النتيجة رابط تنزيل واحد ومعاينة.
هل يعمل على الهواتف والأجهزة اللوحية؟
قد يعمل لكنه غير موثوق: متصفحات الهاتف ذاكرة أضيق ودعم WebCodecs متفاوت، لذا كثيرًا ما تفشل المقاطع الطويلة أو عالية الدقة. إن اضطررت، اجعل المقاطع قصيرة والإخراج صغيرًا ومعدل الإطارات منخفضًا؛ Chrome أو Edge على الحاسوب هو الأكثر استقرارًا.

