close menu

Повний посібник з RTMP: що це таке і коли його використовувати?

Complete Guide To RTMP

Протокол обміну повідомленнями в реальному часі (RTMP) - це широко використовуваний потоковий формат. Він існує вже багато років і став важливим інструментом для мовників, мережевих операторів та багатьох інших галузей. Однак деякі хибні уявлення про RTMP зробили його менш популярним, ніж він міг би бути.

Але що таке RTMP? Як він працює? І чи варто використовувати його для наступного прямого ефіру?

Про це та інше - нижче.

Що таке RTMP?

RTMP - це мережевий протокол або система, що використовується для передачі медіа-контенту через Інтернет на основі технології Transmission Control Protocol (TCP).

TCP є одним з компонентів, що складають набір інтернет-протоколів. Іншим важливим компонентом є інтернет-протокол, також відомий як IP.

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

Разом TCP і IP діють як комунікаційні мости між прикладним і мережевим рівнями. Подумайте про це так: прикладний рівень охоплює те, з чим ви зазвичай взаємодієте, наприклад, браузер Mozilla Firefox або будь-яку іншу програму користувача.

Для того, щоб браузер Firefox завантажив веб-сторінку, він повинен надіслати запит на сервер веб-сайту. Отримавши запит, сервер надсилає запитуваний ресурс (тобто відеопотік, попередньо записане відео на YouTube або Html-код веб-сторінки).

Для підтримки ефективного зв'язку (тобто, щоб уникнути втрати або затримки кореспонденції), повідомлення повинно бути розбите на менші частини, відомі як пакети. Це робиться на стороні відправника, а після отримання повідомлення воно знову збирається для користувача.

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

Рівень IP виступає в ролі агента переадресації, який визначає найкращі маршрути для передачі пакетів через Інтернет.

Протокол RTMP використовується багатьма популярними медіаплеєрами, зокрема Adobe Flash Player, VLC Media Player, QuickTime Player та Windows Media Player. RTMP також підтримується деякими веб-браузерами, включаючи Google Chrome та Mozilla Firefox.

Для більшості користувачів потокового рішення першочерговим питанням є те, як воно забезпечує передачу контенту. Якщо якість роздільної здатності потокового мовлення низька, це стане вирішальним фактором для більшості споживачів. Аналогічно, потокове рішення з високою затримкою і буферами або занадто довгим завантаженням перед відтворенням контенту не буде мати хороших результатів.

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

Ще одним плюсом RTMP є його здатність підтримувати масове потокове мовлення одночасно і без особливих проблем.

Однак, незважаючи на те, що RTMP існує вже багато років, останнім часом вона потрапила під посилену увагу через те, що система є небезпечною для її користувачів.

Ось як з'являється вразливість (вразливості) безпеки:

По-перше, протокол RTMP не має вбудованого шифрування. Тому будь-яка комунікація або передача пакетів під час використання RTMP відкрита для прослуховування несанкціонованими групами або атаками типу "людина посередині".

