Zum Inhalt springen
TubePress — kostenlos, selbst gehostet & aktiv gepflegt
Medien & Transcodierung

Speicher & Medienauslieferung

Lokaler Speicher, externe Speicherserver (S3, FTP, WebDAV) und der sichere Medien-Proxy.

TubePress speichert jedes hochgeladene Video, seine trankodierten Versionen und Vorschau-Assets auf dem Datenträger und kann sie transparent auf einen oder mehrere externe Speicherserver auslagern. Diese Seite erklärt, wo Dateien gespeichert werden, wie das System der Medienspeicher sie auf Backends verteilt und wie Medien Zuschauer erreichen, ohne Ihre Rohdateien preiszugeben.

Der Speicher wird unter /admin/settings?tab=storage konfiguriert. Sie können vollständig vom lokalen Datenträger aus arbeiten oder FTP-, S3-kompatible und WebDAV-Backends hinzufügen und TubePress diese der Reihe nach befüllen lassen.

Wie TubePress Medien speichert

Uploads liegen unter public/uploads/. Jedes Video erhält einen eigenen Ordner — den video_folder des Videos — der das Originalquellmaterial zusammen mit jeder vom Transkoder erzeugten Rendition und den kleinen Assets enthält, die der Player benötigt:

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

Der Transkoder erkennt die Quelle, indem er nach der höchsten video_<height>p.mp4-Datei sucht, mit Fallback auf eine rohe video.mp4, .webm oder .ogg. Niedrigere Renditions werden in denselben Ordner geschrieben, sodass ein einziges Verzeichnis alles enthält, was ein Video benötigt. Unter Transkodierung erfahren Sie, wie diese Renditions generiert werden.

Lokal ist ein temporärer Bereich, wenn ein CDN gesetzt ist. Bei einem externen Standardspeicher wird jeder Upload lokal verarbeitet und danach vom App-Server gelöscht, sobald er sicher im Backend liegt — das lokale videos/-Verzeichnis enthält stets nur Dateien, die noch hochgeladen oder transkodiert werden.

Externe Speicherserver

Das System der Medienspeicher ermöglicht es Ihnen, beliebig viele Backends zu registrieren. Neue Videos gehen immer in den Standard-Speicher; wenn ein Speicher seinen Festplattengrenzwert überschreitet, wechselt TubePress neue Uploads automatisch zum nächsten verfügbaren. Bestehende Videos werden weiterhin von dort ausgeliefert, wo sie geschrieben wurden, da jedes Video seine eigene storage_id speichert.

Vier Backend-Typen werden unterstützt — keine weiteren:

TypVerwendungszweckVerbindungsfelder
LocalEin einzelner Server oder EinstiegKeine — ausgeliefert aus public/uploads
FTPGünstiger Speicher-VPS oder SeedboxHost, Port (21), Benutzer, Passwort, Remote-Pfad, SSL/TLS, passiv
S3AWS S3, DigitalOcean Spaces, Backblaze, MinIOZugriffsschlüssel, Secret, Bucket, Region, Endpoint, Prefix
WebDAVNextcloud und andere WebDAV-HostsWebDAV URL, Benutzer, Passwort

Jeder Remote-Speicher verfügt außerdem über einige Betriebseinstellungen:

Medien-URL
Die öffentliche HTTP-Adresse, von der Besucher Dateien laden — nicht die FTP/S3-Steueradresse.
Status
Aktiv (empfängt neue Videos), Nur-Lesen (liefert nur vorhandene Dateien) oder Deaktiviert (offline).
Maximale Festplattenauslastung
50–99 % (Standard 90). Bei Erreichen wechseln neue Uploads automatisch zum nächsten Speicher.
Sichere URLs
Signiert Medienlinks mit einem ablaufenden Token — siehe Sichere Medienauslieferung weiter unten.

Einen Speicher-Backend hinzufügen

  1. Speicher-Editor öffnen. Gehen Sie zu /admin/settings?tab=storage und klicken Sie auf Add Storage.
  2. Typ wählen und benennen. Wählen Sie Local, FTP, S3 oder WebDAV. Das Formular zeigt dann nur die für diesen Typ relevanten Felder.
  3. Medien-URL und Zugangsdaten eingeben. Legen Sie die öffentliche Medien-URL fest, dann Host/Schlüssel/Pfad für das Backend. Ein leeres Passwortfeld beim Bearbeiten behält das gespeicherte bei.
  4. Betriebsoptionen festlegen. Wählen Sie den Status, den maximalen Festplattenauslastungs-Grenzwert und ob URLs signiert werden sollen.
  5. Testen und speichern. Beim Speichern wird zunächst ein Verbindungstest durchgeführt (und eine Monitor-Script-Prüfung, falls eines angegeben wurde). Beheben Sie fehlgeschlagene Prüfungen und speichern Sie. Optional als Standard markieren, damit neue Uploads dort landen.
