Sari la conținut
Castreon
Livrare

Arhivă, catch-up și timeshift

Actualizat la 07 oct. 2026

Castreon poate păstra pe disc tot ce a difuzat un canal în ultimele zile. Abonații dumneavoastră văd apoi în playerul IPTV emisiunile trecute (catch-up), pornesc emisiunea în curs de la început (start-over) sau urmăresc canalul cu o întârziere aleasă (timeshift).

Disponibil din Castreon 1.0.8, în planurile Pro (până la 7 zile pe canal) și Enterprise (fără limită de zile — limita este discul).

Cum funcționează

Canalul scrie oricum ieșirea HLS în segmente de câteva secunde. Arhiva păstrează aceste segmente pe disc înainte să iasă din fereastra live — fără nicio transcodare în plus și fără un proces nou. Fiecare segment se păstrează după ora la care a fost difuzat, așa că arhiva trece fără probleme peste repornirile canalului sau ale serverului.

Pe același disc, segmentul nu se copiază deloc (legătură fixă, hard link); dacă HLS-ul live e în memorie (tmpfs), segmentul se copiază pe disc.

Pornirea pe un canal

  1. Deschideți canalul → Editează.
  2. La Arhivă (catch-up), bifați Păstrează arhiva și alegeți câte zile.
  3. Salvează.

Înregistrarea începe în câteva secunde. Canalul are nevoie de:

  • o ieșire HLS — poate sta lângă celelalte ieșiri; un canal fără nicio ieșire configurată o are implicit;
  • segmente TS — la ieșirea HLS, containerul TS sau automat (automat alege fMP4 doar când profilul codează în HEVC sau AV1);
  • HLS necriptat — arhiva nu păstrează HLS criptat AES-128;
  • să ruleze permanent, nu La cerere — un canal la cerere se oprește fără privitori și arhiva ar avea goluri.

Panoul vă spune înainte de salvare dacă lipsește ceva.

Dacă opriți arhiva pe un canal sau ștergeți canalul, ce s-a înregistrat pentru el se șterge de pe disc în cel mult un minut.

Spațiul pe disc

Arhiva ocupă cât debitul canalului înmulțit cu timpul păstrat:

Debitul canalului O zi 7 zile
2 Mbit/s ≈ 22 GB ≈ 151 GB
5 Mbit/s ≈ 54 GB ≈ 378 GB
8 Mbit/s ≈ 86 GB ≈ 605 GB

La un canal cu mai multe calități (ABR) se păstrează toate calitățile, deci se adună debitele lor.

În Setări → Arhivă găsiți:

  • Directorul arhivei — gol înseamnă archive în directorul de date al nodului. Recomandăm un disc separat și mare (nu tmpfs). Un director nou se creează și se verifică la salvare. Arhiva deja înregistrată nu se mută: rămâne în directorul vechi.
  • Spațiu minim liber (%) — implicit 10 %. Când discul coboară sub prag, nodul șterge cele mai vechi ore, de la orice canal, până se eliberează locul. Înregistrarea nu se oprește niciodată pentru că s-a umplut discul.
  • discul (liber / total), cât ocupă arhiva, planul și, pentru fiecare canal, zilele, spațiul, de când are arhivă și dacă înregistrează acum.

Arhiva se șterge pe ore întregi: după zilele fiecărui canal și după pragul de spațiu liber.

În playerele IPTV

În player nu trebuie configurat nimic. Exportă M3U marchează canalele cu arhivă:

#EXTINF:-1 tvg-id="canal-1" catchup="default" catchup-days="7" catchup-source="http://…/live/canal-1/index-{utc}-{duration}.m3u8",Canal 1

TiviMate, OTT Navigator, Kodi (IPTV Simple), Televizo și celelalte playere care citesc catch-up-ul din lista M3U arată arhiva la canal, iar emisiunile trecute din program se pot reda. Pentru emisiuni, playerul folosește programul TV — la canalele DVB vine chiar din mux, vedeți Programul TV (EPG) din DVB. Lista cere singură programul pe zilele arhivei (cel mult 8). Canalele care nu sunt DVB au nevoie de un program XMLTV din altă sursă, legat prin ID EPG.

Reîncărcați lista M3U în player după ce porniți arhiva: atributele de catch-up apar doar în listele exportate după aceea.

Adresele arhivei

Toate stau lângă adresa live a canalului, http://<domeniu-public>/live/<canal>/, cu aceleași reguli de acces (token, IP-uri permise). <început> este ora UNIX (UTC, în secunde), <durată> este în secunde.

