Flussonic Media Server позволяет публиковать любой поток на внешний сервер по протоколу RTMP.
Социальные сети используют RTMP для организации прямых трансляций, а значит вы можете использовать Flussonic Media Server для отправки ваших потоков в социальные сети (можно сразу в несколько).
- Получение видео от мобильного репортера и отправка сразу в несколько социальных сетей.
- Трансляция видео с камер видеонаблюдения.
- Трансляция собственных программ в социальные сети. В том числе по расписанию.
Обратите внимание, ключи трансляции/потока могут иметь срок жизни. Уточните этот момент в условиях сервиса, куда планируете публиковать видеотрансляцию.
- Публикация на Youtube
- Публикация на Facebook
- Публикация на OK
Публикация на Youtube
Стандарт YouTube требует наличия аудиопотока для всех видео. Подробнее читайте в руководстве по прямым трансляциям на YouTube.
Урок 33. Процессы и потоки в операционной системе
2) Скопируйте URL-адрес сервера и ключ трансляции.
3) В административном интерфейсе Flussonic Media Server перейдите в меню «Media» и выберите поток, который необходимо раздать.
4) Во вкладке «Output» найдите раздел «Push live video to certain URLs».
5) Вставьте URL-адрес сервера и ключ трансляции в виде ссылки. Например, rtmp://a.rtmp.youtube.com/live2/7p9v-6gsh-18jm-223h . Нажмите «Save».
6) Вернитесь на Youtube в Прямые трансляции и запустите прямой эфир.
Публикация на Facebook
1) Зайдите на Facebook > Прямой эфир > В эфир > Подключиться
2) Скопируйте URL-адрес сервера и ключ потока.
3) В административном интерфейсе Flussonic Media Server перейдите в меню «Media» и выберите поток, который необходимо раздать.
4) Во вкладке «Output» найдите раздел «Push live video to certain URLs».
5) Вставьте URL-адрес сервера и ключ потока в виде ссылки. Например, rtmp://live-api.facebook.com:80/rtmp/1917254653482108?ds=1 Прямой эфир > В эфир > Подключиться и запустите прямой эфир.
Публикация на OK
1) Зайдите на OK.ru > Трансляция > Приложение.
2) Скопируйте URL-адрес сервера и ключ трансляции.
3) В административном интерфейсе Flussonic Media Server перейдите в меню «Media» и выберите поток, который необходимо раздать.
4) Во вкладке «Output» найдите раздел «Push live video to certain URLs».
Для чего нужны ядра и потоки в процессоре?
5) Вставьте URL-адрес сервера и ключ трансляции в виде ссылки. Например, rtmp://vsu.mycdn.me/input/5654546560699_3670934550827_rldbynpfqu . Нажмите «Save».
6) Вернитесь в OK.ru > Трансляция > Приложение и запустите прямой эфир.
Источник: flussonic.ru
Что такое потоковая передача мультимедиа?
Потоковая передача — это непрерывная передача аудио или видеофайлов с сервера клиенту. Проще говоря, потоковая передача — это то, что происходит, когда потребители смотрят телевизор или слушают подкасты на подключенных к интернету устройствах. При потоковой передаче медиафайл, воспроизводимый на клиентском устройстве, хранится удаленно и передается через интернет в течение нескольких секунд.
В чем разница между потоковой передачей и загрузкой?
Потоковая передача в режиме реального времени, это более эффективно, чем загрузка мультимедийных файлов. Если видеофайл загружен, копия всего файла сохраняется на жестком диске устройства, и видео не может воспроизводиться до завершения загрузки всего файла. Если видео передается в потоковом режиме, браузер воспроизводит его без копирования и сохранения. Видео загружается немного за один раз вместо загрузки всего файла целиком, и информация, загружаемая браузером, не сохраняется локально.
Можно подумать об этом, как о разнице между озером и рекой: оба содержат воду, и река может содержать столько же воды, сколько озеро. Разница в том, что в реке вода не находится в одном и том же месте в одно и то же время. Загруженный видеофайл больше похож на озеро, поскольку он занимает много места на жестком диске (и для перемещения озера требуется много времени). Потоковое видео больше похоже на реку, в том, что данные видео непрерывно, быстро течет в браузер пользователя.
Как работает потоковая передача мультимедиа?
Как и другие данные, передаваемые через интернет, аудио и видеоданные разбиваются на пакеты данных. Каждый пакет содержит небольшой фрагмент файла, и аудио или видеоплеер в браузере на клиентском устройстве принимает поток пакетов данных и интерпретирует их как видео или аудио.
Отправка видео через интернет, в отличие от отправки текста и неподвижных изображений, требует более быстрого метода передачи данных, чем TCP/IP, который отдает приоритет надежности над скоростью.
Как протокол UDP улучшает потоковую передачу?
UDP — это транспортный протокол, который используется для перемещения пакетов данных по сетям. UDP используется с интернет-протоколом (IP), и вместе они называются UDP/IP. В отличие от TCP, UDP не отправляет сообщения назад и вперед, чтобы открыть соединение перед передачей данных, и он не гарантирует, что все пакеты данных прибывают и находятся в порядке. В результате передача данных не занимает столько времени, сколько через TCP, и, хотя некоторые пакеты теряются по пути, существует так много пакетов данных, участвующих в поддержании потока, что пользователь не должен замечать потерянные.
Большая часть интернета использует TCP или протокол управления передачей. Этот транспортный протокол предусматривает тщательное взаимное подтверждение для открытия соединения. Как только соединение открыто, и два коммутирующих устройства передают пакеты назад и вперед, TCP гарантирует, что передача надежна, что все пакеты поступают в порядке.
Для потоковой передачи скорость намного важнее надежности. Например, если кто-то смотрит эпизод телешоу онлайн, не каждый пиксель должен присутствовать на каждом кадре эпизода. Пользователь предпочел бы иметь смотреть эпизод на нормальной скорости, чем сидеть и ждать каждый бит данных, которые будут доставлены. Поэтому, несколько потерянных пакетов данных не является огромной проблемой, и именно поэтому потоковая передача использует UDP.
Если TCP похож на службу доставки пакетов, которая требует, чтобы получатель подписал его, то UDP похож на службу доставки, которая оставляет пакеты на переднем крыльце, не стуча в дверь, чтобы получить подпись. Служба доставки TCP теряет меньше пакетов, но служба доставки UDP работает быстрее, так как пакеты могут быть выгружены, даже если их никто не подписывает.
Потоковая передача и буферизация
Потоковые медиаплееры загружаются на несколько секунд раньше времени, чтобы видео или аудио могли продолжить воспроизведение, если соединение ненадолго прервано. Это называется буферизацией. Буферизация обеспечивает плавное и непрерывное воспроизведение видео. Однако при медленных соединениях или большой задержке в сети буферизация видео может занять много времени.
Какие факторы замедляют стриминг?
На стороне сети:
- Задержки в сети: различные факторы задержки воздействия, в том числе контент, который пользователи пытаются получить.
- Перегрузка сети: если через сеть передается слишком много данных, это может снизить производительность потоковой передачи.
На стороне пользователя:
- Проблемы wi-fi: перезапуск маршрутизатора LAN или переключение на провод вместо Wi-Fi может помочь улучшить производительность потоковой передачи.
- Медленные клиентские устройства: для воспроизведения видео требуется большая вычислительная мощность. Если устройство, на котором просматривается потоковое видео, имеет много других работающих процессов, или просто медленно в целом, потоковое производительность может быть затронута.
- Недостаточно пропускной способности: для потокового видео домашним сетям требуется около 4 Мбит/с пропускной способности. Для видео высокой четкости им, вероятно, потребуется больше.
Как сделать потоковую передачу быстрее?
Потоковая передача подвержена тем же задержкам и снижению производительности, что и другие виды веб-контента. Поскольку потоковое содержимое хранится в другом месте, расположение хостинга имеет большое значение, как и в случае с любым типом содержимого, доступного через интернет. Если пользователь в Нью-Йорке пытается выполнить потоковую передачу с сервера Netflix в Лос Гатос, видеоконтент должен будет пересечь 3000 миль, чтобы достичь пользователя, и видео придется потратить много времени на буферизацию или может даже не воспроизводиться вообще. По этой причине Netflix и другие поставщики потоковой передачи широко используют распределенные сети доставки контента (CDN), хранящие контент в местах по всему миру, которые намного ближе к пользователям.
CDN оказывают огромное положительное влияние на производительность потоковой передачи. Cloudflare Stream Delivery использует сеть CDN Cloudflare для хранения видеоконтента во всех точках присутствия Cloudflare по всему миру. В результате сокращается задержка для времени запуска видео и уменьшается буферизация.
Вам будет полезно узнать – что такое время приема-передачи rtt.
Рекомендуем ознакомиться – мультиплексор ( устройство для передачи различных потоков информации с большой скоростью).
Источник: bezopasnik.info
Какой Протокол Стриминга Лучше для Вас: RTMP или RTSP
Сравним протоколы потоковой передачи 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 также открывает постоянное соединение между источником потока и сервером, позволяя протоколу выступать в качестве носителя для доставки пакетов данных.
- TCP/IP-рукопожатие. Клиент и сервер обмениваются между собой информацией, чтобы «договориться» о передаче потока.
- Установление связи. Клиент и сервер согласовывают все параметры и спецификации соединения с помощью последовательности сообщений.
- Передача потока. Клиент отправляет серверу вызов «create Stream», за которым следует сообщение проверки связи и воспроизведение.
Преимущества и недостатки RTMP
- Низкая задержка. С точки зрения прямых эфиров низкая задержка в основном означает надежное соединение, которое не отключится, даже если канал между сервером и зрителем немного нестабильный. Данный показатель также чрезвычайно важен для качества видео. Стабильное соединение RTMP обеспечивает благодаря тому, что он по умолчанию создается на TCP, тогда как низкая задержка достигается благодаря использованию эксклюзивного порта 1935, что устраняет необходимость буферизации видеопотока.
- Адаптируемость. В контексте трансляций адаптируемость означает возможность подключаться к трансляции и отключаться от нее когда угодно, кроме того, пользователи могут проматывать стрим назад (а затем и вперед) и присоединяться к прямому эфиру после его начала. Это очень полезные функции для онлайн-конференций, живых эфиров, стриминга видеоигр и простого видеозвонка.
- Гибкость. Технология RTMP позволяет интегрировать различные типы мультимедийного контента в один целостный пакет, «бесшовно» смешивая видео, аудио и текст (субтитры) на экране зрителя. Помимо этого, протокол поддерживает аудиопотоки в AAC- и MP3-форматах, а для передачи видео могут использоваться такие форматы, как MP4-, FLV- и F4V.
- Нет поддержки HTML5. Протокол RTMP не поддерживается HTML5-плеерами, которые на данный момент являются отраслевым стандартом для воспроизведения видео на стороне пользователя (в браузерах Mozilla, Google, Microsoft, Apple и Opera). Для «преобразования» RTMP-потока в HTML нужен конвектор, например HLS (протокол Http Live Stream, разработанный Apple).
- Проблемы с пропускной способностью. У RTMP есть некоторые уязвимости, связанные с низкой пропускной способностью. Они могут стать причиной периодических прерываний потоковой передачи видео, которые, как правило, очень сильно портят впечатление от просмотра видео.
- Несовместимость с HTTP. Последний недостаток RTMP — это невозможность передачи RTMP-потока через HTTP. Чтобы опубликовать RTMP-поток на сайте, нужно реализовать специальный сервер, такой как Flash Media Server, и использовать CDN или платформу потокового видео.
Что такое RTSP и как он работает
Протокол потоковой передачи в реальном времени, или RTSP — это менее известный, чем RTMP, набор правил для потоковой передачи видео с помощью интернета. Его представили RealNetworks, Netscape и Колумбийский университет в 1996 году для управления развлекательными и коммуникационными системами видеотрансляций в «стиле VHS». Это подразумевает, что во время передачи потока RTSP-сервер может обрабатывать команды на VHS-пульте: «Воспроизведение», «Пауза», «Стоп», а также «Прокрутить вперед» и «Прокрутить назад».
Для обеспечения плавной и согласованной потоковой передачи данных RTSP использует два других сетевых протокола связи — TCP для выдачи и приема команд управления (например, запроса на воспроизведение или остановку) и UDP (протокол пользовательских датаграмм) для доставки аудио, видео и данных. Благодаря этому клиент может начать воспроизводить RTSP-поток во время загрузки потока.
Хотят RTSP можно использовать как для прямых трансляций, так и для передачи видео по запросу, сейчас его обычно используют на последней миле для передачи видеопотока с облака в проигрыватель устройства пользователя, поскольку данный протокол позволяет зрителю воспроизводить, приостанавливать и перематывать видео. Кроме того, RTSP также популярен в системах, где нужно передать видеосигнал с камер по IP, например с IP-камер или камер видеонаблюдения.
Как работает потоковая передача RTSP
Схема передачи видео через RTSP. Источник
Как протокол связи RTSP работает следующим образом. Когда пользователь (программа, приложение или камера) хочет передать видеосигнал с удаленного источника, пользовательское устройство отправляет RTSP-запрос на специальный сервер (или платформу потокового видео), чтобы определить доступные параметры, такие как воспроизведение, пауза, перемотка и запись. Затем сервер возвращает на устройство сигнал со списком запросов, которые он может принимать через RTSP.
Как только устройство (плеер) узнает список команд и как сделать запрос, он передает запрос описания видеоконтента на сервер потоковой передачи, и сервер отвечает описанием этого мультимедиа. Дальше устройство отправляет запрос на загрузку, а сервер отвечает информацией о транспортном механизме, и дальше инициируется процесс потоковой передачи видео через указанный механизм.
Так как RTSP зависит от выделенного сервера и полагается на RTP, данный протокол не поддерживает шифрование видеоконтента или повторную передачу потерянных пакетов. Кроме того, RTSP не совместим с HTTP, следовательно, он не позволяет напрямую воспроизводить видеопоток в веб-браузере. Для этого нужно конвертировать видеопоток через специальный промежуточный сервер.
Преимущества и недостатки RTSP
- Сегментированная потоковая передача. Это означает возможность просмотра видео без необходимости его загрузки целиком перед просмотром, что удобно, если вам нужно организовать передачу видео по запросу.
- Настройка. RTSP позволяет создавать собственные приложения для потоковой передачи видео, которые будут использовать многопротокольный подход TCP + UCD — от видеомессенджеров до программного обеспечения для онлайн-видеоконференций.
- Меньшая популярность. Большинство веб-браузеров, видеоплееров и потоковых сервисов не поддерживают RTSP, что затрудняет трансляцию видеосигнала напрямую в браузер. Для этого необходимо использовать специальную службу потоковой передачи RTSP в реальном времени.
- Несовместимость с HTTP. Поскольку RTSP изначально создавался для использования в частных сетях, вы не можете напрямую передавать RTSP через HTTP. Для этого нужно специальное программное обеспечение, которое будет принимать видеопоток с RTSP-сервера, встраивать его на веб-страницу и давать возможность зрителям воспроизводить его на своих экранах.
Технические характеристики RTMP vs RTSP
Какой протокол лучше для вас
В подавляющем большинстве случаев выбор между RTMP и RTSP определяется задачей проекта и устройствами, используемыми для потоковой передачи видео в реальном времени. Вот несколько рекомендаций о том, когда какой протокол потоковой передачи видео лучше использовать в вашем случае.
IP-камеры → RTSP. Практически все IP-камеры поддерживают RTSP, что обусловлено тем, что IP-камеры существовали задолго до создания протокола RTMP. И поскольку RTSP был (и остается) достаточно простым и эффективным инструментом для передачи видеосигнала, нет необходимости что-то менять.
В связке RTSP и IP-камеры, сама IP-камера действует как RTSP-сервер. Это означает, что для подключения видеокамеры к серверу IP-камеры и трансляции видео необходимо запустить RTSP-клиент, например, посредством Restreamer Red5 Pro. Данный плагин позволяет подключиться к потоку в качестве клиента и перенаправить его на другие конечные точки, поддерживающие Red5 Pro (браузер, работающий с WebRTC).
IoT-устройства → RTSP или RTMP. Датчики, дроны, роботы, машины и другие устройства Интернета вещей могут выиграть от возможности транслировать видео в реальном времени. Поскольку такая трансляция не только покажет, что «видит» IoT-устройствоно и позволит управлять им в реальном времени. Благо, в большинство этих устройств изначально встроено программное обеспечение с поддержкой RTSP. Однако некоторые производители, такие как DJI, предпочитают RTMP.
Red5 Pro Mobile SDK → RTSP. Обычно мобильные устройства не поддерживают RTSP. Однако его можно легко добавить с помощью Red5 Pro Mobile SDK, который использует RTSP для трансляции видеоконтента в реальном времени на мобильные устройства и обратно через приложение Red5 Pro. Таким образом можно создавать как отдельные соединения источник-зритель, так и вести большое количество трансляций к большому количеству зрителей (подписчиков стримера).
YouTube, Twitch, Facebook → RTMP. Несмотря на отказ от Flash Media Player, RTMP до сих пор используется в качестве протокола приема во многих сторонних потоковых сервисах и приложениях, например в YouTube Live, Twitch и Facebook. В Zoom также встроена поддерживает вывод видео потока по RTMP.
Старый аппаратный кодировщик → RTMP. Многие аппаратные кодировщики видео (особенно это актуально для старых устройств) принимают только RTMP-потоки. Если ваша задача / проект требует использования такого кодировщика, то выбор между RTMP и RTSP для вас будет очевиден.
Заключение
Споры о том, какой протокол потоковой передачи лучше — RTMP или RTSP, продолжаются уже больше двадцати лет, и, похоже, им не будет конца, пока один из протоколов не устареет окончательно. Что, скорее всего, случится еще нескоро из-за резкого роста числа влогеров, стримеров и прочих энтузиастов live-трансляций.
Правда, если подумать, вам не обязательно выбирать между одним из этих протоколов потокового видео. Выбрав надежного технического партнера, такого как компания-разработчик Merehead, вы можете разработать решение, которое вберет в себе лучшее этих двух протоколов и обойдет их недостатки. Кастомная разработка потребует немного больше времени и ресурсов, чем готовые решения, но в долгосрочной перспективе она все равно будет более выгодной.
Оцените (242 оценки — 4.2 из 5)
Источник: merehead.com