Ще одним фактором, який сприяв вразливості RTMP, є те, що його вихідний код тривалий час був пропрієтарним. Пропрієтарне програмне забезпечення (тобто програмне забезпечення, права власності та контролю над яким обмежені суб'єктом, який його розробив або придбав) зазвичай отримує патчі безпеки, які регулярно випускаються, але цього недостатньо.

Нові вразливості з'являються часто, а спільнота, побудована навколо програмного забезпечення з відкритим вихідним кодом, гарантує відносно частіші та якісніші виправлення безпеки. Це те, що RTMP упустила для посилення своєї безпеки.

Спробуйте пряму трансляцію Wave.video

Надійна і проста у використанні мультистрімінгова платформа для стримерів будь-якого рівняСпробуйте зараз

Варіації RTMP

До варіацій RTMP відносяться наступні:

  • Real-Time Messaging Protocol Server (RTMPS) - схожий на RTMP, тільки з шифруванням, тобто з включеними захищеними сокетами (SSL) і захистом транспортного рівня (TLS), і підтримує всі плеєри з включеним Flash-плеєром. Він використовується в сценаріях, де життєво важливо запобігти фальсифікації або несанкціонованому доступу до даних під час передачі.
  • Encrypted Real-Time Messaging Protocol (RTMPE) - це дуже універсальний потоковий протокол, який використовує для передачі даних як протокол управління транспортом (TCP), так і протокол користувацьких дейтаграм (UDP). RTMPE також шифрує всі передачі даних за допомогою власного шифрування Adobe, щоб уникнути несанкціонованого доступу та втручання.
  • Тунель протоколу обміну повідомленнями в режимі реального часу (RTMPT ) - RTMPT використовує механізм тунелювання для обходу брандмауерів, які зазвичай блокують весь RTMP-трафік. На практиці RTMPT вимагає, щоб клієнт відправляв модифікований HTTP-запит на сервер, який відповідає майже аналогічною передачею HTTP. Клієнт і сервер використовують ідентифікатор сеансу; після встановлення з'єднання між ними може початися передача даних.
  • Real-Time Media Flow Protocol (RTMFP) - RTMFP є вдосконаленою версією RTMP, оскільки використовує інший формат кодування UDP для досягнення високої продуктивності потокового передавання медіа.

Історія стрімінгу RTMP

Протокол обміну повідомленнями в реальному часі (RTMP) спочатку був запатентованим протоколом, розробленим компанією Macromedia для потокової передачі аудіо, відео та даних через Інтернет між програвачем Flash і сервером.

RTMP зараз використовується багатьма популярними онлайн-сервісами, такими як Facebook, Twitch і Twitter, для трансляції відео в реальному часі.

Перший публічний реліз RTMP відбувся у 2002 році. У 2009 році компанія Adobe випустила версію RTMP з відкритою специфікацією, відому як OpenRTMP. Основна відмінність між RTMP і OpenRTMP полягає в тому, що з OpenRTMP можна використовувати будь-який медіа-сервер, а не тільки Flash Media Server (FMS).

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

Головний принцип

RTMP використовує техніку, яка називається "потокове передавання" для доставки контенту. Це означає, що дані передаються невеликими частинами, які називаються "фрагментами", які потім знову збираються на іншому кінці, так що користувач може дивитися або слухати контент, не чекаючи його повного завантаження.

Робота RTMP складається з двох частин: Доставка першої та останньої милі.

Доставка "першої милі", як правило, передбачає передачу даних від кодера до сервера з використанням протоколу RTMP. Доставка "останньої милі" - це передача медіа з сервера на пристрій користувача. У цій другій частині використовується Flash-плеєр або не менш потужний інструмент. Є повідомлення, що Adobe припиняє будь-яку підтримку Flash, а отже, це означає кінець доставки "останньої милі".

У відповідь на це галузь перейшла на протокол передачі гіпертексту (HTTP), який є більш ефективним рішенням для потокової передачі даних.

Варіації RTMP, такі як RTMPT, в даний час використовують HTTP для інкапсуляції та передачі мультимедіа.

Як працює RTMP Ingest

Це, мабуть, одна з рятівних граней RTMP, завдяки якій він проіснував так довго. Коли світ перейшов від перегляду медіа на комп'ютерах до перегляду на мобільних пристроях,RTMP зіткнувся з проблемою.

З одного боку, RTMP покладався на програвач Adobe Flash для забезпечення безперебійного потокового мовлення, але виникла невелика проблема. Мобільні пристрої не підтримували програвач Adobe Flash; по суті, RTMP став марним для користувачів, які хотіли мати такі ж потокові послуги на своїх мобільних пристроях.

У відповідь компанія Apple розробила протокол HLS для підтримки функції потокового мовлення на мобільних пристроях.

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

RTMP ingest надає пріоритет недорогим кодерам для роботи і, як правило, пропонує користувачам потокове передавання з низькою затримкою.

Вона включає три основні компоненти:

1. Рукостискання

Коли клієнт хоче підключитися до сервера RTMP, йому спочатку необхідно встановити рукостискання. Цей процес починається з того, що клієнт надсилає серверу запит "connect", який включає інформацію про клієнта та тип з'єднання, яке він намагається встановити.

Потім сервер відповідає повідомленням "підключено", яке містить інформацію про сервер і тип з'єднання, яке було встановлено.

Нарешті, клієнт і сервер обмінюються повідомленнями, щоб підтвердити, що вони обидва все ще підключені, і узгодити будь-які параметри, необхідні для з'єднання.

2. Підключення

Основною метою з'єднання RTMP ingest є забезпечення засобів для потокового передавання медіа-контенту від джерела до місця призначення.

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

Є три компоненти з'єднання RTMP, що поглинає, - це з'єднання:

  • Кодер перетворює відео- та аудіосигнал у цифровий формат, який можна передавати через Інтернет.
  • Транспорт: Це середовище, через яке кодований сигнал надсилається від кодера до сервера; як правило, це робиться через UDP або TCP.
  • Сервер отримує закодований сигнал і робить його доступним для глядачів (як правило, упаковуючи його у формат на кшталт Flash).

3. Потокова передача

Коли користувач передає контент на медіа-сервер, сервер повинен спочатку кодувати вхідний відео- та аудіопотік, перш ніж розсилати його всім підключеним клієнтам.

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

Детальніше про потокове мовлення Існує два види потокового мовлення: пряме мовлення та мовлення на вимогу. Під прямим мовленням розуміється мовлення в режимі реального часу, тоді як потокове мовлення на вимогу - це коли користувачі можуть переглядати контент у зручний для них час.

Потокове мовлення в реальному часі вимагає постійного з'єднання між клієнтом і сервером, в той час як потокове мовлення на вимогу - ні.

RTMP використовує TCP для підтримки постійного з'єднання між клієнтом і сервером, що дозволяє здійснювати потокове передавання з низькою затримкою. Однак, RTMP не дуже добре підходить для потокового передавання на вимогу.

RTMP Альтернативи для прийому всередину

SRT і WebRTC є основними претендентами, які можуть відповідати або перевищувати можливості RTMP. Ось короткий огляд цих двох альтернатив:

Безпечний надійний транспорт (SRT)

SRT заповнює прогалини, з якими не міг впоратися RTMP, наприклад, підтримуючи потокове мовлення з низькою затримкою, навіть коли користувач підключений до відносно ненадійної мережі. Це робить його чудовим вибором як для потокового мовлення в прямому ефірі, так і для мовлення на вимогу.

Оскільки він має відкритий вихідний код, межі його можливостей безмежні, і немає жодних побоювань, що підтримка розробки буде припинена.

Веб-комунікації в реальному часі (WebRTC)

WebRTC виграє завдяки публікації на основі браузера. Протокол WebRTC HTTP Ingest Protocol (WHIP) також знаходиться в стадії розробки, і для користувачів це означає, що вони зможуть здійснювати потокову передачу за допомогою лише веб-браузера, замість того, щоб мати справу з кодувальниками, як у випадку з RTMP.

Альтернативи RTMP для евакуації

Першими в списку альтернатив RTMP є HTTP Live Streaming (HLS), MPEG-DASH і WebRTC.

Ось короткий огляд альтернативних варіантів:

HLS і MPEG-DASH

Ці дві технології є практично однаковими, за винятком того, що HLS є пропрієтарною, а MPEG-DASH - з відкритим вихідним кодом.

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

WebRTC також є гідною альтернативою рішенням для евакуації RTMP.

RTMP і Flash вмирають?

Коротка відповідь: напевно, ні. Довга відповідь дещо складніша.

Постійне зростання популярності HTML5 і поширення потужних альтернатив Flash може створити враження, що RTMP і Flash вмирають. Але це не так.

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

Тим не менш, вона все ще має значну присутність в Інтернеті і використовується багатьма популярними сайтами, включаючи YouTube та Facebook.

Що стосується RTMP, то він все ще широко використовується для передачі потокового аудіо- та відеоконтенту. Однак його майбутнє менш визначене, ніж у Flash.

Компанія Adobe оголосила про припинення підтримки RTMP у 2020 році, що може ознаменувати кінець цього протоколу. Тим не менш, існує безліч альтернатив, заснованих на RTMP, тому він, ймовірно, буде продовжувати використовуватися в тій чи іншій формі протягом наступних років.

Отже, чи варто вам транслювати за допомогою RTMP?

Це залежить від ситуації. Погляньте на деякі плюси і мінуси використання RTMP.

Плюси

  • Він дуже стабільний. У порівнянні з іншими альтернативами на ринку, дуже малоймовірно, що під час використання послуги з підтримкою RTMP виникнуть будь-які перебої або простої.
  • Низька латентність і мінімальна буферизація. RTMP є унікальним у цьому відношенні, а це означає, що користувачі можуть переглядати відео в кращій роздільній здатності, а завантаження медіа займає значно менше часу.
  • Сумісність. Міцний і надійний характер RTMPS заохочує все більше виробників розробляти свої продукти для легкої інтеграції з RTMP

Мінуси

  • RTMP вимагає постійного з'єднання між клієнтом і сервером, що може бути проблематично при перебоях в роботі мережі
  • Оскільки це пропрієтарне програмне забезпечення, воно не має достатньої гнучкості для досвідчених користувачів.

ЧАСТІ ЗАПИТАННЯ

Як використовувати Wave.video для трансляції через RTMP?

Якщо ви хочете транслювати відео через RTMP, Wave.video - чудовий варіант. Ось як ним користуватися:

  1. Створіть обліковий запис на Wave.video та увійдіть, якщо ви цього ще не зробили.
  2. Оберіть відео, яке хочете транслювати.
  3. Перейдіть на сторінку "Напрямки" на сайті Wave.video та натисніть на "Користувацький RTMP" RTMP Wave.video
  4. Далі вам потрібно знайти URL-адресу сервера та ключ потоку для контенту, який ви намагаєтеся транслювати. Для цього перейдіть на веб-сайт з потоком, який ви хочете переглянути.
  5. Якщо ви не знаєте, як це зробити, ви можете скористатися стороннім додатком або розширенням для вилучення URL-адреси та ключа.
  6. Скопіюйте URL-адресу сервера та ключ потоку.
  7. Вставте URL-адресу сервера і ключ потоку в Wave.video.RTMP name, key, url
  8. Створіть або заплануйте свій стрім.
  9. Відкривайте пряму студію і починайте трансляцію.

Ось і все, що потрібно, швидко і просто!

Які кодувальники підтримують RTMP?

Існує багато апаратного та програмного забезпечення кодерів, які підтримують RTMP. Деякі з них включають:

  • Adobe Media Encoder
  • OBS Studio
  • Elemental Server
  • TriCaster
  • Трансляція
  • vMix
  • TeraDek
  • Wowza Streaming Engine
  • Niagara Video

RTMP vs RTSP - що краще?

RTMP і RTSP - це протоколи для потокової передачі аудіо, відео та даних через Інтернет. Вони багато в чому схожі, але деякі ключові відмінності роблять їх ідеальними для різних ситуацій або переваг.

Ось короткий огляд ключових відмінностей між ними:

  • RTMP краще підходить для потокового мовлення в прямому ефірі, а RTSP - для потокового мовлення на вимогу.
  • RTMP має меншу затримку, в той час як RTSP може забезпечити більш високу якість відео.
  • RTMP вимагає наявності Flash Media Server, в той час як RTSP може працювати з будь-яким медіа-сервером.

Отже, який протокол краще? Все залежить від ваших конкретних потреб.

RTMP - хороший вибір, якщо вам потрібна низька затримка і ви не проти використання Flash. RTSP може бути ідеальним варіантом, якщо вам потрібне високоякісне відео або ви хочете використовувати медіа-сервер, що не підтримує Flash.

Що таке формат повідомлення про дії (AMF)?

AMF - це двійковий формат для кодування і передачі даних через Інтернет, який часто використовується разом з RTMP.

AMF дозволяє передавати дані, несумісні з RTMP, такі як об'єкти ActionScript. Він також забезпечує ефективний обмін даними між Flash-додатками та серверами.

Що таке RTMP URL і як його отримати з Facebook або YouTube?

RTMP URL - це унікальний ідентифікатор, який використовується для трансляції відеоконтенту в реальному часі на різні платформи.

Зазвичай він містить IP-адресу, доменне ім'я та номер порту.

Ви повинні створити подію з прямою трансляцією на будь-якій платформі, щоб отримати її з YouTube або Facebook. Після цього ви зможете знайти URL-адресу RTMP в налаштуваннях події.

Заключні думки

РРТМ, без сумніву, залишив свій слід у світі. Чи відходить він на другий план? Як евакуаційне рішення, можливо, зовсім не збирається!

Навіть якщо з'являться інші рівноцінні або більш ефективні альтернативи, RTMP залишатиметься актуальним для передачі і потокового передавання медіа.

Будемо тримати вас в курсі подій!

Приєднуйтесь до 5 000 маркетологів, які читають наші статті першими