Storage e distribuzione dei media
Storage locale, server di storage esterni (S3, FTP, WebDAV) e il proxy sicuro dei media.
TubePress conserva su disco ogni video caricato, le sue versioni transcodificate e le anteprime associate, e può trasferirle in modo trasparente su uno o più server di archiviazione esterni. Questa pagina spiega dove risiedono i file, come il sistema media storages li distribuisce tra i backend e come i contenuti raggiungono i visitatori senza esporre i file originali.
L'archiviazione si configura in /admin/settings?tab=storage. È possibile operare interamente dal disco locale, oppure aggiungere backend FTP, compatibili con S3 e WebDAV e lasciare che TubePress li riempia a turno.
Come TubePress archivia i media
I caricamenti risiedono in public/uploads/. Ogni video ha la propria cartella — il video_folder del video — che contiene il sorgente originale insieme a ogni versione prodotta dal transcodificatore e alle risorse di cui il player ha bisogno:
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, backgroundIl transcodificatore individua il sorgente cercando il file video_<height>p.mp4 di risoluzione più alta, con fallback su video.mp4, .webm o .ogg non elaborati. Le versioni a risoluzione inferiore vengono scritte nella stessa cartella, quindi una singola directory contiene tutto ciò che un video necessita. Consulta Transcoding per sapere come vengono generate tali versioni.
videos/ contiene solo elementi ancora in fase di caricamento o transcodifica.Server di archiviazione esterni
Il sistema media storages consente di registrare un numero qualsiasi di backend. I nuovi video vengono sempre indirizzati all'archiviazione predefinita; quando un'archiviazione supera la soglia di utilizzo del disco, TubePress reindirizza automaticamente i nuovi caricamenti a quella successiva disponibile. I video esistenti continuano a essere serviti dal backend in cui sono stati scritti, poiché ogni video registra il proprio storage_id.
Sono supportati quattro tipi di backend — nessun altro:
| Tipo | Uso | Campi di connessione |
|---|---|---|
| Local | Un singolo server, o per iniziare | Nessuno — servito da public/uploads |
| FTP | VPS di archiviazione economico o seedbox | Host, porta (21), utente, password, percorso remoto, SSL/TLS, passivo |
| S3 | AWS S3, DigitalOcean Spaces, Backblaze, MinIO | Chiave di accesso, secret, bucket, regione, endpoint, prefisso |
| WebDAV | Nextcloud e altri host WebDAV | URL WebDAV, utente, password |
Ogni archiviazione remota dispone anche di alcune impostazioni operative:
Aggiungere un backend di archiviazione
- Apri l'editor di archiviazione. Vai a
/admin/settings?tab=storagee clicca su Add Storage. - Scegli un tipo e assegna un nome. Scegli tra Local, FTP, S3 o WebDAV. Il modulo si aggiorna mostrando solo i campi necessari per quel tipo.
- Inserisci l'URL media e le credenziali. Imposta il Media URL pubblico, quindi host/chiavi/percorso per il backend. Lascia la password vuota durante la modifica per mantenere quella memorizzata.
- Imposta le opzioni operative. Scegli lo stato, la soglia di utilizzo massimo del disco e se firmare gli URL.
- Verifica e salva. Il salvataggio esegue prima un test di connessione (e un controllo dello script monitor se ne hai fornito uno). Correggi eventuali errori, poi salva. Facoltativamente, impostalo come predefinito affinché i nuovi caricamenti vengano indirizzati lì.
https://cdn.example.com). Non è l'endpoint FTP/S3 — confonderli è la causa più comune di problemi di riproduzione dopo un cambio di backend.Il monitor di archiviazione
Per i backend remoti, TubePress può monitorare lo spazio su disco e lo stato di salute tramite un piccolo script PHP da installare sul server di archiviazione. Nel pannello Disk Monitoring dell'editor di archiviazione, clicca su Download monitor script (servito da /api/storage-monitor-download), caricalo sul tuo server remoto, poi incolla il suo URL pubblico nel campo Monitor script URL.
Una volta connesso, l'editor mostra l'utilizzo del disco in tempo reale e l'ora dell'ultimo controllo, e la soglia di cambio automatico utilizza questi dati per sapere quando un backend è pieno. Lo script è protetto da chiave in modo che solo il tuo CMS possa interrogarlo.
Distribuzione sicura dei media
Quando Secure URLs è attivo per un'archiviazione, TubePress non fornisce mai un percorso file diretto. Invece firma un link breve e a tempo limitato instradato attraverso /media/:
/media/{token}/{expires}/{path}403. La durata predefinita è sei ore.uploads/videos/… che viene richiesto.Il token viene ricalcolato e verificato lato server a ogni richiesta. Per un'archiviazione locale, TubePress trasmette il file in streaming con supporto HTTP range (così la ricerca funziona); per un'archiviazione remota verifica il token e poi emette un redirect 302 verso il file sul tuo CDN. Il video grezzo è anche soggetto a rate limiting a livello di web server: l'editor di archiviazione genera uno snippet Nginx pronto all'uso che limita lo streaming dopo i primi megabyte, consentendo ai worker di transcodifica di operare a piena velocità con una chiave.
CDN & Cloudflare
TubePress è progettato per operare senza problemi dietro Cloudflare. Due aspetti sono fondamentali:
- I caricamenti a blocchi aggirano il limite di 100 MB. I risultati della transcodifica vengono inviati al CMS a pezzi tramite
/api/transcode-upload-chunk, quindi le singole richieste rimangono al di sotto del limite di 100 MB del piano gratuito di Cloudflare, indipendentemente dalla dimensione della versione. - Asset con cache lunga e cache-busting. Le risorse statiche vengono servite con intestazioni di cache lunghe e immutabili, aggiornate da una query di versione a ogni rilascio, così un proxy può memorizzare nella cache in modo aggressivo senza mai servire un file obsoleto.
Lo snippet Nginx per singola archiviazione aggiunge intestazioni expires appropriate per il video e la posizione interna opzionale /media/ usata dalla distribuzione locale sicura, così puoi inserirlo direttamente nella configurazione del tuo sito.
Prossimi passi
Ancora bloccato?
Apri un ticket dalla tua dashboard e il nostro team ti aiuterà.