Skip to content

Livrarea Filmelor către Utilizatori

Introducere

Acest document descrie în detaliu procesul tehnic prin care filmele ajung de la stocare la ecranul utilizatorului. Voi explica arhitectura serverelor, protocolul de comunicare și optimizările implementate pentru o experiență de streaming perfectă.

Arhitectura Serverelor

Platforma Emby funcționează pe o arhitectură client-server distribuită:

Scheme DeliveryScheme Delivery Mobile

Serverul Central

Serverul central servește întreaga aplicație Emby și gestionează toate cererile utilizatorilor. Când un utilizator apasă butonul "Play" pe un film, serverul central inițiază procesul de livrare.

Serverele de Storage

Sistemul utilizează 10-15 servere de storage, fiecare cu capacități de 2TB, care stochează efectiv conținutul media. Acestea sunt servere dedicate optimizate exclusiv pentru stocare și livrare rapidă de date.

Cuplarea Serverelor prin Rclone

Serverul central comunică cu serverele de storage folosind Rclone, un tool avansat pentru managementul fișierelor cloud. Conexiunea se face prin autentificare securizată:

Configurație tipică Rclone:

bash
rclone config create storage_server1 drive client_id=YOUR_CLIENT_ID client_secret=YOUR_CLIENT_SECRET token=YOUR_ACCESS_TOKEN

Montare folder storage:

rclone mount storage_server1:media /mnt/storage1 --daemon --allow-other --vfs-cache-mode full

Securitate Autentificare

  • Client ID & Secret: Credențiale unice pentru fiecare server
  • Token Access: Token-uri de acces cu expirare periodică
  • Reset Automat: Token-urile se reînnoiesc automat pentru securitate maximă

Structura Storage și Detectare Automată

Serverele de storage sunt montate în foldere dedicate pe serverul central Windows:

**E:/RcloneStorage/server2/**
**E:/RcloneStorage/server3/**
...


**E:/RcloneStorage/server15/**

Explicație Structură:

  • Litera E: - Reprezintă un disc SSD NVMe extrem de performant dedicat exclusiv pentru cache și operațiuni rapide
  • RcloneStorage - Folderul principal care conține toate conexiunile Rclone
  • server1, server2, etc. - Foldere individuale pentru fiecare server de storage conectat

Acest disc E: este un SSD de ultimă generație optimizat pentru:

  • Operațiuni de cache ultra-rapide
  • Citiri/scrieri de mare viteză
  • Procesarea paralelă a multiple stream-uri
  • Stocarea temporară a datelor în cache

Fiecare folder serverX reprezintă o conexiune montată către unul dintre serverele de storage externe, toate gestionate prin Rclone cu configurații de performanță maximă.

Detectare Automată a Conținutului

Platforma Emby monitorizează continuu folderele de storage. Când un film nou apare în orice folder storage:

  1. Detectare Fișier: Sistemul detectează automat noul fișier
  2. Scanare Metadata: Extrage titlul și informațiile de bază
  3. Căutare Automated: Interoghează baze de date externe pentru metadata completă
  4. Procesare: Adaugă filmul în bibliotecă cu toate informațiile

Surse Metadata

Platforma preia metadata din surse oficiale:

  • IMDb - Filme și seriale internaționale
  • TMDb - The Movie Database
  • MyAnimeList - Pentru conținut anime
  • TVDB - The TV Database pentru seriale

Optimizări Avansate Performance

Serverele utilizează configurații extrem de optimizate pentru performanță maximă:

Setări Critice de Optimizare

Cache Settings:

  • --vfs-cache-mode full - Cache complet pentru acces rapid
  • --vfs-cache-max-size 200G - Spațiu generos pentru cache
  • --vfs-cache-max-age 168h - Păstrează cache-ul 7 zile
  • --vfs-cache-min-age 0s - Cache imediat
  • --vfs-cache-poll-interval 1ms - Verificare cache foarte rapidă

Performance Buffers:

  • --buffer-size 8G - Buffer mare pentru stream-uri
  • --vfs-read-chunk-size 512M - Bucăți mari pentru citire rapidă
  • --vfs-read-ahead 64G - Preîncărcare agresivă
  • --vfs-read-chunk-size-limit 64G - Limită maximă bucăți
  • --vfs-file-buffer-size 8G - Buffer fișiere mare

Parallel Processing:

  • --transfers 8192 - Transferuri paralele multiple
  • --checkers 8192 - Verificări paralele
  • --multi-thread-streams 4096 - Stream-uri simultane
  • --multi-thread-cutoff 64K - Prag pentru multi-thread
  • --transfers-accelerate 16384 - Transferuri accelerate
  • --checkers-accelerate 16384 - Verificări accelerate

Network Optimization:

  • --timeout 1s - Timeout scurt pentru respins rapid
  • --retries 10 - Reîncercări pentru stabilitate
  • --low-level-retries 10 - Reîncercări la nivel scăzut
  • --contimeout 500ms - Timeout conexiune
  • --expect-continue-timeout 250ms - Timeout continuare

Beneficii Optimizări

Aceste setări asigură:

  • Încărcare instantă a filmelor
  • Streaming fără întreruperi
  • Performanță maximă chiar și la utilizare intensă
  • Stabilitate îndelungată

Monitoring în Timp Real

Pentru administrare, am implementat o pagină de status dedicată:

Status Storage: https://status.adelin.org/storage/

Această pagină permite:

  • Vizualizarea statusului în timp real al tuturor serverelor
  • Monitorizarea performanței și încărcării
  • Detecția rapidă a problemelor
  • Analiza utilizării resurselor

Concluzie

Arhitectura descrisă asigură o experiență de streaming de calitate profesională, cu focus pe viteza, stabilitatea și securitatea livrării conținutului către utilizatori. Fiecare componentă este optimizată pentru a oferi performanță maximă în condiții de utilizare intensă.

© 2025 Popica Adelin. Toate drepturile rezervate.