Написать нам
Категория: Кодирование
30.11.2021

Какой Протокол Стриминга Лучше для Вас: RTMP или RTSP

Хотите rtmp vs rtsp?
Компания Merehead занимается веб разработкой. Свяжитесь с нами и получите бесплатную консультацию! Поговорить с Менеджером
Сравним протоколы потоковой передачи RTMP и RTSP. Расскажем, как они работают, какие у каждого плюсы и минусы. Подскажем, как выбрать в вашем случае.



Если вы хотите запустить платформу для трансляции видео с минимальной задержкой, у вас будет весьма ограниченное количество протоколов потоковой передачи данных для решения этой задачи. При этом если в качестве канала передачи видеопотока вы хотите использовать интернет, выбор будет еще меньше, поскольку вам нужно будет преодолеть ряд трудностей, например — джиттер, лаги или потеря пакетов. В этой статье мы сравним два таких протокола связи — RTMP и RTSP, опишем их преимущества с недостатками, а также дадим некоторые рекомендации по выбору наиболее подходящего для вас варианта.

Что такое протокол связи





Задержка при потоковой передаче данных посредством популярных протоколов связи. Источник



Прежде всего стоит уточнить, что и RTMP, и RTSP — это протоколы потоковой передачи данных, что означает, что они представляют собой наборы определенных соглашений интерфейса логического уровня, определяющих метод передачи видео, аудио и других типов данных между различными платформами, системами или устройствами. Эти правила нужны, чтобы задать стандарт передачи информации и обработки ошибок, что нужно для нормальной работы любой видеотрансляции.



Если сравнить видео, которые нужно отправить зрителям, с автомобилем, то протокол потоковой передачи — это правила дорожного движения и сама дорога, по которой автомобиль перемещается из одного места в другое. Если дорога хорошая, машина без проблем доедет до своей цели. Если же на дороге будут ухабы и ямы, то движение займет больше времени и машина может получить повреждения.



С видеоданными все так же: если протокол хороший, видеосигнал доберется до зрителя с минимальной задержкой и будет высокого качества. Если же протокол плохо реализован или не соответствует задаче, то видео на экране зрителя может «сыпаться», часто прерываться для подзагрузки, содержать артефакты, вовсе не грузиться или аудио- и видеосигналы будут рассинхронизированы.



Различные протоколы потоковой передачи данных ориентированы на разные аспекты потока (задачи). Обычно их делят на протоколы с адаптивным битрейтом, которые нацелены на уменьшение задержек и буферов для видеопотока, и те, что направлены на максимальное сокращение задержки, что позволяет передавать видеосигнал зрителям практически в реальном времени — live streaming.



RTMP и RTSP — это, пожалуй, два наиболее распространенных протокола, ориентированных на стриминг видео с минимальной задержкой. И хотя они созданы для достижения схожих целей, при пристальном сравнении между ними легко обнаружить существенные различия, которые важно знать.

Что такое RTMP и как он работает



Протокол обмена сообщениями в реальном времени, или RTMP — это стандартизированный протокол для передачи мультимедийных данных через интернет. Данная технология была разработана Macromedia (в настоящее время принадлежит Adobe), и изначально она использовалась для передачи данных между RTMP-сервером и Flash-плеером на устройстве пользователя. Сейчас Flash больше не используется из-за проблем с безопасностью, но RTMP все еще популярен.



Как протокол связи технология RTMP нацелена на обеспечение стабильной и плавной передачи увеличивающихся объемов данных, необходимых для передачи и приема видео в реальном времени. Что достигается посредством фрагментирования потока данных на небольшие одинаковые части (по умолчанию составляют 64 байта для аудиоданных и 128 байтов для видеоданных) и их последовательную передачу на принимающее устройство, которое затем снова собирает их в видеопоток.



После того как Flash устарел в 2020 году (Google и другие крупные игроки полностью прекратили поддержку Adobe Flash Player), RTMP стал использоваться в качестве протокола с открытым исходным кодом для вклада первой мили (передачи от кодировщика к сетевому видеохосту). Именно таким образом RTMP сейчас использует Facebook, YouTube, Periscope и большинство других платформ.