Adresa Ce primiți
index-<început>-<durată>.m3u8 o emisiune (catch-up)
index-<început>-now.m3u8 de la <început> până la live (start-over)
timeshift_abs-<început>.m3u8 la fel
timeshift_rel-<secunde>.m3u8 canalul cu atâtea secunde în urmă
archive-<început>-<durată>.ts o emisiune ca un singur flux MPEG-TS (?download=1 o descarcă drept fișier)
timeshift_abs-<început>.ts MPEG-TS de la <început>, care continuă până la live

Exemplu — o oră începând cu 7 octombrie 2026, 18:00 UTC:

http://tv.domeniul-dumneavoastra.ro:33400/live/canal-1/index-1791396000-3600.m3u8?token=…
  • La un canal cu mai multe calități, playlistul este un master cu toate calitățile, ca la live.
  • Tokenul din adresă se adaugă singur la fiecare adresă din playlist.
  • O cerere acoperă cel mult 24 de ore; playlisturile deschise (start-over, timeshift) merg cel mult 6 ore în urmă.

În panou

În fila Program a canalului, emisiunile trecute aflate în arhivă au butonul Redă, iar emisiunea în curs are De la început. Playerul din panou are bară de timp, deci puteți sări oriunde în emisiune.

Metrici

/metrics conține castreon_archive_bytes, castreon_archive_disk_free_bytes, castreon_archive_disk_total_bytes, castreon_archive_channels_recording și castreon_archive_pruned_hours_total — utile, de exemplu, pentru o alertă în Grafana când discul arhivei se umple. Vedeți Metrici și Grafana.

Probleme frecvente

  • Canalul nu înregistrează (Setări → Arhivă): canalul trebuie să ruleze; dacă pe rând apare un mesaj, el spune motivul (de exemplu HLS criptat sau segmente fMP4).
  • „not in archive” (404): intervalul cerut este dinaintea primei înregistrări sau a fost deja șters (zilele canalului, spațiul minim liber).
  • Playerul nu arată arhiva: reîncărcați lista M3U și programul TV în player.
  • „planul Pro păstrează arhiva cel mult 7 zile”: pentru mai multe zile este nevoie de planul Enterprise.

Confidențialitate

Cookie-uri și stocare locală

Cookie-urile strict necesare sunt mereu active. Statisticile și marketingul folosesc servicii Google și pornesc doar dacă le accepți — până atunci nu se trimite nimic la Google. Îți poți retrage acordul oricând, aici.

Strict necesare

Fără ele nu funcționează autentificarea, formularele și limba aleasă. Nu necesită consimțământ (§ 25 alin. 2 pct. 2 TDDDG).

Mereu active
Nume Scop Durată Tip
castreon-session Păstrează sesiunea: autentificarea și limba aleasă 2 ore, prelungit la fiecare accesare Cookie
XSRF-TOKEN Protejează formularele împotriva cererilor falsificate 2 ore, prelungit la fiecare accesare Cookie
remember_web_… Doar dacă bifezi „Ține-mă minte” la autentificare Până la deconectare, max. 400 de zile Cookie
__cf_bm Cloudflare: deosebește vizitatorii de roboți, doar când traficul e verificat 30 de minute Cookie · Cloudflare
castreon:consent Ține minte alegerea ta privind cookie-urile 12 luni Memorie locală
theme Aspectul contului de client: luminos, întunecat sau sistem Până o schimbi Memorie locală

Statistici

Google Analytics 4 (Google Ireland Ltd.): ce pagini sunt vizitate, de unde vin vizitele și de pe ce tip de dispozitiv — cu identificatori pseudonimi, fără salvarea adresei IP. Ne ajută să îmbunătățim site-ul.

Nume Scop Durată Tip
_ga Google Analytics: recunoaște vizitatorul (identificator pseudonim) 13 luni Cookie · Google Analytics
_ga_VHWQRPHPEF Google Analytics: păstrează starea vizitei 13 luni Cookie · Google Analytics

Marketing

Google Ads (Google Ireland Ltd.): măsoară dacă vizitele venite din reclame Google ajung la test sau la un plan și permite afișarea reclamelor Castreon pe alte site-uri (remarketing).

Nume Scop Durată Tip
_gcl_au, _gcl_aw Google Ads: leagă vizita de clicul pe reclamă (conversii) 90 de zile Cookie · Google Ads
IDE, test_cookie Google Ads: remarketing și măsurarea reclamelor, pe domeniile Google (doubleclick.net) Până la 13 luni Cookie · Google (terț)