Как стать автором
Обновить

Dynamic CDN for Low Latency WebRTC Streaming

Время на прочтение5 мин
Количество просмотров2.3K


Having analyzed earlier the capacity of standard server configurations in Digital Ocean in terms of WebRTC streaming, we have noticed that one server can cover up to 2000 viewers. In real life, cases when one server is insufficient are not uncommon.


Assume gambling amateurs in Germany are watching real-time horse races in Australia. Given that horse races are not only a sports game but also imply big gains on condition that field bets are made at the right time, the video has to be delivered with lowest possible latency.


Another example: A global corporation, one of FCMG market leaders with subsidiaries in Europe, Russia and Southeast Asia, is organizing sales manager training webinars with live streaming from the headquarters in the Mediterranean. The viewers must be able to see and hear the presenter in real time.

Read more →
Всего голосов 2: ↑1 и ↓10
Комментарии0

Динамическая CDN для WebRTC стриминга с низкой задержкой

Время на прочтение5 мин
Количество просмотров3.4K


Ранее, анализируя возможности стандартных конфигураций серверов в Digital Ocean с точки зрения WebRTC стриминга, мы отмечали, что один сервер может обслужить до 2000 зрителей. В реальной жизни часто встречаются случаи, когда одного сервера недостаточно.


Допустим, любители азарта в Германии смотрят в реальном времени скачки в Австралии. Поскольку скачки — это не только конный спорт, но и большие выигрыши, при вовремя сделанных ставках, то видео должно быть доставлено с минимально возможными задержками.

Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Динамическая CDN для WebRTC стриминга с низкой задержкой и транскодингом

Время на прочтение5 мин
Количество просмотров2.6K


В первой части мы развернули простую динамическую CDN для трансляции WebRTC потоков на два континента и убедились в том, что задержки в такой CDN действительно низкие, на примере таймера обратного отсчета.


Однако, кроме низкой задержки, важно обеспечить зрителям хорошее качество трансляции, ведь за это они и платят. В реальной жизни, каналы между Edge серверами и подписчиками могут быть разными по пропускной способности и качеству. Например, мы публикуем поток разрешением 720p с битрейтом 2 Мбит/с, а пользователь играет его на Android-смартфоне, используя 3G подключение в зоне неуверенного приема сигнала, и максимальное разрешение, при котором картинка будет плавной, всего 360p с битрейтом 400 Мбит/с.

Читать дальше →
Всего голосов 6: ↑5 и ↓1+8
Комментарии3

Dynamic CDN for Low Latency WebRTC Streaming with Transcoding

Время на прочтение5 мин
Количество просмотров1.6K


In the first part we have deployed a simple dynamic CDN for broadcasting WebRTC streams to two continents and have proved on the example of a countdown timer that the latency in this kind of CDN is actually low.


However, besides low latency, it is important to provide good broadcast quality to users. After all, this is what they are paying for. In real life the channels between Edge servers and users can differ in bandwidth capacity and quality. For example, we are publishing a 720p stream at 2 Mbps, the user is playing it on an Android phone using 3G connection in an unstable signal reception area and the 360p maximum resolution that provides smooth picture at 400 Mbps is 360p.

Read more →
Всего голосов 2: ↑1 и ↓10
Комментарии0

Динамическая CDN для WebRTC стриминга с низкой задержкой и контролем доступа к потокам

Время на прочтение4 мин
Количество просмотров1.7K


В первой части мы развернули простую динамическую CDN для трансляции WebRTC потоков на два континента и убедились в том, что задержки в такой CDN действительно низкие, на примере таймера обратного отсчета.


Во второй части мы добавили в CDN выделенные серверы для задач транскодирования, чтобы обеспечить нашим зрителям качество трансляции в зависимости от используемых ими устройств и качества канала. Таким образом, все публикуемые потоки в нашей CDN доступны всем зрителям.


Теперь допустим, что предприятие выходит на этап монетизации и часть потоков должны быть доступны бесплатно, часть — по подписке. Или, например, вебинары для внутреннего обучения сотрудников транслируются одновременно, но для разных филиалов потоки разные, и открывать техники продаж, применяемые в Юго-Восточной Азии, для менеджеров из СНГ нежелательно.

Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии2

Dynamic CDN for Low Latency WebRTC Streaming with Stream Access Control

Время на прочтение4 мин
Количество просмотров1.3K


