Прогнозирование выходного размера в лучшем случае приблизительное. Из различных режимов (ABR, CBR, VBR) только CBR (постоянная скорость передачи) имеет прогнозируемый выходной размер. ABR (Adaptive Bit Rate) близок к большей части времени, но в некоторых случаях может сильно отличаться от прогноза. VBR основан на качестве и не может быть предсказан. Есть немного больше информации обо всем этом here.
Для настроек LAMEPreset
(которые переводятся непосредственно из заголовков LAME) настройки ABR_*
просты. Каждый из них является меткой для числа, которое относится к средним килобитам в секунду (Kbps) на выходе. Отношение выход для них является то:
double ratio = ((double)quality * 128)/format.averageBytesPerSecond;
(где quality * 128
обычное байт в секунду)
Остальные настройки производят VBR на различных уровнях. В таблице here показана взаимосвязь между номерами (V0
и V9
) и примерной выходной скоростью передачи. LAMEPreset.V2
, например, производит примерно 190 Кбит/с. В таблице также показаны некоторые из названных пресетов - STANDARD
- это то же самое, что и V2
и т. Д. Как отмечено в исходных комментариях (см. source), указанные пресеты устарели в LAME, я просто не стал их отмечать как таковые ,
Полный список настроек, которые использует каждый пресет, смотрите на LAME Source, в частности на метод apply_preset
(строка 320).