Ga naar inhoud
TubePress — gratis, zelf gehost & actief onderhouden
Media & transcoderen

Opslag & medialevering

Lokale opslag, externe opslagservers (S3, FTP, WebDAV) en de beveiligde mediaproxy.

TubePress bewaart elke geüploade video, de getranscodeerde versies en de voorbeeldassets op schijf, en kan deze transparant overdragen naar een of meer externe opslagservers. Deze pagina legt uit waar bestanden zich bevinden, hoe het systeem voor media-opslag ze verdeelt over backends, en hoe media bij kijkers terechtkomt zonder uw bronbestanden bloot te stellen.

Opslag wordt geconfigureerd via /admin/settings?tab=storage. U kunt volledig op de lokale schijf draaien, of FTP-, S3-compatibele en WebDAV-backends toevoegen en TubePress ze achtereenvolgens laten vullen.

Hoe TubePress media opslaat

Uploads bevinden zich in public/uploads/. Elke video krijgt een eigen map — de video_folder van de video — die de originele bron bevat naast elke versie die de transcoder produceert en de kleine assets die de speler nodig heeft:

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

De transcoder vindt de bron door te scannen naar het hoogste video_<height>p.mp4-bestand, met als terugval een onbewerkt video.mp4-, .webm- of .ogg-bestand. Lagere versies worden in dezelfde map geschreven, zodat één map alles bevat wat een video nodig heeft. Zie Transcodering voor hoe deze versies worden gegenereerd.

Lokaal is een tijdelijk werkgebied wanneer een CDN is ingesteld. Met een externe standaardopslag wordt elke upload lokaal verwerkt en daarna van de applicatieserver verwijderd zodra het veilig op de backend staat — de lokale videos/-map bevat alleen items die nog worden geüpload of getranscodeerd.

Externe opslagservers

Het systeem voor media-opslag laat u een willekeurig aantal backends registreren. Nieuwe video's gaan altijd naar de standaardopslag; wanneer een opslagplaats zijn schijfdrempelwaarde overschrijdt, schakelt TubePress nieuwe uploads automatisch over naar de volgende beschikbare. Bestaande video's worden bediend vanaf de locatie waar ze zijn geschreven, omdat elke video zijn eigen storage_id bijhoudt.

Er worden vier backendtypen ondersteund — niets anders:

TypeGebruik het voorVerbindingsvelden
LocalEén server, of om te beginnenGeen — bediend vanuit public/uploads
FTPGoedkope opslag-VPS of seedboxHost, poort (21), gebruiker, wachtwoord, extern pad, SSL/TLS, passief
S3AWS S3, DigitalOcean Spaces, Backblaze, MinIOToegangssleutel, geheim, bucket, regio, endpoint, prefix
WebDAVNextcloud en andere WebDAV-hostsWebDAV URL, gebruiker, wachtwoord

Elke externe opslag heeft ook een aantal operationele instellingen:

