Teď jsem se ještě kouknul na samotný zápis parametrů - chceš mi říct, že zobrazíš obrázek a k němu přehraješ zvuk, řekněme každých cca 1,5 sekundy?
Proč to už dávno neřešíte zachytávací kartou a programem, který to (ten jpeg a wav) jednoduše nepošle jako obraz/zvuk do HDMI, který se rovnou hardwarově zkompresuje? Dál ale nechápu, v čem je problém, když konverze 10s trvá jen 1,5s? To je skoro 10x rychlejší než realtime. Nebo co vám vlastně vadí, těch 50% vytížení? Pak si pohrajte s volbou --threads, i když netuším, jak moc jde vythreadovat statický obraz..
Spíše bych to ale viděl na zcela rekurzivní volání stále stejného procesu, který má "přidávat" frames do již existujícího videa (pokud jsem pochopil správně), což bude ale IMHO generovat docela velký overhead na souborových operacích.