Jsem rád, že se to povedlo
Někdy ve starých verzích ffmpegu (10let+) byl option -sameq, který se snažil nastavit stejný kvanitzér (degradaci) jako u vstupního souboru. Ale s různými kodeky a reprezentacemi toho kvantizéru to nedávalo moc smysl, v nějakých přechodových verzích tam ten option zůstal, a jen se ignoroval, pak ho vyhodili úplně.
Tzn. obecně platí, že pokud žádným způsobem nenastavíte bitrate nebo kvalitu, používá se jen nějaká výchozí hodnota. Nemá to žádnou vazbu na vstupní soubor, pokud tam není třeba nějaká heuristika pro výchozí nastavení v případě externí knihovny (co by mohla např. mít různé výchozí hodnoty podle rozlišení obrazu).
S tím NVENCem je to pak tak, že když se neuvede vůbec žádné nastavení bitrate, tak se použije cílové nastavení 2M jako průměrný bitrate.
https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/HEAD:/libavcodec/nvenc_hevc.c#l235Zajímavý objev s tím, když nastavíte bitrate -b:v 0, to mě nikdy nenapadlo testovat
V kódu je podmínka, že pokud bitrate nemá hodnotu vyšší než nula, tak se to ignoruje a nenastaví se ni. Tzn. kodér (NVENC knihovna) pak jede v implicitním režimu rc CQ. U mě (Quadro Pascal čip) to pak s -b:v 0 produkuje stejný výsledek jako kdybych použil -cq 1.
Tak veselé kódování