All posts

Waarom HLS nog steeds wint voor video die gewoon moet afspelen

ZeroStorage Team2 min read

Elke upload op ZeroStorage wordt getranscodeerd naar een HLS-ladder — een set van rendities van 1080p tot 240p, elk met zijn eigen bitrate. De speler kiest het niveau dat hij op dat moment kan handhaven en schakelt halverwege de stream wanneer de omstandigheden veranderen. Dat is de hele truc, en het is de reden waarom een link die je vandaag deelt morgen nog steeds werkt op een trein.

Wat de ladder daadwerkelijk bevat

FFmpeg produceert een masterplaylist plus één playlist per renditie. De browser downloadt nooit het hele bestand; het vraagt om korte segmenten, meestal vier tot tien seconden elk, en evalueert zijn bandbreedte ertussenin.

  • Een master .m3u8 die elke renditie en zijn codecs vermeldt.
  • Segmentplaylists die de speler in minder dan een seconde laten starten.
  • Alleen-audio-rendities voor luisteraars op gemeten verbindingen.

Waarom niet gewoon de MP4 serveren

Een progressieve MP4 werkt totdat het niet meer werkt. Zonder byte-range-ondersteuning en een stabiele verbinding stopt de speler, bufferen en verliest de kijker. HLS ruilt een beetje setup in voor robuustheid, en die ruil betaalt zich af op elk apparaat dat je niet beheert.

Eén link, elke verbindingssnelheid. Dat is de belofte, en de ladder is hoe we die waarmaken.

De niveaus kiezen

De ladder wordt gebouwd voor het bestand voor de encoder, niet voor je plan of je account. Voordat er een segment wordt geschreven, meet FFmpeg hoeveel het beeld per frame verandert en besteedt bits waar de beweging daadwerkelijk is. Een lezing met een statische slide blijft goedkoop voor de hele looptijd; een vuurwerkclip betaalt de volle prijs voor elke seconde. Dit is waarom per-title encoding bestaat: identieke resoluties kosten niet identieke bedragen, en ze zo behandelen verspillt geld of kwaliteit.

  • Niveaugroottes volgen de bron: een 720p-upload verzint nooit een 1080p-niveau.
  • Bitrates zijn plafonds, geen doelen — per-title-analyse verlaagt ze wanneer de content het toelaat.
  • De speler kan op het hoogste niveau zitten voor een hele film en nooit ontdekken dat de anderen bestaan.

Wat je krijgt zonder iets in te stellen

  • Per-title encoding zodat statische beelden geen bandbreedte verspillen.
  • Ondertitel- en audiotrajectwisseling binnen dezelfde speler.
  • Een embed-URL die derde partijen en herkomstbeperkingen overleeft.

Upload een bestand, wacht tot de taak is voltooid, deel de watch-URL. Lees de uploaddocumentatie als je dit via de API wilt in plaats van de dropzone.

Home
My Files
API Docs
Contact
Transfers