تخطّ إلى المحتوى
TubePress — مجاني، مستضاف ذاتياً & مُصان باستمرار
الوسائط والترميز

التخزين وتسليم الوسائط

التخزين المحلي، وخوادم التخزين الخارجية (S3، FTP، WebDAV)، ووكيل الوسائط الآمن.

يحتفظ TubePress بكل فيديو مرفوع، ومخرجاته المُحوَّلة، وأصول معاينته على القرص، ويمكنه نقلها بشفافية إلى خادم تخزين خارجي واحد أو أكثر. تشرح هذه الصفحة أين توجد الملفات، وكيف يوزّعها نظام تخزين الوسائط عبر الخوادم الخلفية، وكيف تصل الوسائط إلى المشاهدين دون الكشف عن ملفاتك الأصلية.

يتم تكوين التخزين من /admin/settings?tab=storage. يمكنك التشغيل كليًا من القرص المحلي، أو إضافة خوادم خلفية FTP وS3-compatible وWebDAV والسماح لـ TubePress بملئها بالتسلسل.

كيف يخزّن TubePress الوسائط

تقع الرفوعات في public/uploads/. يحصل كل فيديو على مجلده الخاص — video_folder الخاص بالفيديو — الذي يحتوي على المصدر الأصلي إلى جانب كل مخرج يُنتجه المحوّل والأصول الصغيرة التي يحتاجها المشغّل:

public/uploads/
  videos/
    a1b2c3d4.../        one folder per video (video_folder)
      video.mp4         original upload (source)
      video_1080p.mp4   processed source rendition
      video_720p.mp4    transcoded rendition
      video_480p.mp4    transcoded rendition
      timeline.vtt      scrub-preview sprite map
      preview.mp4       hover-preview clip
  thumbnails/           poster images
  watermark/            watermark PNG
  intros/               pre-roll / post-roll clips
  branding/             logo, favicon, background

يكتشف المحوّل المصدرَ بالبحث عن أعلى ملف video_<height>p.mp4، مع الرجوع إلى ملف video.mp4 الخام، أو .webm أو .ogg. تُكتَب المخرجات الأدنى في نفس المجلد، لذا فإن مجلدًا واحدًا يحتوي على كل ما يحتاجه الفيديو. راجع التحويل لمعرفة كيفية إنشاء تلك المخرجات.

المحلي منطقة عمل مؤقتة عند تعيين CDN. مع وجود مخزن افتراضي خارجي، تُعالَج كل رفعة محليًا ثم تُحذف من خادم التطبيق بمجرد أن تكون بأمان على الخادم الخلفي — لا يحتوي مجلد videos/ المحلي إلا على العناصر التي لا تزال قيد الرفع أو التحويل.

خوادم التخزين الخارجية

يتيح لك نظام تخزين الوسائط تسجيل أي عدد من الخوادم الخلفية. تذهب مقاطع الفيديو الجديدة دائمًا إلى مخزن التخزين الافتراضي؛ عندما يتجاوز مخزن ما حد القرص الخاص به، يتحوّل TubePress تلقائيًا بالرفوعات الجديدة إلى المخزن التالي المتاح. تستمر مقاطع الفيديو الموجودة في الخدمة من المكان الذي كُتبت فيه، لأن كل فيديو يسجّل storage_id الخاص به.

أربعة أنواع من الخوادم الخلفية مدعومة — لا غير:

النوعاستخدامه لـحقول الاتصال
Localخادم واحد أو للبدءلا شيء — يُخدَّم من public/uploads
FTPVPS تخزين رخيص أو صندوق بذورالمضيف، المنفذ (21)، المستخدم، كلمة المرور، المسار البعيد، SSL/TLS، وضع سلبي
S3AWS S3، DigitalOcean Spaces، Backblaze، MinIOمفتاح الوصول، السر، الحاوية، المنطقة، نقطة النهاية، البادئة
WebDAVNextcloud ومضيفو WebDAV الآخرونرابط WebDAV، المستخدم، كلمة المرور

يحمل كل مخزن بعيد أيضًا بعض الإعدادات التشغيلية:

رابط الوسائط
عنوان HTTP العام الذي يحمّل منه الزوار الملفات — وليس عنوان التحكم FTP/S3.
الحالة
نشط (يستقبل مقاطع فيديو جديدة)، للقراءة فقط (يُخدَّم الملفات الموجودة فقط) أو معطَّل (غير متصل).
الحد الأقصى لاستخدام القرص
50–99% (الافتراضي 90). عند الوصول إليه، تتحوّل الرفوعات الجديدة تلقائيًا إلى المخزن التالي.
روابط آمنة
تُوقِّع روابط الوسائط برمز انتهاء صلاحية — راجع تسليم الوسائط الآمن أدناه.

