Pamięć i dostarczanie mediów
Pamięć lokalna, zewnętrzne serwery pamięci (S3, FTP, WebDAV) i bezpieczny serwer proxy mediów.
TubePress przechowuje każdy przesłany film, jego przetworzone wersje i zasoby podglądu na dysku i może transparentnie przenosić je na jeden lub więcej zewnętrznych serwerów pamięci masowej. Ta strona wyjaśnia, gdzie są przechowywane pliki, jak system media storages dystrybuuje je między backendy oraz jak media docierają do widzów bez ujawniania surowych plików.
Magazyn jest konfigurowany w /admin/settings?tab=storage. Możesz działać wyłącznie na lokalnym dysku lub dodać backendy FTP, kompatybilne z S3 i WebDAV, a TubePress będzie je wypełniać kolejno.
Jak TubePress przechowuje media
Przesłane pliki są przechowywane w public/uploads/. Każdy film ma swój własny folder — video_folder wideo — który zawiera oryginalne źródło wraz z każdą wersją wygenerowaną przez transkoder oraz małymi zasobami wymaganymi przez odtwarzacz:
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, backgroundTranskoder odkrywa źródło, skanując w poszukiwaniu najwyższego pliku video_<height>p.mp4, a w razie potrzeby korzysta z surowego video.mp4, .webm lub .ogg. Niższe wersje są zapisywane w tym samym folderze, więc pojedynczy katalog zawiera wszystko, czego potrzebuje film. Zobacz Transkodowanie, aby dowiedzieć się, jak generowane są te wersje.
videos/ przechowuje wyłącznie elementy, które są jeszcze przesyłane lub transkodowane.Zewnętrzne serwery pamięci masowej
System media storages umożliwia rejestrację dowolnej liczby backendów. Nowe filmy zawsze trafiają do domyślnego magazynu; gdy magazyn przekroczy próg dyskowy, TubePress automatycznie przełącza nowe przesyłania na następny dostępny. Istniejące filmy są obsługiwane z miejsca, do którego zostały zapisane, ponieważ każdy film rejestruje własne storage_id.
Obsługiwane są cztery typy backendów — i nic więcej:
| Typ | Zastosowanie | Pola połączenia |
|---|---|---|
| Local | Pojedynczy serwer lub pierwsze kroki | Brak — obsługiwane z public/uploads |
| FTP | Tani VPS do przechowywania lub seedbox | Host, port (21), użytkownik, hasło, zdalna ścieżka, SSL/TLS, pasywny |
| S3 | AWS S3, DigitalOcean Spaces, Backblaze, MinIO | Klucz dostępu, sekret, bucket, region, endpoint, prefiks |
| WebDAV | Nextcloud i inne hosty WebDAV | URL WebDAV, użytkownik, hasło |
Każdy zdalny magazyn ma również kilka ustawień operacyjnych:
Dodawanie backendu pamięci masowej
- Otwórz edytor magazynu. Przejdź do
/admin/settings?tab=storagei kliknij Add Storage. - Wybierz typ i nadaj nazwę. Wybierz Local, FTP, S3 lub WebDAV. Formularz przełącza się, aby pokazać tylko pola potrzebne dla danego typu.
- Wprowadź URL mediów i dane uwierzytelniające. Ustaw publiczny Media URL, a następnie host/klucze/ścieżkę dla backendu. Pozostaw hasło puste podczas edycji, aby zachować zapisane.
- Ustaw opcje operacyjne. Wybierz status, próg maksymalnego użycia dysku i czy podpisywać URL-e.
- Przetestuj i zapisz. Zapisanie najpierw uruchamia test połączenia (i sprawdzenie skryptu monitorującego, jeśli go podałeś). Napraw wszelkie nieudane sprawdzenia, a następnie zapisz. Opcjonalnie oznacz go jako domyślny, aby nowe przesyłania trafiały tam.
https://cdn.example.com). Nie jest to endpoint FTP/S3 — pomylenie tych dwóch jest najczęstszą przyczyną uszkodzonego odtwarzania po przełączeniu.Monitor magazynu
Dla zdalnych backendów TubePress może śledzić przestrzeń dyskową i stan za pomocą małego skryptu PHP, który instalujesz na serwerze pamięci masowej. W panelu Disk Monitoring edytora magazynu kliknij Download monitor script (obsługiwane z /api/storage-monitor-download), prześlij go na zdalny serwer, a następnie wklej jego publiczny URL z powrotem w polu Monitor script URL.
Po połączeniu edytor pokazuje bieżące użycie dysku i czas ostatniego sprawdzenia, a próg automatycznego przełączania używa tych odczytów, aby wiedzieć, kiedy backend jest pełny. Skrypt jest zabezpieczony kluczem, więc tylko twój CMS może go odpytywać.
Bezpieczne dostarczanie mediów
Gdy Secure URLs są włączone dla magazynu, TubePress nigdy nie udostępnia bezpośredniej ścieżki do pliku. Zamiast tego podpisuje krótki, ograniczony czasowo link kierowany przez /media/:
/media/{token}/{expires}/{path}403. Domyślny czas życia to sześć godzin.uploads/videos/….Token jest ponownie obliczany i sprawdzany po stronie serwera przy każdym żądaniu. Dla lokalnego magazynu TubePress strumieniuje plik z obsługą zakresów HTTP (dzięki czemu przewijanie działa); dla zdalnego magazynu weryfikuje token, a następnie wydaje przekierowanie 302 do pliku na CDN. Surowe wideo jest również ograniczane przepustowością na poziomie serwera WWW: edytor magazynu generuje gotowy do wklejenia fragment nginx, który ogranicza strumieniowanie po pierwszych kilku megabajtach, jednocześnie umożliwiając pracownikom transkodowania pobieranie z pełną prędkością za pomocą klucza.
CDN & Cloudflare
TubePress jest zaprojektowany do wygodnej pracy za Cloudflare. Dwie rzeczy mają znaczenie:
- Przesyłanie porcjowane omija limit 100 MB. Wyniki transkodowania są przesyłane z powrotem do CMS w kawałkach przez
/api/transcode-upload-chunk, więc poszczególne żądania pozostają poniżej limitu 100 MB warstwy darmowej Cloudflare, niezależnie od rozmiaru wersji. - Zasoby z długim cache i unieważnianiem cache. Zasoby statyczne są obsługiwane z długimi, niezmiennymi nagłówkami cache i unieważniane zapytaniem wersji przy każdym wydaniu, więc proxy może agresywnie buforować bez serwowania nieaktualnych plików.
Fragment nginx dla każdego magazynu dodaje rozsądne nagłówki expires dla wideo i opcjonalną wewnętrzną lokalizację /media/ używaną przez bezpieczne lokalne dostarczanie, więc możesz go wkleić bezpośrednio do konfiguracji strony.
Następne kroki
Nadal masz problem?
Otwórz zgłoszenie z poziomu panelu, a nasz zespół Ci pomoże.