logo
21.04.2021 15:50
1
Zdravím. (Následující bude -předpokládám- řešení v JavaScriptu, ale je to trochu obecnější, tak to vkládám sem.)
Mám videa mluveného slova (cca 4 minuty) ve čtyřech jazykových verzích.
Chtěl bych se zeptat, jak přistupovat k naprogramování toho, aby v prohlížeči mohl uživatel video spustit a za běhu si přepínat mezi jazykovými verzemi.
S tím, že:
- při přepnutí video nezačne od začátku, ale plynule naváže s přesností řekněme +- 1 sekunda.
- nejlépe bez dlouhého načítání (inicializace a příprava všech verzí na začátku, žádné zbytečné zdržování při přepínání). Případně mi napište, jestli je lepší načítat všechny verze celé nebo ne a vždy operativně načítat - v závislosti na řešení přes YT API nebo lokálně uložená videa a JS přehrávač. Mimochodem, je možný během přehrávání řídit prefetching videí u jiných verzí, popř. 'zahazovat' části 'z minulosti', které už se přehrály a nebudou potřeba?
- jazykové verze, které mám, nejsou přesně stejně dlouhé, a v každém okamžiku na sebe časově „nelícují“ – některé jsou trochu rychlejší, některé pomalejší; liší se v každém místě řádově o jednotky sekund, takže pro přepnutí jazyka nestačí přehrávat nově zvolenou jazykovou verzi od aktuálního časového kódu. Jsem ochoten a počítám s tím, že si vyrobím nějakou jednoduchou srovnávací tabulku toho, v kterém čase každá věta nebo její část začíná, s tím, že ji pak využiju. Výpočet nového časového kódu pro nový jazyk zvládnu sám.
- napadá mě dát „pod sebe“ čtyři přehrávače pro každou jazykovou verzi, skrýt všechny kromě toho aktuálního a za běhu u neaktivních/neviditelných korigovat synchronizaci. Myslíte si, že je to dobré řešení / má s tím někdo zkušenosti?
Důvod, proč to chci, je Proof of Concept; prosím, nechci debatovat o tom, proč to dělat/nedělat. Zajímají mě možnosti řešení buď s využitím API YouTube (je-li to možné a schůdné) nebo s tím, že videa budou uložena lokálně a využiju nějaký javascriptový přehrávač – cokoli z toho bude jednodušší/elegantnější řešení. Důležité pro mě bude mít možnost z přehrávače zjistit aktuální čas přehrávání, změnit u něj zdroj videa a začít přehrávat od nově zadaného času.
Díky!

Co se právě děje na Webtrhu?