Це дійсно залежить від швидкості завантаження.
bufsize
визначить, наскільки релігійний ffmpeg полягає в тому, щоб підтримувати бітрейт постійним. Якщо встановити bufsize
64k, відповідно до Wiki FFmpeg: Обмеження вихідного бітрейту , він обчислює його поточний бітрейт кожні 64 кілобайти та коригує відповідно. Менші розміри bufsize
можуть бути шкідливими для якості, оскільки вони не дають достатньо місця між чеками для x264, щоб зробити різкі зміни - ви отримаєте блокаду.
Якщо ваш maxrate
640kbps, а ваш bufsize
64k, то кожну десяту частину секунди x264 перевірить. Це неоптимально - FFmpeg Wiki: Кодування для потокових сайтів рекомендує запускати його кожні 1 - 2 секунди. Якщо це не мало сенсу, подумайте про це як maxrate
/ bufsize
= частоту перевірок. Тримайте цю частоту, як правило, від 1 до 2 секунд.
Якщо ви встановите і те, maxrate
і bufsize
вам, слід:
- встановити
maxrate
будь-яку найменшу швидкість завантаження (на прикладі вікі ffmpeg , це 80% загальної швидкості завантаження, але ваш пробіг може змінюватися).
- встановити
bufsize
десь між тим самим, що і ваш maxrate
(одну секунду) та двічі maxrate
(2 секунди). Якщо це все ще недостатньо низько, опустіть maxrate
і потім перевстановіть bufsize
відповідно.
Тоді вам доведеться трохи пограти, але так як ви повинні почати десь, я просто почав би maxrate
близько 600 кілометрів, що, як правило, вистачало мені ще до того, як я crf
все використовував .
Якщо ви хочете, ви можете спробувати нижчі значення bufsize
, як кожні три-чотири секунди, просто щоб побачити, як значення змінюється, як виглядає ваш вихід. Тоді ви можете визначити, скільки ви повинні турбуватися про це для свого відео.
Насправді немає нормальної величини, а саме - crf
оптимізувати вихід на основі того, що, на його думку, є найкращим розміром буфера для підтримання того, на що встановлено його швидкість. Він намагається зберегти якнайменший розмір файлу, зберігаючи деяку якість, ціною випадкових шипів.