تحديث 2020/6/9: بنية معيارية كنظام وحدات وإصلاح BUG وبدء fluentAPI لسير المعالجة
مع انتشار SAAS وserverless خلال العامين بدأت أعيد التفكير في مستقبل الوسائط. سيكون معيارياً وبأسلوب SAAS وserverless، دون صيانة، والخادم مجرد نظام معالجة لا يخزن محتوى ويقدم التحويل فقط. لذلك ينبغي تقسيم وظائف النظام إلى وحدات ليبني المستخدم سير التحويل كالمكعبات: API للتحويل وAPI للتقطيع وAPI للصور وAPI للصور المتحركة وAPI للمصغرات وAPI لقص البداية وAPI لدمج الفيديو. يركّب المستخدم منطقه بحرية، وغياب التخزين يتيح بنية خوادم سحابية موزعة بتحكم واحد لمئات الخوادم وخدمة SAAS للمستخدمين. مثلاً يسجل المستخدم A في التحكم، ويُولد apikey وapisecret خاصان بـ A، ويضبط: رفع المصدر إلى Qiniu —> استدعاء API الصور لأخذ 6 لقطات قبل التحويل —> API التحويل إلى 360P/480P/720P —> API التقطيع —> API الصور بعد التقطيع —> API المعاينة —> API الصورة المتحركة —> API Qiniu لرفع المقاطع والصور —> API الحذف لإزالة مصدر Qiniu ومحتوى خادم التحويل —> إشعار نطاق الاستدعاء الراجع. يمكن دمج السير في API خاصة واستدعاء API واحدة من نظام خارجي باستخدام apikey وapisecret لتنفيذ كل المهام. أما إزالة العلامات والنصوص المتحركة وغيرها من العمليات المعقدة فيُضبط قالبها في التحكم وتضاف معلمات إلى API. ثم يوزع التحكم المهام تلقائياً باستعلام دوري عن الخوادم الخاملة.
تُركب البنية كلها بأسلوب fluentAPI.
سجل التحديثات
إصلاح أخطاء أسماء ترجمة srt أو ass المحتوية على [] أو رموز خاصة.
فصل مجلد الإدراج عن مجلد الرفع لتجنب التعارض.
إعادة كتابة API الوسائط للمعاينة قبل التحويل وأثناء المراجعة وإعداد إزالة العلامات والنصوص المتحركة. تحريك الخط الزمني يعيد الصورة فورياً دون انتظار.
إضافة fluentapi يقبل id الفيديو ومدة المعاينة والدقة ويرجع نص تدفق m3u8 للمدة المحددة كوحدة معيارية.
استخدام fluentapi للمعاينة
GET: /apifluent/try
headers:{apikey, apisecret}
query:{id:视频ID,duration:试看时长,hd:指定分辨率}
duration和hd为可选项,不传递则直接返回视频支持的最大分辨率的60秒的试看m3u8文本。
return: 试看m3u8文本
تدعم الواجهة إعداد التوزيع؛ إذا كان مفعلاً تُخصص نطاقاته تلقائياً مع موازنة الحمل بين عدة خوادم.
لا تستخدمها مباشرة في الأمام. استدعها خلفياً وابنِ مسار m3u8 الخاص بك من النص الناتج.
صورة



