Urychlení dlouho-trvajícího převodu videa

Pokud máte video (např. 5-hodinové video z dovolené natočené 4K telefonem nebo zrcadlovkou), jehož převod by trval běžnými prostředky (pomalé CPU) několik dní, můžete narazit na problém, že pokud se proces přeruší (výpadek proudu, zaseknutí PC, apod.), musel by začít celý od začátku (což samozřejmě nechcete).

Jednoduchý trik vám umožní zpracovat video postupně. Stačí vám k tomu program MKVToolNix (a program, ve kterém budete video převádět; já preferuji FFMPEG).

1. rozdělení na krátké části

Trik spočívá v tom, že video rozdělíte na krátké části, které pak postupně zpracujete. Pokud se proces přeruší v průběhu zpracování např. 5-minutové části, snadno ji spustíte znovu a nebude to takový problém.

Pokud jde skutečně o video z telefonu nebo zrcadlovky, pravděpodovně je již samo rozděleno na krátké části (když jste při natáčení stiskly pauzu).

Pokud ne (např. záznam maratonu vašeho oblíbeného seriálu z HDTV), stačí stáhnout program MKVToolNix (dříve známý též jako MKVmerge) a video v něm otevřít (stačí přetáhnout z Průzkumníka do horní části Zdrojové soubory).

V dolní části odškrtněte vše kromě videa (audio, titulky, kapitoly, atd.). To ale platí jen v případě, že chcete zpracovávat video jako celek. Pokud budete z videa části vystřihávat (nudné scény, reklamy z TV) nebo přidávat (úvod, titulky kapitol, apod.), musíte v částech zachovat vše (zvuk, titulky, apod.)!

Přepněte se na druhou záložku Výstup a najděte položku Generování kapitol. Zvolte „Kapitoly v pevných intervalech“ a do kolonky Interval zadejte požadovanou hodnotu (ve formátu minuty:sekundy nebo počet sekund následovaný písmenem „s„). Pokud části budete zpracovávat ručně (např. ve video editoru), zadejte nějakou smysluplnou hodnotu (5 až 15 minut); pokud budete převádět video skriptem (např. v FFMPEG), můžete klidně zadat jednu minutu (pozor ale na to, že maximum je 999 kapitol).

Nakonec úplně dole zadejte jméno (např. video.mkv; jde pouze o dočasný soubor) a klikněte na Spustit multiplexování (doporučuji uložit na jiný disk, nejlépe SSD).

Až bude proces dokončen, zvolte z menu Multiplexer – Nový a přetáhněte do něj vytvořené video.

Opět jděte na druhou záložku Výstup a nyní najděte položku Režim rozdělení. Zvolte Před kapitolami a do kolonky Čísla kapitol zadejte „All“ (tedy všechny).

Opět zadejte jméno souboru (klidně znovu video.mkv) a klikněte na Spustit multiplexování. Process nyní vytvoří soubory video-001.mkv, video-002.mkv, atd.

Po dokončení procesu můžete smazat dočasný soubor (video.mkv).

Poznámka: program rozdělí video podle zadaných parametrů např. na 1-minutové části. Program ale nemůže rozdělit video přesně po minutách (nebo sekundách), ale vždy musí video rozdělit na tzv. klíčovém snímku (keyframe nebo též I-Frame); resp. u MPEG videa na konci GOP (group-of-pictures). Proto může jedna část být dlouhá 59 sekund a další 64 sekund. To by neměl být problém a naopak by to mělo pomoci při zpracování, protože klíčové snímky jsou obvykle vkládány při změně scény.

2. Zpracování videa

Způsob zpracování videa záleží na vás.

Pokud chcete zpracovat video pomocí FFMPEG, můžete si například vytvořit CMD skript (např. prevod.cmd ve složce s videi), na který pak přetáhnete všechny vytvořené části (resp. doporučuji po 50 souborech kvůli omezením příkazové řádky) a skript je postupně zpracuje.

Příklad:

:start
if "" == "%1" goto konec
echo Převádím %1...
ffmpeg -i "%1" -c:v libx265 -crf 28 -c:a libfdk_aac -b:a 128k "%1.done.mkv"
shift
goto start

:konec
echo Dokončeno.

Hodnota %1 obsahuje jméno prvního souboru přetaženého na skript v Průzkumníku, který ffmpeg zpracuje (zde převede na HEVC a AAC). Po zpracování příkazem shift vyřadíme první soubor a na jeho místo posuneme druhý přetažený soubor a příkazem goto start znovu spustíme převod. Na konci, kdy už nejsou žádné soubory (podmínka if kontroluje, že parametr %1 je prázdný), převod ukončíme příkazem goto konec.

Pokud navíc zjistíte, že převod jedné částí zatíží počítač na méně než 50%, můžete spustit převod dvou částí najednou a proces se urychlí.

Nebo pokud máte k dispozici více počítačů (např. herní PC a pracovní notebook), můžete některé části zkopírovat do dalšího PC a převést je tam.

Až budete mít všechny části převedeny, můžete pro úsporu místa smazat původní části (video-001.mkv, atd.)

3. Spojení částí

Až budou všechny části převedeny, je potřeba je spojit zpět dohromady a připojit k nim zvuk a další stopy z původního souboru.

Spusťte MKVToolNix a přetáhněte do něj první zpracovanou část (video-001.mkv.done.mkv z příkladů). Následně označte všechny zbývající části (002, 003, atd.) a přetáhněte je do stejného okna. Program se zeptá, jak je má vložit a tak zvolte Připojit ke stávajícímu zdrojovému souboru. Zkontrolujte, že se připojili ve správném pořadí (při tažení je potřeba chytit soubor 002 aby byl první v seznamu připojení).

Při převodu se někdy stane, že program trochu upraví FPS (rychlost běhu videa), což by ale v tomto případě znamenalo, že po spojení nebude video pasovat na zvuk. Aby k tomu nedošlo, na záložce Vstup klikněte na první video v části Stopy (dole) a najděte položku Výchozí délka nebo snímky za sekundu (dále jen FPS). Zde zadejte hodnotu fps z původního videa (podle nastavení telefonu apod.; může být 25p, 30p, 50p nebo 60p; pokud jde o video nahrané z televize, změňte 25p na 50i, apod.; pokud jde o NTSC video, zadejte „24000/1001p“).

Pokud hodnotu FPS neznáte, stáhněte si program MediaInfo, otevřete v něm původní video, najděte hodnotu Frame rate a vložte ji do MKVToolNix (následovanou textem „fps„).

Nakonec úplně dole zadejte jméno (např. znovu video.mkv; opět jde pouze o dočasný soubor) a klikněte na Spustit multiplexování.

Po dokončení opět zvolte Multiplexer – Nový a přetáhněte do něj vytvořený soubor. Do stejného okna pak přetáhněte původní video a až se program zeptá, zvolte Přidat jako nové zdrojové soubory… V části Stopy (dole) pak odškrtněte druhé video (tedy to původní z druhého souboru).

Dole zadejte jméno – nyní již pro výsledný soubor (např. Dovolená_2019.mkv) a klikněte na Spustit multiplexování.

Po dokončení procesu si vytvořené video pusťte a zkontrolujte, že sedí video a zvuk (příp. titulky apod.) hlavně ke konci videa, kde by desynchronizace byla nejvýraznější.

Pokud zvuk sedí k videu na začátku, ale na konci se zpožďuje nebo zrychluje, je potřeba změnit hodnotu hodnotu FPS (při spojování částí). Stejně tak je potřeba změnit FPS v případě, že vidíte drobné zaseknutí videa (nebo naopak část videa chybí) v místě, kde bylo video rozděleno na části (např. zhruba každou minutu).

Pokud zvuk na video nesedí, ale nesedí celou dobu, můžete zkusit změnit hodnotu Zpoždění (v ms) poté, co kliknete na zvuk v posledním kroku převodu (např. zkuste +1000 nebo -1000 abyste posunuly zvuk o 1 sekundu zpět nebo vpřed).

Po dokončení procesu pak můžete smazat všechny části, které sloužili pro převod.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..