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

Удаленное управление компьютером через браузер

Время на прочтение1 мин
Количество просмотров56K
Около полугода назад задумал сделать программу для управления компьютером через браузер. Начал с простого односокетного HTTP сервера, который передавал картинки в браузер и получал координаты курсора для управления.

На определенной стадии понял что для этих целей хорошо подходит технология WebRTC. Такое решение есть у Chrome браузера, оно устанавливается через расширение. Но хотелось сделать маловесную программу, которая будет работать без установки.

Сначала попробовал использовать библиотеку которую предоставляет Google, но после компиляции она занимает 500MB. Пришлось реализовать весь WebRTC стек почти с нуля, удалось все уместить в exe файл размером 2.5MB. Друг помог с интерфейсом на JS, вот что в итоге получилось.
Читать дальше →
Всего голосов 91: ↑74 и ↓17+57
Комментарии77

Установка Chrome-софтфона 3CX через Gsuite и миграция записей с Google Drive

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

Централизованная установка расширения 3CX для Chrome через GSuite


В 3CX V16 Update 4 Alpha появилось новое расширение для Chrome, позволяющее звонить без открытия веб-клиента. Вы можете работать с любым настольным приложением, но при поступлении входящего вызова в нижнем правом углу экрана появится браузерный дайлер с информацией об абоненте.

В этой статье мы расскажем, как централизованно установить это расширение для всех сотрудников компании, не заходя на индивидуальные ПК. Сделать это можно непосредственно из консоли GSuite Admin Console.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Облачный WebRTC стриминг на DigitalOcean

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


Известный облачный хостинг DigitalOcean с недавних пор обзавелся собственным магазином с готовыми образами, из которых можно быстро развернуть какой-либо сервер приложений. Совсем, как AWS, только DO, для тех, кто уже пользуется услугами этого провайдера. Давайте посмотрим, как, имея аккаунт DO, развернуть простой сервер за 10$ в месяц для стриминга WebRTC на базе Flashphoner WebCallServer, и чем такой сервер может быть полезен.

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

Cloud-based WebRTC streaming on DigitalOcean

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


Popular cloud hosting DigitalOcean has recently launched its new marketplace selling preconfigured images that can help to quickly deploy an application server. It’s much like AWS, but DO is for those already using this provider’s services. Let’s see how to deploy a simple server for WebRTC streaming with a DO account for a $10/month fee based on Flashphoner WebCallServer and how such a server can be of use.

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

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 стриминга с низкой задержкой и контролем доступа к потокам

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


В первой части мы развернули простую динамическую 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

WebRTC через Kurento: опыт тестирования и внедрения

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

В этой статье я поделюсь опытом работы с технологией WebRTC и медиасервером Kurento на этапе тестирования и внедрения. Расскажу с какими проблемами я столкнулся и как их решил. Я не расскажу о том как разработать приложение с нуля, но приведу много полезных ссылок. Уверен, что мой рассказ будет полезен тем, кто собирается работать с WebRTC.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии17

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

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


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

Видеозвонки под капотом: от миллионов в сутки до 100 участников в одной конференции

Время на прочтение21 мин
Количество просмотров10K
Сейчас, кажется, невозможно найти мессенджер без функции звонков. Это удобно для пользователей, потому что все коммуникации можно вести в одном приложении. Если объединить всю доступную в СМИ статистику, то получится, что люди разговаривают через интернет более миллиарда минут в день. И по мере развития технологий растет доля видеосвязи, потому что видео лучше передает эмоции собеседника и позволяет создать эффект присутствия.

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

Руководитель разработки платформ Видео и Лента Александр Тоболь (alatobol) покажет, что под капотом у сервиса видеозвонков, какие технологии и хаки применить, чтобы сделать свой сервер конференций, и как правильно передавать видео. Заходите под кат и узнаете, как перевести сервис звонков один на один к групповым звонкам на 100 человек и зачем вообще нужна поддержка такого количества участников.
Всего голосов 47: ↑46 и ↓1+45
Комментарии2

Индикатор качества канала серверного WebRTC через TCP

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


Publish и Play


Существует две основных функции работы WebRTC на стороне сервера в области потокового видео: публикация и воспроизведение. В случае публикации видеопоток захватывается с вебкамеры и двигается от браузера к серверу. В случае воспроизведения, поток двигается в обратном направлении — от сервера к браузеру, декодируется и воспроизводится в браузерном HTML5 <video> элементе на экране устройства.

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

Channel quality indicator for server WebRTC over TCP

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


Publish and Play


There exist two main functions of WebRTC operation on the server side in the field of streaming video: publishing and playing. In the case of publishing, the video stream is captured from the web camera and moves from the browser to the server. In the case of playing, the stream moves in the opposite direction, from the server to the browser, is decoded and played in the browser’s HTML5 <video> element on the device’s screen.

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

Проблема первого зрителя, или непростая конвертация WebRTC видеопотоков в HLS

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


Егор закрыл крышку ноутбука и потер красные от недосыпа глаза. "Клиенты продолжают жаловаться на зависания стрима, новый пакет исправлений совсем не помог! Что же делать с этим (censored) HLS?" — произнес он в пустоту кабинета.

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

The first viewer issue, or the difficulties of converting WebRTC video streams to HLS

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


George shut his laptop and rubbed his sleep-deprived red eyes. "Customers continue to complain about stream freezing; the new fix package did not help at all! What do I do with this (censored) HLS?" he said.


The browser is not only hypertext, but also a streamer


Browsers have had players for a long time, but the story is different with the video encoder and streaming. Now, in almost any browser of the latest version, we can find modules for encoding, streaming, decoding, and playback. These functions are available through the JavaScript API, and the implementation is called Web Real Time Communications or WebRTC. This library built into browsers can do quite a lot: capture video from a built-in, virtual or USB camera, compress it with H.264, VP8, and VP9 codecs, and send it to the network via SRTP protocol; i.e., it functions as a software streamer video encoder. As a result, we see a browser that has something similar to ffmpeg or gstreamer, compresses video well, streams on RTP, and plays video streams.

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

WebRTC стриминг в виртуальной реальности и вокруг нее

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


Виртуальная реальность нынче на пике моды. Оборудование, что во времена "Газонокосильщика" было уделом сумасшедших ученых гиков с большими деньгами от Минобороны, сейчас и простому человеку по карману, а те, у кого карман совсем пуст, могут собрать VR-гарнитуру из картона и смартфона по множеству рецептов.

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

WebRTC streaming in and around virtual reality

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


Virtual reality is on the rise these days. The equipment that was previously the exclusive preserve of crazy scientists geeks with big money from the Ministry of Defense back in the The Lawnmower Man days, is currently affordable for ordinary people; those whose pockets are empty, can assemble a VR headset from cardboard and a smartphone according to many recipes.

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

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

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


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.


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

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