In the first part, we have deployed a simple dynamic CDN for broadcasting WebRTC streams to two continents and have proved on the example of a countdown timer that the latency in this type of CDN is actually low.


In the second part, we have incorporated dedicated servers into the CDN for performing the task of transcoding in order to provide good broadcast quality to our viewers based on the devices they use and the channel quality. In this manner, all published streams in our CDN are available to all the viewers.


Now, assume that a company is starting to introduce its monetization strategy where a number of streams should be available for free and the rest on a subscription basis. Or, for example, webinars for in-house staff training are broadcasted simultaneously, but each subsidiary has a separate stream, and disclosing the sales techniques used in Southeast Asia to the managers from CIS countries is undesirable.

Read more →
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Как готовить RTSP на сайте в 2020 году, или почему кабаны не успеют убежать

Время на прочтение7 мин
Количество просмотров35K


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


Скажем, есть у нас IP камера с поддержкой RTSP. Всякий, кто щупал трафик акула-кабелем, расскажет, что там сначала идет DESCRIBE, потом PLAY, и вот полился трафик напрямую по RTP или завернутый в тот же TCP канал.

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии15

How to cook RTSP on your website in 2020, or why the boars will not have a chance to run away

Время на прочтение8 мин
Количество просмотров45K


RTSP is a simple signaling protocol which they cannot replace with anything for many years already, and it has to be admitted that they don't try really hard.


For example, we have an IP camera that supports RTSP. Anyone who has ever tested the traffic with a Sharkwire cable will tell you that first there comes DESCRIBE, then PLAY, and then the traffic begins to pour directly via RTP or wrapped in the TCP channel for instance.

Read more →
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Review of WCS 5.2 — WebRTC Server for Webcast and Webcam Developers

Время на прочтение13 мин
Количество просмотров2.7K


Alice is an experienced full stack developer, who is capable of writing a SAAS project framework on her favorite framework using php in a week. As for frontend, she prefers Vue.js. 


A client contacts you via Telegram, asking you to develop website that will be the meeting place for the employer and the employee to conduct an in-person interview. In-person means face-to-face, a direct video contact in real time with video and voice. «Why not use Skype?» some may ask. It just so happened that serious projects – and each startup undoubtedly considers itself a serious project – are trying to offer an internal communications service for a variety of reasons, including:

Read more →
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

Обзор WCS 5.2 — WebRTC сервера для веб-разработчиков онлайн трансляций и видеочатов

Время на прочтение13 мин
Количество просмотров11K


Алиса — опытный фулл-стек разработчик и способна за неделю написать каркас SAAS проекта на своем любимом фреймворке с использованием php. На фронтенде предпочитает Vue.js.


В телеграмм стучится заказчик, которому во что бы то ни стало надо разработать веб-сайт, который будет местом встречи работодателя и сотрудника для проведения очного интервью. Очного — означает глаза в глаза, прямого видео контакта в реальном времени с видео и голосом.
«Почему не скайп?» — спросите вы. Так уж повелось, что серьезные проекты, а каждый стартап, несомненно, себя таковым считает, стараются предложить внутренний сервис коммуникаций по самым разным причинам, среди которых:

Читать дальше →
Всего голосов 9: ↑5 и ↓4+3
Комментарии0

Создаем живую потоковую CDN для видеотрансляций WebRTC с низкой задержкой

Время на прочтение11 мин
Количество просмотров7.7K

Где может потребоваться трансляция с гарантированной низкой задержкой? — на самом деле, много где. Например в онлайн видео-аукционах. Представьте себя ведущим такого мероприятия.
— «Двести тыыыысяч рааааз»
— «Продано!»

С высокой задержкой вы успеете сказать «двести тысяч три» и продать лот еще до того как видео дойдет до участников. Чтобы участники аукциона успели вовремя среагировать, задержка должна быть гарантированно низкой.

В общем, низкая задержка жизненно необходима в любом около игровом сценарии, будь-то онлайн видео аукцион, видеотрансляция скачек с лошадками или интеллектуальная онлайн игра «Что Где Почему» — и там и там требуется гарантированно низкая задержка и передача видео и аудио в реальном времени.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии2

Стриминг множества RTSP IP камер на YouTube и/или Facebook

Время на прочтение8 мин
Количество просмотров15K