Сейчас RTMP существует в 5 вариантах:





Как работает потоковая передача RTMP



Как правило, прямая видеотрансляция работает следующим образом: камера снимает видео (или видеокарта захватывает экран) и отправляет его на хост или сервер видеоплатформы через кодировщик (этот этап обычно называют «первой милей»). Затем сервер или видеоплатформа обрабатывает этот поток и передает его дальше через сеть доставки контента (CDN) для распространения видеопотока на устройства пользователей (это «последняя миля»). Когда еще работал Flash, оба эти этапа проходили посредством RTMP, но с тех пор, как Flash устарел, RTMP больше не работает на «последней миле». С этого момента поток должен перехватить другой протокол связи (HLS, MPEG-DASH, CMAF или WebRTC).



На диаграмме показаны четыре отдельных этапа в цепочке доставки видео в реальном времени. Первый этап обычно называют «первой милей» (передача видео от камеры до сервера), а четвертый — «последней милей» (видео доставляется на экран пользователя, например телевизор). Источник



Однако на первой миле RTMP по-прежнему актуален, поскольку он отлично справляется с обеспечением стабильного и плавного видеопотока между источником видео и RTMP-сервером за счет разделения больших объемов данных на маленькие блоки и их передачу через несколько виртуальных каналов. При этом RTMP также открывает постоянное соединение между источником потока и сервером, позволяя протоколу выступать в качестве носителя для доставки пакетов данных.



Доставку пакетов RTMP осуществляет за несколько секунд в три этапа:



  1. TCP/IP-рукопожатие. Клиент и сервер обмениваются между собой информацией, чтобы «договориться» о передаче потока.


  2. Установление связи. Клиент и сервер согласовывают все параметры и спецификации соединения с помощью последовательности сообщений.


  3. Передача потока. Клиент отправляет серверу вызов «create Stream», за которым следует сообщение проверки связи и воспроизведение.




Преимущества и недостатки RTMP



Итак, вот каковы преимущества использования RTMP:



Недостатки использования технологии RTMP следующие:



Что такое RTSP и как он работает



Протокол потоковой передачи в реальном времени, или RTSP — это менее известный, чем RTMP, набор правил для потоковой передачи видео с помощью интернета. Его представили RealNetworks, Netscape и Колумбийский университет в 1996 году для управления развлекательными и коммуникационными системами видеотрансляций в «стиле VHS». Это подразумевает, что во время передачи потока RTSP-сервер может обрабатывать команды на VHS-пульте: «Воспроизведение», «Пауза», «Стоп», а также «Прокрутить вперед» и «Прокрутить назад».



Для обеспечения плавной и согласованной потоковой передачи данных RTSP использует два других сетевых протокола связи — TCP для выдачи и приема команд управления (например, запроса на воспроизведение или остановку) и UDP (протокол пользовательских датаграмм) для доставки аудио, видео и данных. Благодаря этому клиент может начать воспроизводить RTSP-поток во время загрузки потока.



Хотят RTSP можно использовать как для прямых трансляций, так и для передачи видео по запросу, сейчас его обычно используют на последней миле для передачи видеопотока с облака в проигрыватель устройства пользователя, поскольку данный протокол позволяет зрителю воспроизводить, приостанавливать и перематывать видео. Кроме того, RTSP также популярен в системах, где нужно передать видеосигнал с камер по IP, например с IP-камер или камер видеонаблюдения.

Как работает потоковая передача RTSP





Схема передачи видео через RTSP. Источник



Как протокол связи RTSP работает следующим образом. Когда пользователь (программа, приложение или камера) хочет передать видеосигнал с удаленного источника, пользовательское устройство отправляет RTSP-запрос на специальный сервер (или платформу потокового видео), чтобы определить доступные параметры, такие как воспроизведение, пауза, перемотка и запись. Затем сервер возвращает на устройство сигнал со списком запросов, которые он может принимать через RTSP.
Написать нам
Имя*:
Email*:
Сообщение: