“Fall through”-tilgangen var det første, jeg kiggede på lige efter jeg havde postet. Det er interessant, og ret smart i den forstand, at den lader dig isolere dine indstillinger pr. format. Desværre er det ikke rigtigt det, jeg har brug for.
Mit problem er, at den samme codec/format findes i flere varianter af antal kanaler. Med Atmos eller DTS er det nærmest givet, at lyden ikke er 2.0, men med EAC3, AC3 eller endda AAC eller Flac kan det både være 2.0 eller 5.1. Så jeg kan falde gennem profilrækkefølgen, indtil jeg rammer en for, lad os sige AAC, men så har jeg ingen måde at vide, om det er AAC 2.0 eller 5.1, osv. Kort sagt: at isolere en codec er ikke det, jeg har brug for. Jeg skal finde ud af, om streamen er 2.0 eller surround, og så lade MCEbuddy justere indstillingerne automatisk.
MCEbuddy har indbygget en mekanisme til at finde ud af 2.0 vs. 5.1, men den virker kun med AC3. Eksempelvis tog jeg den samme profil, du postede ovenfor, og ændrede ffmpeg-audio til 192, da det passer bedre til stereo end 384.
order=handbrake,ffmpeg
handbrake-unsupported=dts
handbrake-audio=-E copy
handbrake-audioac3=-E copy
ffmpeg-audio=-acodec ac3 -ab 192k
ffmpeg-audioac3=-acodec ac3 -ab 384k
Hvis jeg bruger disse indstillinger og fodrer den med en EAC3 5.1-fil, vil den lave en fil med 192k lyd. Hvis outputformatet var sat til AAC, ville den give 256k lyd, osv.
Det samme gælder AAC 2.0 vs. 5.1 osv. AC3 virker som forventet, da logikken kun er indbygget for den, og den vil lave 192k 2.0 eller 384k 5.1. Kort sagt: med alt andet end AC3 ignoreres ffmpeg-audioac3-linjen fuldstændigt og har ingen effekt på konverteringen; kun ffmpeg-audio-linjen bruges af MCEbuddy. Hvis du har krydset “surround sound”-boksen af i GUI’en, vil MCEbuddy tilføje et -6ch-flag til ffmpeg-audio-linjen og behandle det som dine surround-indstillinger.
I mit eksempel brugte jeg 192k til 2.0-output og 384k til 5.1-output. Eftersom AAC ikke er AC3, vil MCEbuddy ignorere ffmpeg-audioac3=-acodec ac3 -ab 384k og i stedet bruge ffmpeg-audio=-acodec ac3 -ab 192k. Hvis jeg har krydset surround af i GUI’en, tilføjes -6ch-flaget, og jeg ender med noget som ffmpeg-audio=-acodec ac3 -ab 192k -6ch. Hvis output også er AAC, aktiveres en slags intern failsafe, der ikke tillader 5.1 mix på 192k; den hæver automatisk bithastigheden til 256k (minimum for AAC 5.1). Så ender jeg med en 256k 5.1-fil. Jeg er ikke sikker på, om den gør det samme for andre formater.
Ideelt set ville det være fantastisk, hvis ffmpeg-audioac3 kunne fungere som “catch-all”-indstilling for al surround, ikke kun AC3, mens ffmpeg-audio så ville håndtere al 2.0-mix. Men den funktion findes ikke. At finde en workaround har indtil videre vist sig udfordrende.