Penyimpanan & pengiriman media
Penyimpanan lokal, server penyimpanan eksternal (S3, FTP, WebDAV) dan proksi media yang aman.
TubePress menyimpan setiap video yang diunggah, rendisi yang telah ditranskode, dan aset pratinjaunya di disk, serta dapat secara transparan memindahkannya ke satu atau lebih server penyimpanan eksternal. Halaman ini menjelaskan di mana file-file tersebut berada, bagaimana sistem media storages menyebarkannya ke berbagai backend, dan bagaimana media sampai ke penonton tanpa mengekspos file mentah Anda.
Storage dikonfigurasi di /admin/settings?tab=storage. Anda dapat menjalankan sepenuhnya dari disk lokal, atau menambahkan backend FTP, S3-compatible, dan WebDAV dan membiarkan TubePress mengisinya secara bergantian.
Cara TubePress Menyimpan Media
Unggahan berada di public/uploads/. Setiap video mendapat folder-nya sendiri — video_folder video — yang menyimpan sumber asli bersama setiap rendisi yang dihasilkan transcoder dan aset kecil yang dibutuhkan player:
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, backgroundTranscoder menemukan sumber dengan memindai file video_<height>p.mp4 tertinggi, dengan fallback ke video.mp4, .webm, atau .ogg mentah. Rendisi yang lebih rendah ditulis ke folder yang sama, sehingga satu direktori berisi semua yang dibutuhkan sebuah video. Lihat Transcoding untuk cara rendisi tersebut dihasilkan.
videos/ hanya pernah menyimpan item yang masih dalam proses unggah atau transcode.Server Penyimpanan Eksternal
Sistem media storages memungkinkan Anda mendaftarkan sejumlah backend. Video baru selalu dikirim ke penyimpanan default; ketika sebuah penyimpanan melampaui ambang batas disknya, TubePress secara otomatis mengalihkan unggahan baru ke penyimpanan berikutnya yang tersedia. Video yang sudah ada terus dilayani dari tempat asalnya, karena setiap video mencatat storage_id-nya sendiri.
Empat jenis backend yang didukung — tidak ada yang lain:
| Jenis | Gunakan untuk | Bidang koneksi |
|---|---|---|
| Local | Satu server, atau untuk memulai | Tidak ada — dilayani dari public/uploads |
| FTP | VPS penyimpanan murah atau seedbox | Host, port (21), user, password, remote path, SSL/TLS, passive |
| S3 | AWS S3, DigitalOcean Spaces, Backblaze, MinIO | Access key, secret, bucket, region, endpoint, prefix |
| WebDAV | Nextcloud dan host WebDAV lainnya | WebDAV URL, user, password |
Setiap penyimpanan remote juga memiliki beberapa pengaturan operasional:
Menambahkan Backend Penyimpanan
- Buka editor penyimpanan. Pergi ke
/admin/settings?tab=storagedan klik Add Storage. - Pilih jenis dan beri nama. Pilih Local, FTP, S3, atau WebDAV. Formulir akan berubah menampilkan hanya bidang yang diperlukan oleh jenis tersebut.
- Masukkan URL media dan kredensial. Atur Media URL publik, lalu host/kunci/path untuk backend. Biarkan password kosong saat mengedit untuk mempertahankan yang tersimpan.
- Atur opsi operasional. Pilih status, ambang batas penggunaan disk maksimal, dan apakah akan menandatangani URL.
- Uji dan simpan. Menyimpan terlebih dahulu menjalankan uji koneksi (dan pemeriksaan monitor-script jika Anda menyediakannya). Perbaiki pemeriksaan yang gagal, lalu simpan. Secara opsional tandai sebagai default agar unggahan baru masuk ke sana.
https://cdn.example.com). Ini bukan endpoint FTP/S3 — mencampurkan keduanya adalah penyebab paling umum dari pemutaran yang rusak setelah pergantian.Monitor Penyimpanan
Untuk backend remote, TubePress dapat melacak ruang disk dan kesehatan menggunakan skrip PHP kecil yang Anda instal di kotak penyimpanan. Di panel Disk Monitoring editor penyimpanan, klik Download monitor script (dilayani dari /api/storage-monitor-download), unggah ke server remote Anda, lalu tempel URL publiknya kembali ke bidang Monitor script URL.
Setelah terhubung, editor menampilkan penggunaan disk secara langsung dan waktu pemeriksaan terakhir, dan ambang batas auto-switch menggunakan pembacaan tersebut untuk mengetahui kapan backend penuh. Skrip tersebut dikunci sehingga hanya CMS Anda yang dapat mengkuerinya.
Pengiriman Media Aman
Ketika Secure URLs aktif untuk sebuah penyimpanan, TubePress tidak pernah memberikan path file langsung. Sebaliknya, ia menandatangani tautan singkat yang dibatasi waktu yang dirutekan melalui /media/:
/media/{token}/{expires}/{path}403. Masa berlaku default adalah enam jam.uploads/videos/… yang diminta.Token dihitung ulang dan diperiksa di sisi server pada setiap permintaan. Untuk penyimpanan lokal, TubePress mengalirkan file itu sendiri dengan dukungan HTTP range (sehingga pencarian berfungsi); untuk penyimpanan remote, ia memverifikasi token kemudian mengeluarkan redirect 302 ke file di CDN Anda. Video mentah juga dibatasi laju di lapisan server web: editor penyimpanan menghasilkan cuplikan Nginx siap-tempel yang membatasi streaming setelah beberapa megabyte pertama, sambil membiarkan pekerja transcode menarik dengan kecepatan penuh menggunakan kunci.
CDN & Cloudflare
TubePress dirancang untuk berjalan nyaman di belakang Cloudflare. Dua hal penting:
- Unggahan chunked melewati batas 100 MB. Hasil transcode dialirkan kembali ke CMS dalam potongan melalui
/api/transcode-upload-chunk, sehingga permintaan individual tetap di bawah batas 100 MB tier gratis Cloudflare, tidak peduli seberapa besar rendisinya. - Aset cache-lama, cache-busted. Aset statis dilayani dengan header cache panjang dan tidak berubah, dan di-bust oleh kueri versi pada setiap rilis, sehingga proxy dapat melakukan cache secara agresif tanpa pernah menyajikan file yang usang.
Cuplikan Nginx per-penyimpanan menambahkan header expires yang wajar untuk video dan lokasi internal /media/ opsional yang digunakan oleh pengiriman lokal yang aman, sehingga Anda dapat langsung memasukkannya ke dalam konfigurasi situs Anda.
Langkah Berikutnya
Masih kesulitan?
Buka tiket dari dasbor Anda dan tim kami akan membantu Anda.