إضافة خادم تخزين خلفي

  1. افتح محرر التخزين. انتقل إلى /admin/settings?tab=storage وانقر على إضافة تخزين.
  2. اختر نوعًا وسمِّه. اختر Local أو FTP أو S3 أو WebDAV. يتبدّل النموذج لعرض الحقول التي يحتاجها هذا النوع فقط.
  3. أدخل رابط الوسائط والبيانات الاعتمادية. عيّن رابط الوسائط العام، ثم المضيف/المفاتيح/المسار للخادم الخلفي. اترك كلمة المرور فارغة عند التعديل للاحتفاظ بالمخزّنة.
  4. عيّن الخيارات التشغيلية. اختر الحالة، وحد الاستخدام الأقصى للقرص، وما إذا كنت تريد توقيع الروابط.
  5. اختبر واحفظ. يُجري الحفظ أولًا اختبار اتصال (واختبار البرنامج النصي للمراقبة إن زوّدت أحدها). أصلح أي فحص فاشل، ثم احفظ. يمكنك اختياريًا تعيينه افتراضيًا حتى تصل إليه الرفوعات الجديدة.
رابط الوسائط مقابل عنوان التحكم. رابط الوسائط هو ما تجلبه المتصفحات (على سبيل المثال https://cdn.example.com). وليس نقطة النهاية FTP/S3 — الخلط بينهما هو أكثر الأسباب شيوعًا لتعطل التشغيل بعد التبديل.

مراقب التخزين

بالنسبة للخوادم الخلفية البعيدة، يمكن لـ TubePress تتبع مساحة القرص والصحة باستخدام برنامج PHP نصي صغير تنصّبه على صندوق التخزين. في لوحة مراقبة القرص بمحرر التخزين، انقر على تنزيل برنامج المراقبة النصي (يُخدَّم من /api/storage-monitor-download)، ارفعه إلى خادمك البعيد، ثم الصق رابطه العام في حقل رابط برنامج المراقبة النصي.

بمجرد الاتصال، يعرض المحرر استخدام القرص الحي وآخر وقت فحص، ويستخدم حد التبديل التلقائي تلك القراءات لمعرفة متى يكون الخادم الخلفي ممتلئًا. البرنامج النصي مقفّل بمفتاح حتى لا يتمكن من الاستعلام عنه إلا CMS الخاص بك.

يستحق التطبيق على كل صندوق CDN. بدون المراقب، لا يستطيع TubePress قراءة استخدام القرص البعيد، لذا لا يمكن للتبديل التلقائي عند الحد الأقصى أن يعمل إلا على مخازن يمكنه قياسها.

تسليم الوسائط الآمن

عندما تكون الروابط الآمنة مفعّلة لمخزن ما، لا يُصدر TubePress مسار ملف مباشر. بدلًا من ذلك، يُوقِّع رابطًا قصيرًا محدود الوقت يُمرَّر عبر /media/:

/media/{token}/{expires}/{path}
token
HMAC-SHA256 مؤلف من 16 حرفًا للمسار وانتهاء الصلاحية، موقَّع بالسر الخاص بذلك المخزن.
expires
طابع زمني Unix؛ بعد مروره يُعيد الرابط 403. المدة الافتراضية ست ساعات.
path
الملف المطلوب ضمن uploads/videos/….

يُعاد حساب الرمز ويُتحقق منه على جانب الخادم في كل طلب. بالنسبة لمخزن محلي، يُبثّ TubePress الملف بنفسه مع دعم نطاق HTTP (حتى يعمل التنقل)؛ بالنسبة لمخزن بعيد، يتحقق من الرمز ثم يُصدر توجيه 302 إلى الملف على CDN الخاص بك. يخضع الفيديو الخام أيضًا لحد معدل على طبقة خادم الويب: يُنشئ محرر التخزين مقتطف Nginx جاهز للصق يحدّ البث بعد أول ميغابايتين، مع السماح لعمّال التحويل بالسحب بسرعة كاملة باستخدام مفتاح.

الرموز مرتبطة بالمسار وانتهاء الصلاحية والسر. يؤدي تدوير سر المخزن إلى إبطال كل الروابط القائمة، وتتوقف الروابط منتهية الصلاحية من تلقاء نفسها. اقرن الروابط الآمنة بمقتطف حد المعدل لحاجز ذي معنى ضد الاستخراج. راجع الأمان.

CDN وCloudflare

تم بناء TubePress ليعمل بشكل مريح خلف Cloudflare. يهم شيئان:

  • تتجاوز الرفوعات المقسّمة حد 100 MB. تُبثّ نتائج التحويل إلى CMS على شكل أجزاء عبر /api/transcode-upload-chunk، لذا تبقى الطلبات الفردية تحت سقف الفئة المجانية البالغ 100 MB لدى Cloudflare بغض النظر عن حجم المخرج.
  • أصول ذات تخزين مؤقت طويل وإلغاء تخزين مؤقت. تُخدَّم الأصول الثابتة مع رؤوس تخزين مؤقت طويل وثابتة ويُلغى تخزينها بواسطة استعلام إصدار في كل إصدار، حتى يتمكن الوكيل من التخزين المؤقت بقوة دون خدمة ملف قديم.

يضيف مقتطف Nginx لكل مخزن رؤوس expires معقولة للفيديو وموقع /media/ الداخلي الاختياري المستخدم في التسليم المحلي الآمن، لذا يمكنك إضافته مباشرة إلى تكوين موقعك.

الخطوات التالية

لا تزال عالقاً؟

افتح تذكرة من لوحة التحكم وسيساعدك فريقنا.

جرّب العرض التجريبي المباشر → تحميل TubePress →