Перейти до основного вмісту

Bitrate для цілодобового стріма на YouTube

YouTube публікує один набір чисел для live-стрімінгу. Їх писали для трансляції, яка закінчується. Стріму, що не зупиняється, ті самі числа треба читати інакше.

Оновлено: October 202610 хв читання

Майже кожна стаття про bitrate переказує рекомендовану таблицю YouTube і на цьому закінчується. Таблиця правильна, але вона відповідає на питання, якого більшість цілодобових стрімерів не ставить: скільки надсилати для трансляції, за якою я сиджу і спостерігаю?

Стрім, що працює тижнями, — інша задача. Він має пережити найгіршу хвилину кожного дня, а не добре виглядати в середньому, і контент у ньому зазвичай зациклений, а не живий. Обидва факти зсувають правильну відповідь нижче за рекомендовану. Нижче — логіка, з опублікованими числами YouTube як відправною точкою.

Офіційні числа YouTube

Ці значення взяті зі сторінки налаштувань live-енкодера YouTube. Це рекомендації для H.264 — кодека, який YouTube вимагає як базовий.

Рекомендований відео bitrate за роздільністю та частотою кадрів:

  • 2160p (4K) при 60 fps — 35 Mbps
  • 2160p (4K) при 30 fps — 30 Mbps
  • 1440p при 60 fps — 24 Mbps
  • 1440p при 30 fps — 15 Mbps
  • 1080p при 60 fps — 12 Mbps
  • 1080p при 30 fps — 10 Mbps
  • 720p при 60 fps — 6 Mbps
  • 720p і нижче при 30 fps — 4 Mbps

З аудіо простіше: 128 kbps для стерео, 384 kbps для 5.1 surround. Приймаються AAC або MP3, але для 5.1 через RTMP чи RTMPS потрібен саме AAC.

Ставтеся до відеозначень як до верхньої межі діапазону, а не як до цілі. YouTube перекодовує все, що отримує, тож надсилання більшого за рекомендоване не дає пропорційно кращої картинки — переважно воно дає більший і крихкіший стрім.

Що змінюється, коли стрім не закінчується

Двогодинна трансляція вдається, якщо канал був добрим дві години. Безперервний стрім вдається, лише якщо канал добрий у найгірший свій момент за тижні — а найгірший момент є в кожного каналу.

Три причини триматися нижче рекомендованого значення

  • Запас на погані хвилини. Запускаються бекапи, хтось дивиться фільм, провайдер перебудовує маршрут. Стрім, налаштований на межі можливостей каналу, губить кадри щойно зʼявляється будь-що інше; налаштований із запасом просто працює далі.
  • Тривале навантаження, а не пікове. Кодувати годину й кодувати три тижні — різні вимоги до того самого заліза. Тротлінг через нагрів і тиск на памʼять проявляються на таких проміжках, до яких короткий тест ніколи не доходить.
  • Зациклений контент стискається краще. Більшість цілодобових стрімів показують ambient-кадри, статичну сцену, повільні візуали чи музичний візуалізатор. Такому матеріалу потрібно значно менше біт, і повний рекомендований bitrate не змінить нічого, що глядач здатен побачити.

Практичне правило, яке добре тримається: візьміть рекомендоване значення для вашої роздільності, надсилайте близько 70–80% від нього й переконайтеся, що це число з запасом менше за половину виміряної стабільної швидкості віддачі. Якщо ці дві умови суперечать — виграє канал.

Це ж і аргумент за те, щоб стрімити з інфраструктури, а не з домашнього інтернету. Стрім із дата-центру не конкурує з чиїмись вечірніми відеодзвінками.

CBR, VBR і чому тут це важливіше

Constant bitrate надсилає рівний потік даних незалежно від того, що на екрані. Variable bitrate витрачає більше на складні кадри й менше на прості. Для кодування файлів VBR зазвичай кращий вибір; для live-стрімінгу логіка перевертається.

Live ingest розрахований на передбачувану швидкість. При VBR раптова складна сцена дає сплеск, який може перевищити те, що канал здатен пропустити саме в цю мить, і результатом стануть втрачені кадри, а не трохи більший файл. CBR прибирає цей клас відмов, бо просто не дає сплесків.

На зацикленому цілодобовому стрімі аргумент за CBR ще сильніший, бо контент ви вже знаєте. Немає несподіваного вибуху руху, під який треба закладати бюджет — те саме відео грає знову і знову, — тож гнучкість VBR не дає нічого, а її ризик лишається.

Якщо ваш енкодер показує buffer size поруч із бітрейтом, встановити його рівним бітрейту — звична відправна точка, яка тримає вихід справді близьким до постійного.

Keyframes і стеля в 4 секунди

Налаштування енкодера від YouTube формулюють keyframe interval прямо: рекомендовано 2 секунди, не перевищуйте 4 секунди. Це не порада в тому сенсі, в якому порадою є bitrate. Понад 4 секунди YouTube не може коректно нарізати стрім на сегменти, і трансляція може взагалі не стартувати.

На довгограючому стрімі виникає спокуса підняти інтервал: менше keyframes — менше біт на них. Не варто. Економія мала, стеля жорстка, а стрім, який пропрацював два тижні, — дороге місце, щоб виявити проблему з сегментацією.

Дві секунди — правильна відповідь практично для будь-якого цілодобового стріма. Значення лишається всередині ліміту із запасом і тримає коротким час до появи картинки в нового глядача.

Якщо стрім не стартує, а решта налаштувань виглядає правильно, keyframe interval варто перевіряти одним із перших — його симптоми зовсім не схожі на проблему з keyframes. Решту діагностики описано в гайді про «no data».

Вибір роздільності для зациклених відео

Роздільність впливає на bitrate сильніше за будь-яке інше налаштування, тож чесний її вибір — найбільша доступна економія. Питання не в тому, який у вас вихідний файл, а в тому, що насправді потрібно контенту.

Як поводяться типові категорії цілодобових стрімів:

  • Статичні або майже статичні сцени — камін, акваріум, таймер зворотного відліку, lofi-луп із нерухомою картинкою. 1080p при 30 fps — щедро; 720p часто взагалі не відрізнити.
  • Повільні ambient-кадри — прогулянки містом, природа, spa-візуали. 1080p при 30 fps із помірним бітрейтом тримається добре.
  • Швидкий рух — ігрові хайлайти, спорт, будь-що зі швидким монтажем. Це єдина категорія, де рекомендоване значення справді відпрацьовує себе.
  • Стріми навколо звуку — радіо, розмовні, музика з мінімальним відео. Витратьте бюджет на стерео 128 kbps і без вагань знижуйте роздільність відео.

До 60 fps варто ставитись особливо скептично. Це приблизно подвоює рекомендований bitrate і нічого не дає статичній сцені. Якщо контент справді не рухається швидко, 30 fps — вигідніший обмін.

Порахувати це під власні числа можна калькулятором бітрейту, а перевірити підсумкові розміри файлів — калькулятором розміру файлу, якщо сховище має значення.

Як порахувати власне число

Чотири кроки по порядку. Разом це близько десяти хвилин, і краще зробити це один раз як слід, ніж багато разів навмання.

1

Виміряйте стабільну віддачу, а не пік

Запустіть тест віддачі кілька разів протягом дня, включно з найзавантаженішою годиною. Значення має найнижчий результат — саме його стріму доведеться переживати.

  • Тестуйте ввечері, якщо канал спільний із рештою домогосподарства.
  • Записуйте найнижче стабільне значення, а не найкраще.
  • Кабель відчутно стабільніший за Wi-Fi для безперервного стріма.
📏Один тест у спокійний момент майже нічого не каже про те, що стрім переживе вночі.
2

Поділіть навпіл

Візьміть за стелю половину від цього найнижчого виміру. Відео — не єдине, що користується каналом, а стріму на 90% від ємності нема куди відступати, коли зʼявляється щось іще.

  • Половина — робоче правило, а не закон, але понад 70% — це вже запрошення до втрати кадрів.
  • Памʼятайте, що аудіо додає 128 kbps понад відеозначення.
  • Накладні витрати самого протоколу невеликі, але не нульові.
➗Якщо половина вашої віддачі не тягне 1080p — чесна відповідь стрімити 720p, а не сподіватись.
3

Зіставте зі справді потрібною роздільністю

Порівняйте цю стелю з рекомендованим значенням YouTube для тієї роздільності, на яку контент заслуговує, і візьміть менше з двох.

  • Статичний контент: розгляньте 720p при 30 fps і перестаньте перейматися каналом.
  • 1080p при 30 fps і приблизно 7–8 Mbps — розумна ціль для безперервного стріма.
  • Якщо канал диктує нижчу роздільність, знижуйте роздільність, а не недогодовуйте вищу.
🖥️Недогодований 1080p виглядає гірше за добре забезпечений 720p. Глядач помічає артефакти, а не кількість пікселів.
4

Прожене повну добу, перш ніж довіряти

Конфігурація, що працює десять хвилин, не каже нічого. Дайте їй пройти через піковий період і подивіться на лічильник dropped frames після цього.

  • Будь-які стабільні dropped frames означають, що bitrate усе ще завеликий для каналу.
  • Перевірте, чи не групуються провали в певний час — це вказує на щось заплановане.
  • Змінюйте по одній змінній за раз, інакше не зрозумієте, що саме допомогло.
⏳Лічильник dropped frames через добу — єдиний тест, який щось означає.

Або взагалі не займатися підбором

Завантажте відео — ми кодуємо й стрімимо його зі своєї інфраструктури: без ліміту домашньої віддачі, без тротлінгу й без втрачених кадрів о девʼятій вечора.

✓Стрім із дата-центру, а не з вашого каналу
✓Автоматичний перезапуск, якщо стрім упав
✓Безкоштовний тест, без картки
Почати безкоштовно

Часті питання

YouTube рекомендує 10 Mbps для 1080p при 30 fps. Для безперервного стріма кращою ціллю буде приблизно 7–8 Mbps: це лишає запас на моменти, коли канал зайнятий, а на статичному чи повільному контенті, типовому для цілодобових стрімів, різниця непомітна. Жорстка умова одна: обране значення має бути меншим за половину найнижчої виміряної швидкості віддачі.

Ні. YouTube перекодовує все, що отримує, тож після певної межі зайві біти відкидаються, а не показуються. Що вищий bitrate дає гарантовано — це більшу ймовірність втрати кадрів, коли канал хитнеться. На зацикленому контенті практична стеля настає значно нижче за рекомендацію YouTube.

CBR. Variable bitrate дає сплески на складних сценах, а сплеск, який перевищує пропускну здатність каналу в цю мить, перетворюється на втрачені кадри. Для зацикленого стріма контент відомий наперед, тож гнучкість VBR не дає виграшу, а ризик лишається.