Medien-URL vs. Steueradresse. Die Medien-URL ist das, was Browser abrufen (z. B. https://cdn.example.com). Sie ist nicht der FTP/S3-Endpoint — die Verwechslung beider ist die häufigste Ursache für defekte Wiedergabe nach einem Wechsel.

Der Speichermonitor

Für Remote-Backends kann TubePress Festplattenplatz und Gesundheitsstatus mithilfe eines kleinen PHP-Skripts verfolgen, das Sie auf dem Speicherserver installieren. Klicken Sie im Bereich Disk Monitoring des Speicher-Editors auf Download monitor script (bereitgestellt unter /api/storage-monitor-download), laden Sie es auf Ihren Remote-Server hoch und fügen Sie seine öffentliche URL in das Feld Monitor script URL ein.

Einmal verbunden, zeigt der Editor die aktuelle Festplattenauslastung und den letzten Prüfzeitpunkt; der automatische Wechsel-Grenzwert nutzt diese Werte, um zu erkennen, wann ein Backend voll ist. Das Skript ist verschlüsselt, sodass nur Ihr CMS es abfragen kann.

Empfehlenswert für jede CDN-Box. Ohne den Monitor kann TubePress keine Remote-Festplattenauslastung lesen, sodass der automatische Wechsel bei maximaler Auslastung nur für messbare Speicher funktioniert.

Sichere Medienauslieferung

Wenn Sichere URLs für einen Speicher aktiviert ist, gibt TubePress nie einen direkten Dateipfad aus. Stattdessen signiert es einen kurzen, zeitlich begrenzten Link, der über /media/ geleitet wird:

/media/{token}/{expires}/{path}
token
Ein 16-stelliges HMAC-SHA256 aus Pfad und Ablaufzeit, signiert mit dem privaten Geheimnis des Speichers.
expires
Ein Unix-Zeitstempel; nach dessen Ablauf gibt der Link 403 zurück. Die Standardlebensdauer beträgt sechs Stunden.
path
Die angeforderte Datei unter uploads/videos/….

Der Token wird bei jeder Anfrage serverseitig neu berechnet und geprüft. Bei einem lokalen Speicher streamt TubePress die Datei selbst mit HTTP-Range-Unterstützung (sodass Spulen funktioniert); bei einem Remote-Speicher wird der Token geprüft und dann ein 302-Redirect zur Datei auf Ihrem CDN ausgegeben. Rohes Video wird auch auf Web-Server-Ebene gedrosselt: Der Speicher-Editor generiert einen einfügefertigen Nginx-Snippet, der das Streaming nach den ersten Megabytes begrenzt, während Transkodier-Worker mit einem Schlüssel volle Geschwindigkeit haben.

Tokens sind an Pfad, Ablaufzeit und Secret gebunden. Das Rotieren des Geheimnisses eines Speichers macht alle ausstehenden Links ungültig, und abgelaufene Links hören von selbst auf zu funktionieren. Kombinieren Sie sichere URLs mit dem Rate-Limit-Snippet für eine wirkungsvolle Anti-Scraping-Barriere. Siehe Sicherheit.

CDN & Cloudflare

TubePress ist darauf ausgelegt, problemlos hinter Cloudflare betrieben zu werden. Zwei Punkte sind wichtig:

  • Chunked Uploads umgehen das 100 MB-Limit. Transkodier-Ergebnisse werden stückweise über /api/transcode-upload-chunk an das CMS zurückgestreamt, sodass einzelne Anfragen unter Cloudflares kostenlosem 100 MB-Limit bleiben, egal wie groß die Rendition ist.
  • Lang gecachte, cache-gebustete Assets. Statische Assets werden mit langen, unveränderlichen Cache-Headern ausgeliefert und bei jedem Release durch eine Versions-Abfrage aktualisiert, sodass ein Proxy aggressiv cachen kann, ohne jemals eine veraltete Datei auszuliefern.

Der Nginx-Snippet pro Speicher fügt sinnvolle expires-Header für Video und den optionalen internen /media/-Speicherort für sichere lokale Auslieferung hinzu, sodass Sie ihn direkt in Ihre Site-Konfiguration einfügen können.

Nächste Schritte

Noch Hilfe benötigt?

Erstellen Sie ein Ticket in Ihrem Dashboard und unser Team hilft Ihnen gerne weiter.

Live-Demo ausprobieren → TubePress herunterladen →