Měl bych dotaz, jak funguje seekování videa na HTML stránkách normálně vloženého přes tag video.
Jde mi o 2 věci:
1. Je vždy nutné nutné stáhnout počátek videa? Nebo otázka zní jinak, které video formáty umožňují přehrávání tak, že jim stačí číst od prostředka (explicitně bez nutnosti stahovat začátek) a video se ihned bude přehrávat zhruba od prostředka (samozřejmě s tím zatočí variabilní bitrate).: Konkrétně : MKV, MTS, TS, MP4, M4V, AVI, H264(ano, "kontejner" h264, nebo spíš raw videostopa bez kontejneru ) Pozor, některé kontejnery mají volbu zapsat metadata na začátek či konec ( ffmpeg -c hevc -f mp4 -movflags faststart)) -
2. Dejme tomu ,že chci seeknout na konkrétních pozici 4:00. Jak se v tomto případě zachová prohlížeč a server?
(závisí na 1. – pokud nezná index,)
Dá se v tomto případě považovat HTTP server za CHYTRÝ NEBO HLOUPÝ? Tzn, jestli klient pošle Range: 3 000 000 - ..., analyzuje nějak server, že data je nutné nějak zarovnat směrem k předchozímu I frame ( nebo bloku ?), pošle server Range: 2 900 000, nebo prostě server tohle neřeší.
A pokud klient stáhl začátek (s indexem), ví přesně jaký Range reqeust má poslat?
3. pokud je mp4 s metadaty na konci, řeší se to jak? Musí se čekat na celý soubor, nebo stačí stáhnout koncovou část of soubor ze serveru například poslední 1MB (
4. Jak vlastně je veliká část metadata / indexu / moov atomu? v závislosti na délce videa.
5. mají tedy videosoubory více stupňová metadata (tzn ,jestli je nejdřív nutné stáhnout /metadata / index a pak ještě jsou nějaká data rozseta v kontejneru (proložena-interleaved), )