SaaS · APIs · Cybersecurity
واجهة API لضم الفيديوهات للمطورين: دمج MP4 وMOV وAVI عبر REST
واجهة API لضم الفيديوهات للمطورين: دمج MP4 وMOV وAVI عبر REST
تستقبل خطوط معالجة الفيديو ملفات من أكثر من مصدر. فقد ترسل تطبيقات الهاتف MP4، وتقدم تكاملات الكاميرات MOV، بينما يحتفظ أرشيف قديم بملفات AVI أو MPEG. وإذا كان النظام التالي يحتاج ملفاً موحداً، تضطر كل فرق التكامل إلى فحص المدخلات وتوحيدها وضمها ثم إتاحة النتيجة للتنزيل. يوفر VideoConcat هذه القدرة بوصفها واجهة REST غير متزامنة لضم الفيديوهات.
نقطة النهاية ونموذج الطلب
يرسل العميل المصادق عليه طلب multipart إلى POST /api/files/start-process. عيّن actionName=VideoConcat، وأرسل من 2 إلى 15 ملف فيديو في الحقول file0 حتى file14، ثم أرسل parameters=[] وasync=true كما في الأمثلة العامة. وتقبل الواجهة عناوين URL عامة في fileUrl مفصولة بالرمز |، ويمكن الجمع بين الرفع والعناوين. تجد الأمثلة والعقد الكامل في توثيق VideoConcat API.
الاستجابة الأولى سجل للعملية وليست الملف النهائي. احفظ id وtrackingUrl، ثم استعلم عن /api/actions/get-action-infos/{id} باستخدام JWT Bearer نفسه حتى تكتمل العملية. وبذلك لا تظل وصلة HTTP مفتوحة أثناء التوحيد والترميز.
أهمية المعالجة غير المتزامنة
قد تنتهي مجموعة صغيرة من المقاطع المتوافقة بسرعة، بينما تحتاج المصادر الكبيرة أو الطويلة أو عالية الدقة إلى وقت حسابي أكبر. تسمح واجهة دمج الفيديو غير المتزامنة لتطبيقك بتأكيد الطلب وتخزين معرّف العملية وتحديث حالته من نقطة المتابعة. ويمكن لعامل في الطابور إتمام العمل بعيداً عن طلب الويب الذي بدأه.
تعامل مع معرّف العملية باعتباره مرجع حالة لا دليلاً على التفويض. حافظ على سياق المستخدم المصادق عليه في طلبات الحالة والتنزيل، واستخدم روابط النتائج التي يرسلها الخادم. معرفة رقم صحيح لا تمنح حق الوصول إلى النتيجة.
نتيجة يمكن التنبؤ بها
يوحّد VideoConcat كل مصدر قبل التجميع. الصيغ المدعومة هي 3GP وAVI وFLV وM4V وMKV وMOV وMP4 وMPEG وMPG وOGV وTS وWebM وWMV، ويمكن خلطها في الطلب الواحد. تستهدف النتيجة دقة مشتركة تصل إلى 1920×1080 و30 إطاراً في الثانية وفيديو H.264 وصوت AAC. ويحافظ letterboxing على الإطار عند اختلاف النسب، بينما يضاف مسار صوت صامت عند غياب الصوت.
وعند النجاح تظهر MP4 واحدة قابلة للتنزيل، ما يسهل تسليمها إلى طابور تحويل أو مدير ملفات أو سير عمل نشر أو بوابة عميل. لكن على تطبيقك الاستمرار في التحقق من معنى المقاطع واتخاذ قرار التحرير؛ فالواجهة تحل مشكلة الدمج والتوحيد ولا تحل محل الموافقة على النشر.
التحقق وحدود الملكية
يتحقق الخادم من عدد المدخلات ومحتواها الحقيقي ومعلومات MIME والملكية والحدود. الحد لكل فيديو 100 MB و10 دقائق، وحد الطلب الكامل 1 GB و30 دقيقة، ويجب أن يتضمن من 2 إلى 15 فيديو. ولا تعتمد هذه القواعد على امتداد الملف أو JavaScript أو النوع الذي يعلنه المتصفح.
اسم مثل clip.mp4 لا يثبت أن البيانات MP4 صالحة، كما أن منتقي الملفات ليس حداً للتفويض. أرسل الملفات التابعة للحساب المصادق عليه، واحفظ JWT بأمان، وتعامل مع أخطاء التحقق المستقرة كأخطاء إدخال بدلاً من إعادة المحاولة بلا نهاية. ويجب أن تكون عناوين URL العامة مصادر يسمح تطبيقك بمعالجتها.
التسعير وإعادة المحاولة
تكلف المعالجة الناجحة 15 token، ولا تتم محاسبة التحقق المرفوض. ميّز في نظام الوظائف بين الطلب المرفوض والعملية الجارية والفشل والنجاح. لا تبدأ عملية ثانية لمجرد أن طلب المتابعة انتهت مهلته؛ استرجع حالة العملية الموجودة أولاً.
خزّن المعرّف واستخدم متابعة محدودة مع تراجع مناسب. وبعد النجاح خزّن مرجع النتيجة ونزّله من خلال المسار المصادق عليه. وإذا تلقى webhook أو طابورك إشعاراً مكرراً، فليكن المستهلك لديك متوافقاً مع عدم التكرار أيضاً.
متى تستخدم الواجهة؟
تشمل الاستخدامات جمع مقاطع رفعها عميل، وإعداد نسخة مراجعة من عدة كاميرات، وتجهيز ملف واحد لنظام إدارة محتوى، أو ضم أجزاء تدريب عامة قبل أرشفتها. يستطيع التطبيق قبول MP4 وMOV من مسارات رفع مختلفة من دون مطالبة المستخدم بفهم FFmpeg أو برنامج مونتاج.
لأمثلة multipart واستجابات الحالة وتفاصيل التنزيل، راجع توثيق REST الخاص بـ VideoConcat. عندما تحتاج إلى تحويل MP4 أو MOV أو AVI وغيرها من الصيغ المدعومة إلى MP4 موحد، تحصل على عقد صغير قابل للتتبع ومناسب للمعالجة غير المتزامنة.