عن المشروع

Null Motion هو تطبيق ويب مستضاف ذاتياً لتحرير الفيديوهات الطويلة إلى مقاطع عمودية. يقطع فترات التوقف، ويضيف ترجمات للكلمات، ويتيح لك مراجعة التعديلات على خط زمني. الميزة الأساسية هي صفحة معاينة تشغّل إعلان موشن جرافيك مكتملاً في الأعلى بينما تعرض تحته مسودات HyperFrames البسيطة بالأبيض والأسود التي نشأ منها—مسودة واحدة لكل قسم (Hook، Reveal، App، End card)، جميعها متزامنة إطاراً بإطار مع الفيلم. يمر مؤشر تشغيل عبر المسودات؛ يحصل القسم النشط على إطار برتقالي، بينما تتكرر الأقسام الأخرى. تصدير بنقرة واحدة يُنتج الفيلم والمسودات في ملف MP4 بمعدل بت عالٍ مع صوت الفيلم، باستخدام WebCodecs وmp4-muxer، ويلتقط كل إطار مفكوك الترميز دون تسجيل في الزمن الحقيقي بحيث لا تُفقد أي إطارات. يتضمن المستودع ثلاثة مراجع عرض (Infinite Global payments 0:30، SaaS Launch sequence 1:02، Motion study 08 0:03) مع مسوداتها الجاهزة للتشغيل. يتطلب البدء السريع Node.js 22+ فقط؛ لا توجد تبعيات للتثبيت، ولا مفاتيح. يحتاج التصدير إلى Chrome أو Edge. سير العمل: يقسّم scripts/plan-sections.mjs المراجع إلى 3–8 أقسام عند تغييرات المشهد الحقيقية باستخدام كشف المشهد في FFmpeg؛ وpublic/drafts.mjs هو محرك HyperFrames صغير حيث تكون كل مسودة مشهد HTML بمقاس 640×360 على خط زمني GSAP متوقف، موصوف بإيقاعات (text، logo، phone، window، input، chat، cards، list، chart، cloud). يقود التشغيل الخط الزمني لكل مسودة من ساعة الفيلم. يمكنك إحضار مراجعك الخاصة باستخدام Python وFFmpeg وffprobe: استورد عبر scripts/import-motionclone.py، ثم خطط الأقسام. تبقى الوسائط المستوردة محلية في .local-media/ وpublic/references/ (متجاهلة في Git) ولها الأولوية على العرض. المستورد غير مُدمِّر، ويستخرج الصور المصغرة، ويربط الفيديوهات المصدرية، ويبث الخادم نطاقات البايت بحيث لا يؤدي التنقل إلى تحميل فيديو كامل في الذاكرة. متغيرا البيئة الاختياريان PORT وHOST يغيّران عنوان الربط. تخطيط المشروع: public/demo.html وdemo.mjs وdemo.css (صفحة المعاينة والمصدّر)، وpublic/drafts.mjs (محرك المسودات)، وpublic/scraps.mjs (مسودات مبنية يدوياً لمرجع Interface)، وpublic/editor.* (محرر الإطلاق الأقدم على /editor)، وshowcase/ (ثلاثة مراجع منشورة)، وscripts/ (الاستيراد، الأقسام، العرض، الموجات الصوتية، الفحوصات)، وserver.js وmedia.js (خادم ثابت، بث الوسائط، استخراج الصوت)، وtest/ (اختبارات الخادم والوسائط والمحرر). أوامر التطوير: npm run dev (إعادة التشغيل عند التغيير)، npm run check (فحوصات ملفات الواجهة)، npm test (node --test). ملاحظات: المتصفح يستدعي أصل هذا المشروع فقط؛ خدمات التوليد والعرض وPremiere غير متصلة. المسودات مؤلَّفة، وليست مولَّدة بالذكاء الاصطناعي. محرر الإطلاق الأقدم (الخط الزمني المرجعي، القص، تراكب العلامة التجارية) موجود على /editor، ومعرض قوالب Null Motion الأصلي على /index.html. تحتفظ GSAP وmp4-muxer المضمّنان بتراخيصهما (انظر THIRD_PARTY_NOTICES.md). أعمال العلامة التجارية ولقطات المرجع تخص أصحابها. لم يتم اختيار ترخيص مفتوح المصدر على مستوى المشروع.