Vých. situace: Máme mnoho souborů které chceme zpracovat v Avidemuxu. Jak na to:
Otevřeme Avidemux.
Načteme jeden ze souborů.
Nastavíme co je potřeba (typ konverze, filtry atd.)Potom:Soubor > Skript projektu > Uložit jako projekt.
Uloží se jako soubor *.pyTento soubor otevřeme v txt editoru (gedit) a odstraníme vše mezi řádky "adm = Avidemux()" a "adm.setPostProc(3, 3, 0)"
Soubor uložíme pod názvem
my_edit.pyVlastní příkaz ke hromadnému zpracování pak bude
avidemux2.7_cli --load input_file --run "/cesta/k/my_edit.py" --save output_file --quit >nul
Je možno vytvořit nautilus (nemo, caja) skript (loop)
for f in "$@"; do
avidemux2.7_cli --load "$f" --run "/cesta/k/my_edit.py" --save "${f%.mp4}_EDIT.mp4" ; done
Který převede všechny vybrané soubory. Příponu je samozřejmě možné dle potřeby libovolně měnit.
Rovněž je třeba napsat
skutečnou verzi avidemuxu.
Kdo má avidemux jako snap, ta je to o něco složitější (cesta k avidemux_cli). Ale funguje to stejně.
Obdobné je to s Handbrake. Ten na rozdíl od Avidemuxu umožňuje konverzi "tzv. lepších" audio stop (FLAC@24 DTS-HD-MA, EAC3, ATMOS...).
Nicméně na rozdíl od Avidemuxu nelze konvertovat pouze audiostopu (video passthroug).
Toto lze obejít "podstrčením" (empty) video stopy o velikost 1x1 pixel do kontejneru, provedením běžné a+v konverze (je to rychlé) a následným remuxem zkonvertovaného audia + pův. videa (mkvtoolnix).
Empty video je v příloze. Stačí jím v mkvtoolnixu nahradit pův. videostopu. Po konverzi v handbrake tam opět muxnout pův. videostopu.
Popis příkazu + loop pro handbrake v případě zájmu doplním....
for f in "$@"; do
HandBrakeCLI --preset-import-file /cesta/k/preset.json -Z "H.264 MKV 576p25 preset" -i "$f" -o "${f%.mp4}_EDIT.mp4" ; done
Ještě praktická poznámka závěrem:Samozřejmě, ne všechna zařízení (přehrávače) umí přehrát nejnovější zvukové formáty. Pak je nutná úprava/konverze.
U DTS HD MA je situace jednodušší - tato verze vždy obsahuje tzv. CORE (= obyčejné DTS) které lze jednoduše vyseparovat (mkvtoolnix, tsmuxer, eac3to).
Ale Dolby digital+ (EAC3) vrstvu "core" obsahovat nemusí (a většinou ani neobsahuje). Pak "separace" selže (není co separovat).
Co teď?
Řešení je konverze pomocí ffmpeg:
1. Pokud je stopa Dolby Digital ATMOS, tak příkaz na převod (ATMOS > EAC3) je (video zůstane netknuto):
ffmpeg -i "input.mkv" -map 0 -c copy -bsf:a truehd_core "output.mkv"
2. Pokud dané zařízení neumožňuje ani přehrání EAC3, tak další příkaz pro převod (EAC3 > AC3@640):
ffmpeg -i "input.mkv" -map 0 -c:v copy -c:a ac3 -b:a 640k "output.mkv"
Samozřejmě, kdo má materiál se zvukem EAC3 (ne ATMOS), použije pouze druhý příkaz..
Úspěšně odzkoušeno na "R. Waters Us&Them 2019", kvalita i po převodu výborná (samozřejmě originální ATMOS je o něčem jiném, ale zase ne každý má na to HW...).
![Mrknutí ;)](https://forum.ubuntu.cz/Smileys/default/wink.gif)