Как известно, у YouTube отсутствует фича захвата RTSP потока, и мы постараемся заполнить этот пробел - помочь YouTube осчастливить пользователей.

Read more
Всего голосов 3: ↑2 и ↓1+2
Комментарии7

Streaming multiple RTSP IP cameras on YouTube and/or Facebook

Время на прочтение8 мин
Количество просмотров7.6K

As you know, YouTube doesn't have a feature for capturing an RTSP stream, but we would like to change this and help YouTube to make their viewers happy.

Read more
Всего голосов 7: ↑7 и ↓0+7
Комментарии4

Автоматизируй это, или Контейнерные перевозки Docker для WebRTC

Время на прочтение8 мин
Количество просмотров5.1K

Подавляющее большинство IT специалистов разных направлений стремится как можно меньше действий выполнять руками. Не побоюсь громких слов - то что может быть автоматизировано, должно быть автоматизировано!

Представим ситуацию: нужно разворачивать много однотипных серверов, причем делать это быстро. Быстро разворачивать, быстро сворачивать. Например, разворачивать тестовые стенды для разработчиков. Когда разработка ведётся параллельно нужно разделить разработчиков, что бы они не мешали друг-другу и возможные ошибки одного из них не блокировали работу остальных.

Путей решения этой задачи может быть несколько:

Читать далее
Всего голосов 6: ↑5 и ↓1+9
Комментарии11

Automatize it, or Docker container delivery for WebRTC

Время на прочтение8 мин
Количество просмотров4K

The vast majority of IT specialists in various fields strive to perform manually as few actions as possible. I won't be afraid of the loud words: what can be automatized, must be automatized!

Let's imagine a situation: you need to deploy a lot of servers of the same type and do it quickly. Quickly deploy, quickly undeploy. For example, to deploy test rigs for developers. When development is carried out in parallel, you may need to separate the developers, so they don't impede each other and possible errors of one of them don't block the work of the others.

There may be several ways to solve this problem:

Read more
Всего голосов 1: ↑1 и ↓0+1
Комментарии5

WebRTC CDN на Google Cloud Platform с балансировкой и автоматическим масштабированием

Время на прочтение10 мин
Количество просмотров2.4K

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

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии0

AWS, ELB, CDN, Auto Scaling и другие аббревиатуры и термины для WebRTC с низкой задержкой

Время на прочтение11 мин
Количество просмотров2.5K

Современные браузеры не предоставляют возможность выбора - использовать WebRTC или не использовать. И если проиграть поток можно по HLS, MSE, то захватить поток с камеры и публиковать поток из браузера можно только с помощью WebRTC. Производители браузеров приняли этот "формат" и внедрили его в свои продукты. Так же как в свое время, те же вендоры поддерживали Flash Player в качестве плагина. Текущая ситуация с WebRTC отличается только тем, что WebRTC встроен в браузер нативно, на уровне кода, а не в виде плагина. Если через пару лет кто-то предложит лучшую библиотеку для работы с видео, нет сомнений, что вендоры перейдут на эту новую технологию. Но сегодня в мире браузеров правит бал Chrome, поэтому горизонт для WebRTC остается чистым.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Google Cloud Platform for WebRTC CDN with Balancing and Autoscaling

Время на прочтение9 мин
Количество просмотров1.5K

In the previous article we refreshed our memory of WebRTC CDN and the ways this technology helps to minimize latency for WebRTC streams. We also discussed why load balancing and autoscaling wouldn't be amiss in CDNs. Here are the main points from the article:

Read more
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

AWS, ELB, CDN, Autoscaling and other abbreviations and terms related to low-latency WebRTC

Время на прочтение11 мин
Количество просмотров1.2K

The modern browsers do not give users a choice between using WebRTC and not using it. And while you can playback streams using HLS or MSE, WebRTC remains the only tool for capturing camera feeds and publishing streams from a browser. The browser developers have accepted this "format" and integrated it into their products – just as they used to support the Flash Player as a plugin. The only difference is that WebRTC comes natively integrated into the browser — as code, not a plugin. If, in a few years, a new and better library for video streaming is introduced they will undoubtedly make a switch. But these days, Chrome maintains its dominance, so no contenders for WebRTC are in sight.

Read more
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Облачная WebRTC CDN: сколько стоит, где разместить?

Время на прочтение7 мин
Количество просмотров2.4K

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

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии0