Twitch RTMP URL і ключ трансляції: rtmp://live.twitch.tv/app
Де Twitch тримає два значення, потрібні вашому енкодеру, якими мають бути налаштування навколо них і що змінюється, коли та сама трансляція йде ще й на YouTube чи Kick.
Twitch потребує від енкодера двох значень: адреси ingest і ключа трансляції. Адреса, яку цитує кожен гайд, - rtmp://live.twitch.tv/app, і вона досі працює, але це вже не та адреса, яку видає сам Twitch. Власний список ingest-серверів Twitch відповідає rtmp://ingest.global-contribute.live-video.net/app плюс перелік регіональних серверів за пріоритетом.
Суперечності тут немає. live.twitch.tv - це CNAME на ту саму мережу: виконайте dig +short live.twitch.tv і побачите g.contribute.live-video.net. Обидві назви приймають з'єднання на порту 1935. Далі - де лежить кожне значення, чого Twitch очікує навколо них і які помилки лише виглядають як неправильна адреса.
Де знайти ключ трансляції та RTMP URL для Twitch
Ключ лежить у Creator Dashboard. Адреса - у публічному списку, для якого не потрібен вхід.
Скопіюйте ключ у Creator Dashboard
Він належить вашому каналу і не змінюється, доки ви самі його не скинете.
- Відкрийте dashboard.twitch.tv під тим каналом, який виходитиме в ефір.
- Settings → Stream. Перший блок - Primary Stream key.
- Натисніть Copy. Twitch ховає ключ за кнопкою Show, бо це пароль, а не ідентифікатор.
- Скиньте його, якщо він колись потрапляв у скріншот, повідомлення в Discord чи сторонній сервіс, яким ви більше не користуєтесь.
Візьміть адресу зі списку ingest-серверів Twitch
Twitch публікує всі точки входу у форматі JSON, відсортовані під ваше розташування.
- ingest.twitch.tv/ingests - звичайний JSON, без входу й акаунта.
- У кожному записі є
url_templateіurl_template_secure, а плейсхолдерstream_keyпозначає місце для вашого ключа. rtmp://ingest.global-contribute.live-video.net/app- типова адреса без прив'язки до регіону; регіональні мають виглядrtmp://euc10.contribute.live-video.net/app.rtmp://live.twitch.tv/app- стара назва тієї самої мережі, вона продовжує працювати.
Вставте обидва значення в енкодер
Більшість енкодерів чекають адресу і ключ в окремих полях.
- В OBS: Settings → Stream → Service Twitch, далі Connect Account або Use Stream Key.
- Усе, що не OBS, зазвичай означає Service: Custom - адреса в поле Server, ключ у Stream Key.
- Склеювати їх вручну варто, лише якщо поле просить одну URL:
rtmp://ingest.global-contribute.live-video.net/app/ВАШ-КЛЮЧ. - Ніколи не вставляйте склеєну URL у поле, яке просило лише ключ.
url_template_secure - RTMPS на порту 443, - коли мережа блокує 1935. Той самий ingest, лише шифрований транспорт.Налаштуйте енкодер так, як просять рекомендації Twitch
Два пункти з цих ingest не просто радить, а вимагає.
- Контроль бітрейту CBR, не VBR.
- Keyframe Interval 2 секунди - не «auto».
- Бітрейт 6000 kbps для 1080p60, менше - якщо ваш аплоад його не тримає.
- Енкодер x264 у режимі veryfast або NVENC / AMF / Apple VT, якщо вони є в машині.
З чого складається ingest-адреса Twitch
Склеєні в один рядок, адреса і ключ мають такий вигляд:
rtmp://ingest.global-contribute.live-video.net/app/live_123456789_aBcDeFgHiJkLmNoPqRsrtmp://- схема RTMP, типово порт 1935. Близнюкrtmps://працює на 443 і саме його варто брати в обмеженій мережі.ingest.global-contribute.live-video.net- Ingest Server. Типовий для Twitch; регіональні записи змінюють лише цей хост./app- назва застосунку. Однакова на кожному ingest Twitch, і на Kick теж, бо обидва стоять на тій самій мережі Amazon IVS.live_123456789_…- Stream Key. Число - це id вашого каналу, решта - секрет.
Одні енкодери беруть увесь рядок, інші хочуть два поля. На дроті це той самий запит.
Яких налаштувань енкодера очікує Twitch
Рекомендації Twitch для трансляцій напрочуд конкретні - там опублікована таблиця під кожну роздільність, - і до двох значень ingest ставиться без поблажок.
- Контроль бітрейту: CBR. Ingest чекає рівномірного потоку; VBR - це стрибки на графіку бітрейту і буферизація під навантаженням.
- Бітрейт: 6000 kbps для 1080p60, 4500 для 1080p30 і для 720p60, 3000 для 720p30. Це власні опубліковані числа Twitch, і це стелі, а не цілі.
- Keyframe Interval: 2 секунди. Глядач заходить у стрім лише з ключового кадру, а нерівномірні кадри ламають драбину Transcoding.
- *Енкодер: x264 у діапазоні від veryfast до medium, profile Main або High*, або NVENC на пресеті Quality з 2 B-кадрами. Twitch публікує обидва профілі.
- Звук: AAC-LC, стерео або моно. Twitch радить 96 kbps для максимальної сумісності й обмежує стелею в 160 kbps; вище вигоди немає.
Перш ніж звинувачувати адресу, перевірте перший і третій пункти: «auto» в інтервалі ключових кадрів і бітрейт, більший за реальну пропускну здатність, дають більшість помилок нижче.
Що правила Twitch дозволяють робити з цим ключем
Ключ ваш, а от куди ще може йти та сама трансляція - це питання політики, і Twitch відповідає на нього у власному FAQ про симулкаст.
- Simulcasting дозволений, і всім. Правила Twitch поширюються на всіх стрімерів, «якщо у вас немає угоди з Twitch, яка вимагає ексклюзивності», - а в разі порушення Twitch каже, що спершу надсилає попередження, і лише потім вживає заходів.
- Досвід на Twitch не має бути гіршим. Власний приклад Twitch - зменшити картинку або інакше погіршити якість відео саме на Twitch порівняно з платформами, що йдуть поруч.
- Трансляція обмежена 48 годинами. Twitch пише це прямо - «the maximum broadcast length is 48 hours. This cannot be changed», - тож по-справжньому цілодобовий канал на Twitch це не один довгий стрім, а стрім, який має повертатися кожні дві доби. Поведінка при перепідключенні залежить від енкодера.
- Посилатися на інші платформи можна, зганяти туди глядачів - ні. Посилання в біо і панелях дозволені прямо. Активно закликати глядачів піти на паралельний ефір - ні, і Twitch перелічує, що саме це означає: банери, QR-коди, назви трансляцій, сповіщення про вихід в ефір і команди в чаті. Інструменти, які об'єднують активність кількох платформ, включно з чатом, дозволені «для власного користування».
- Twitch Affiliate - це те, що відкриває монетизацію, і поріг нижчий, ніж досі пишуть у більшості гайдів: 25 фоловерів, 4 години ефіру, 4 різні дні трансляцій і в середньому 3 одночасні глядачі - усе в межах одного 30-денного вікна, плюс двофакторна автентифікація на акаунті.
Що кажуть правила кожної платформи про одну трансляцію на Twitch, YouTube і Kick одночасно - у гайді про мультистрімінг.
Помилки, які люди справді вставляють у пошук
Три з цих чотирьох не мають стосунку до адреси - тому зміна адреси їх і не лікує.
«Failed to connect to server»
Енкодер не дістався до ingest. Це відповідь мережі, а не відмова за ключем.
- Спробуйте адресу
rtmps://на порту 443 - 1935 заблокований у багатьох офісних, університетських і готельних мережах. - Поверніться на типовий ingest Twitch, якщо закріплювали регіональний.
- Перевірте, чи не тримає з'єднання VPN, фаєрвол або правило QoS на роутері.
nc -z live.twitch.tv 1935з тієї самої машини відповідає на це питання за секунду.
«Invalid stream key» або «Failed to authenticate»
З'єднання дійшло до Twitch, і Twitch відмовив за ключем. З адресою все гаразд.
- Скопіюйте ключ ще раз - зазвичай винен пробіл у кінці.
- Переконайтеся, що він з того каналу, з якого ви збиралися вийти в ефір.
- Якщо ключ десь скидали - хто завгодно і де завгодно, - старий помер миттєво.
- Перевірте, чи не потрапила склеєна URL у поле для ключа.
Втрачені кадри або червона смуга в панелі стану стріму
Dropped Frames означають, що мережа не витягла того, що видав енкодер.
- Зменшіть бітрейт на 20% і подивіться, чи зникне смуга.
- Візьміть кабель. Wi-Fi - найчастіша причина і найважча для помічання.
- Поверніться на типовий ingest, якщо закріплювали далекий.
- Якщо кадри втрачає один напрямок, а решта чисті, підозрюваний - маршрут до цього ingest, а не енкодер.
Стрім в ефірі, але в глядачів немає вибору якості
Немає Transcoding: усі дивляться вихідну доріжку.
- Транскодування гарантоване для Partner, решті його дають лише за наявності вільних потужностей.
- У налаштуваннях енкодера це не вмикається.
- Тільки вихідна якість означає, що глядачеві зі слабким з'єднанням немає куди опуститися, - ще одна причина тримати бітрейт розумним, а не максимальним.
Як тримати стрім на Twitch цілодобово
Усе вище припускає енкодер на вашій машині. Для однієї сесії це нормально, для каналу, який має бути в ефірі завжди, - незручно: комп'ютер має працювати, з'єднання - триматися, а системне оновлення о 04:00 обриває трансляцію.
Хмарний варіант використовує ті самі два значення, лише в іншому місці. TheLoops зберігає ваші відео, кодує їх у дата-центрі і підключається до того самого ingest із тим самим ключем. Ваше з'єднання один раз вивантажує файл і далі не несе нічого.
Оскільки кодування відбувається один раз, а пакети копіюються (Fan-out), та сама трансляція може йти на Twitch, YouTube і Kick разом, не множачи ваш аплоад. Напрямків на одну трансляцію: 1 на безкоштовному плані, далі 3, 6 і 10 зі зростанням тарифу; деталі - на сторінці тарифів.
Тримайте стрім на Twitch в ефірі цілодобово
Завантажте відео один раз, вставте ключ і хай працює - на Twitch і на кожній іншій платформі, ключ від якої у вас є.
Питання про RTMP на Twitch
rtmp://ingest.global-contribute.live-video.net/app - це те, що власний список ingest-серверів Twitch повертає як типову адресу. rtmp://live.twitch.tv/app - стара назва тієї самої мережі: це CNAME на g.contribute.live-video.net, тож обидві ведуть на ті самі сервери. Повний список за пріоритетом, із варіантом rtmps:// для кожного запису, публічно доступний за адресою ingest.twitch.tv/ingests.
Creator Dashboard → Settings → Stream → Primary Stream key, за кнопкою Show. Копіюйте його, а не переписуйте, і скидайте, якщо він колись був видимий в ефірі: будь-хто з ним може транслювати на ваш канал.
Так. Правила симулкасту Twitch поширюються на кожного стрімера, якщо у нього немає угоди з Twitch про ексклюзивність, а YouTube взагалі не публікує обмежень на симулкаст. Умови Twitch такі: досвід на Twitch не має бути гіршим - їхній приклад це гірша якість відео саме там, - і не можна активно закликати глядачів Twitch піти на паралельний ефір, чи то банерами, QR-кодами, назвами трансляцій, сповіщеннями про вихід в ефір, чи командами в чаті. Посилатися на інші свої платформи в біо чи панелях прямо дозволено, як і користуватися інструментами, що зводять чати кількох платформ, якщо це для власного користування.
Так. Кожен запис у списку ingest-серверів Twitch має поле url_template_secure з адресою rtmps://, яка працює поверх TLS на порту 443. Беріть її, коли мережа блокує порт 1935, - ingest у будь-якому разі той самий.
6000 kbps для 1080p60 у власних рекомендаціях Twitch, 4500 для 1080p30 і 720p60 та 3000 для 720p30 - усе з CBR та інтервалом ключових кадрів у 2 секунди. Менше краще, ніж нестабільно: бітрейт, який не тримає ваш аплоад, дає втрачені кадри, а не-Partner не мають гарантованого транскодування, тож глядачам немає на що перемкнутися. Калькулятор бітрейту рахує це з виміряної швидкості вивантаження.