Media-URL
Het openbare HTTP-adres waarvan bezoekers bestanden laden — niet het FTP/S3-besturingsadres.
Status
Actief (ontvangt nieuwe video's), Alleen-lezen (bedient alleen bestaande bestanden) of Uitgeschakeld (offline).
Maximaal schijfgebruik
50–99% (standaard 90). Wanneer bereikt, schakelen nieuwe uploads automatisch over naar de volgende opslag.
Beveiligde URL's
Ondertekent medialinks met een verlopend token — zie Beveiligde medialevering hieronder.

Een opslagbackend toevoegen

  1. Open de opslagediteur. Ga naar /admin/settings?tab=storage en klik op Opslag toevoegen.
  2. Kies een type en geef het een naam. Kies Lokaal, FTP, S3 of WebDAV. Het formulier schakelt over om alleen de velden te tonen die dat type nodig heeft.
  3. Voer de media-URL en inloggegevens in. Stel de openbare Media-URL in, vervolgens de host/sleutels/pad voor de backend. Laat een wachtwoord leeg bij het bewerken om het opgeslagen wachtwoord te behouden.
  4. Stel de operationele opties in. Kies de status, de maximale schijfgebruiksdrempelwaarde en of URL's moeten worden ondertekend.
  5. Testen en opslaan. Bij het opslaan wordt eerst een verbindingstest uitgevoerd (en een monitorscriptcontrole als u er een heeft opgegeven). Los eventuele mislukte controles op en sla vervolgens op. Markeer het optioneel als standaard zodat nieuwe uploads daar terechtkomen.
Media-URL versus besturingsadres. De Media-URL is wat browsers ophalen (bijvoorbeeld https://cdn.example.com). Het is niet het FTP/S3-endpoint — het verwisselen van de twee is de meest voorkomende oorzaak van verbroken afspelen na een overschakeling.

De opslagmonitor

Voor externe backends kan TubePress schijfruimte en gezondheid bijhouden met een klein PHP-script dat u op de opslagserver installeert. Klik in het paneel Schijfbewaking van de opslagediteur op Monitorscript downloaden (bediend vanuit /api/storage-monitor-download), upload het naar uw externe server en plak vervolgens de openbare URL ervan terug in het veld Monitorscript-URL.

Eenmaal verbonden toont de editor het live schijfgebruik en de laatste controletijd, en gebruikt de automatische overschakelingsdrempel deze waarden om te weten wanneer een backend vol is. Het script is beveiligd met een sleutel zodat alleen uw CMS het kan bevragen.

De moeite waard op elke CDN-server. Zonder de monitor kan TubePress het externe schijfgebruik niet lezen, dus de automatische overgang bij maximumgebruik kan alleen werken op opslagplaatsen die het kan meten.

Beveiligde medialevering

Wanneer Beveiligde URL's is ingeschakeld voor een opslag, geeft TubePress nooit een direct bestandspad uit. In plaats daarvan ondertekent het een korte, tijdbeperkte link die wordt doorgestuurd via /media/:

/media/{token}/{expires}/{path}
token
Een 16-teken HMAC-SHA256 van het pad en de vervaldatum, ondertekend met het privégeheim van die opslagplaats.
expires
Een Unix-tijdstempel; nadat het verloopt, geeft de link 403 terug. De standaard levensduur is zes uur.
path
Het bestand onder uploads/videos/… dat wordt aangevraagd.

Het token wordt bij elk verzoek opnieuw berekend en gecontroleerd aan de serverzijde. Voor een lokale opslag streamt TubePress het bestand zelf met HTTP range-ondersteuning (zodat zoeken werkt); voor een externe opslag verifieert het het token en stuurt vervolgens een 302-omleiding naar het bestand op uw CDN. Ruwe video is ook snelheidsbeperkt op de webserverlaag: de opslagediteur genereert een klaar-om-te-plakken Nginx-fragment dat het streamen afkapt na de eerste paar megabytes, terwijl transcodeerwerkers op volledige snelheid kunnen ophalen met een sleutel.

Tokens zijn gebonden aan het pad, de vervaldatum en het geheim. Het roteren van het geheim van een opslagplaats maakt alle uitstaande links ongeldig, en verlopen links stoppen vanzelf met werken. Combineer beveiligde URL's met het snelheidsbegrenzingsfragment voor een effectieve anti-scrapingbarrière. Zie Beveiliging.

CDN & Cloudflare

TubePress is ontworpen om comfortabel achter Cloudflare te functioneren. Twee dingen zijn belangrijk:

  • Gesplitste uploads omzeilen de limiet van 100 MB. Transcodeerresultaten worden in stukken via /api/transcode-upload-chunk teruggestreamd naar de CMS, zodat individuele verzoeken onder Cloudflare's gratis-tier cap van 100 MB blijven, ongeacht hoe groot de versie is.
  • Lang gecachede, cache-vernieuwde assets. Statische assets worden bediend met lange, onveranderlijke cache-headers en vernieuwd door een versiequery bij elke release, zodat een proxy agressief kan cachen zonder ooit een verouderd bestand te serveren.

Het per-opslag Nginx-fragment voegt verstandige expires-headers toe voor video en de optionele interne locatie /media/ die wordt gebruikt door beveiligde lokale levering, zodat u het direct in uw siteconfiguratie kunt plaatsen.

Volgende stappen

Nog vastgelopen?

Open een ticket vanuit uw dashboard en ons team helpt u verder.

Probeer de live demo → TubePress downloaden →