Pull to refresh

Comments 119

Нативная поддержка в основных браузерах ожидается примерно никогда?
UFO just landed and posted this here
UFO just landed and posted this here
Я бы тоже минус поставил, но у меня кармы не хватает.
UFO just landed and posted this here
Добрая часть товаров созданы для тех, кто чего-то не умеет и не хочет учиться. Это абсолютно нормально не заниматься изобретением колеса, а платить тому, кто этому уже обучен, в данном случае — основным производителям браузеров за внедрение поддержки.
UFO just landed and posted this here
Я как понимаю, дом свой вы тоже построили, а не купили?
UFO just landed and posted this here
Да мне вообще наплевать на видео звонки, я раз 10 за жизнь их использовал. Меня раздражает что вы считаете что я должен это знать. Можно подумать, что кроме войп технологий больше нет.
UFO just landed and posted this here

Вот разработчикам не понравилось, что webrtc такой. Они написали свое недовольство на гитхаб. А вы ничего дельного пока не написали, кроме "в браузерах и так всё нормально". При этом ясно — в браузерах нормально не всё.

Простите, а где сдают на права управлением браузера?

UFO just landed and posted this here
Так это Вы теплое с мягким путаете, а не aikixd
Сдают на водительское удостоверение не потому, что автомобилем сложно управлять, а из-за опасности этого управления. А вот по Вашей теории нужно обучаться пользоваться браузером, причем я так понимаю, для разных направлений отдельно, ещё и вероятно кофемолкой, для телевизора пару уровней аттестации вводить и т.п.
UFO just landed and posted this here

я пользуюсь брауезром не разбираясь, как он внутри работает. Мне безразлично, что передо мной: gif или mp4 — я хочу посмотреть котиков. Если бы мне приходилось это настраивать, то я, возможно, забил бы и не смотрел котиков на таком ресурсе/через такой браузер.
Т.е. если технология работает из коробки — ей будут разные люди, в т.ч не просвещённые в детали. Иначе — только те, кому это очень надо.

Почему вы не обучитесь правильно писать по-русски?
UFO just landed and posted this here

Так он может не пользуется? А вы-то русским явно пользуетесь. Могли бы и аттестацию пройти, по вашему же совету.

UFO just landed and posted this here

Минус за едкость и колкость. Умеешь webrts настраивать — молодец. А мультикаст через паблик на другой континент можешь? Или файл без ошибок по UDP без обратного канала передать? У каждого есть свои набор умений. А ответы типа всё уже придумали, научитесь настраивать вызывают только минусы. Nvidia в своё время придумали алгоритмы и их считали эталоном. А что сделал Джон Кармак? Переписал драйвер Nvidia, получил прирост производительности в 1000 раз. В вашей реальности — настроил.

UFO just landed and posted this here
НЛО сделал своё дело. Но, отвечу на выпад с точки зрения руководителя.
У Вас есть сакральное значение, но я никогда не обращусь к Вам за помощью.
В любой момент Вы можете повести себя так, как сейчас. Мне нет смысла зависеть от ваших знаний, когда речь идёт о профессиональном контенте. Каждая секунда «провала» — это деньги, большие деньги. Гораздо эффективнее использовать несколько потоков или несколько способов доставки. Это дешевле чем полная потеря контракта из-за одного звена. И, как результат, Ваше знание останется при Вас. Вы не получите выгоды, как финансовой, так и профессиональной. И пока вы говорите, что можно дешевле, нужно только правильно настроить, утвердят новый стандарт SMPTE.

Вы настаивать умеете, а исследователи из Стенфорда — нет? Можете тогда посмотреть их работу (ссылки в посте) и показать, что они неверно настроили, раз у них chrome 65 хуже отрабатывает, чем их протокол?

UFO just landed and posted this here

Реакция людей понятна — вы не стали описывать интересные детали, а сразу заявили — в браузерах всё норм, кому не нравится — не умеют настраивать. При таком настрое разумные вопросы появляются намного реже. Мы же не на ЛОР.

Я программист, а не «специалист по настройке броузеров». Я не хочу этим заниматься.

Не хватало еще каждую используемую программу вручную настраивать под все нюансы окружения.
UFO just landed and posted this here
Сходите лучше книгу по voip какую нибудь почитайте

Зачем? Я не работаю с VoIP и не собираюсь им заниматься. Есть большое множество интересных для меня направлений для разработки, но VoIP сейчас в их число не входит. Почему я вдруг должен бежать заниматься именно VoIP? Только из-за того что он фигово работает "из коробки"? Мне проще не пользоваться, чем тратить на это время.

UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Вы, как знающий, расскажите мне, незнающему, что нужно настроить в браузере для работы WebRTC?
Это очень круто!

Интересно, насколько сложно сделать некий «плагин» к тому же скайпу, который бы эмулировал звонок, но уже через эту технологию? Т.е. скайп используется в режиме обмена сообщениями, только для пересылки информации о клиентах, для установки соединения, чтобы исключить необходимость в стороннем сервере. А в дальнейшем звонок идет напрямую, полностью через новый протокол, не используя сервера микрософт. Сразу решаем и проблему качества, и записи разговора никуда не утекают…

Насколько это вообще реально/сложно реализовать?
Скайп не поддерживает плагины и у него закрытый протокол. Но команда разработки скайпа или зума вполне могут воспользоваться этими наработками, о чем однозначно пишут авторы — «берите, пользуйтесь»
Я потому и взял «плагин» в кавычки. Но полагаю так или иначе связать функционал возможно, есть ведь программы записи звонков с интеграцией кнопки записи прямо в скайп. Да и не суть. Даже если для установки соединения будут отправляться видимые сообщения с кодом — не страшно. И если это будет надстройка не над скайпом, а на телеграм или любым другим популярным мессенджером — тоже не проблема. Для многих, вопрос качества связи весьма актуален. Любые подвижки в этом направлении — это отличные новости.
Я на него тоже смотрю с осуждением. Потому что он — бот. А бот и плагин — это очень, очень разные штуки.
Мои соболезнования, со временем сейчас оч тяжело :( Апи, увы, не существует:
Чисто теоретически, возможно. К примеру в веб-версию Скайпа добавить кастомный скрипт добавляющий кнопку, а также идентифицирующий контакты и самого пользователя. Затем развернуть корпоративный сервер и готово, всего-то делов.
Т.е., добавить в веб-версию Скайпа хук, который будет осуществлять звонки в обход, собственно, Скайпа?
Да. Именно поэтому:
Чисто теоретически, возможно.

Но это вероятно нарушит политику использования Скайп.
UFO just landed and posted this here
А меня видео не впечатлило. Добиться быстрого восстановления картинки можно вообще без изменений технологии, просто уменьшив GOP, посылая ключевые кадры раз в 100мс, например, а адаптивный битрейт можно нормально сделать и на любых текущих энкодерах, если «научить» энкодер быстро понимать, когда происходит потеря пакетов, и моментально реагировать (а не как сейчас, основываясь на косвенных признаках потери пакета). Получать соответствующую информацию можно от алгоритма управления TCP-окном, например (но готовые API для этого мне неизвестны, может, amarao подскажет).

В общем, всё изображенное на видео можно внедрить в обычный WebRTC, и он останется совместимым с другими реализациями WebRTC.
UFO just landed and posted this here
«Оно» — это что? Если я правильно помню текущую реализацию WebRTC в хроме, то связь между RTP и кодеком довольно примитивная: если пакеты не теряются то увеличиваем битрейт и разрешение до лимитов, если теряются — то уменьшаем. Довольно медленный процесс, кстати. Если во время видеозвонка на непродолжительное время начать дропать пакеты для одной из сторон, то видео о-о-о-о-о-очень нескоро восстановится.
UFO just landed and posted this here
очень смешной комментарий :) иногда вопрос далеко не в количестве, а в качестве. У нас есть разные специалисты, поэтому мы умеем и записывать видео и делать видео конференции, скоро еще будет много новых функций, включая стримминг.
UFO just landed and posted this here
Congestion control он, увы, больше про среднюю скорость передачи данных, а не про реалтайм. Очень слабо влияет именно на восстановление видео после сетевых проблем. А статья именно об этом — как убрать фризы и лаги. Чтобы видео надолго не замирало нужно взаимодействие между кодеком и сетевым протоколом чуть более плотное, чем сейчас делает WebRTC.
UFO just landed and posted this here
Верно, ведь больше нет вещей которые нужно знать.
В этом прелесть Хабра — можно обсудить интересное. Я тут пообщался с коллегами. Если не углубляться в кишки, то традиционная версия WebRTC принимает решение о пропускной способности канала на основании bandwidth estimator с RTCP/REMB наперевес и еще ряда параметров, например потери пакетов (пакеты в видео зависят друг от друга, и 10% потерь пакетов это не как «интерполировали и норм» в голосе, а «не смогли восстановить картинку вообще и все зафризилось). Традиционный congestion control, например из TCP, известен тем, что очень любит делить окно/bandwidth напополам. А потом медленно его увеличивать. WebRTC делает что-то похожее — оно довольно быстро, в течении 1-5 секунд дропает качество/разрешение/частоту, а потом медленно их восстанавливает. Но это СЕКУНДЫ. См. ролик в начале статьи. BBR призван бороться как раз с медленным восстановлением, но в сумме скорость реакции даже с BBR очень медленна и фризы будут. У ребят в статье чутка другой подход.
Если не углубляться в кишки, то традиционная версия WebRTC принимает решение о пропускной способности канала на основании bandwidth estimator с RTCP/REMB
В этом и проблема, что о потери пакетов узнают на L7, а не от алгоритма, который этим занимается.

tools.ietf.org/html/draft-ietf-rmcat-gcc-02 — это уже в каких-либо браузерах реализовано?
У меня нет информации, чтобы эта штука продвинулась дальше Proposal. Но, как я уже писал выше, мое личное мнение — что congestion control это история про максимизацию наполнения трубы, история о пропускной способности. Если мы хотим real-time и бороться с фризами то нам нужен flow control: то, что делают ребята. В современном сетевом стеке congestion, flow и ряд других механик работают вместе. Мой поинт в том, что изменением только congestion control на другой general-purpose congestion control вроде BBR не приведет к тем же результатам, как в видеоролике до ката. Просто потому, что технология создана для другого.
В современном сетевом стеке congestion, flow и ряд других механик работают вместе.
Не совсем. Алгоритмы управления очередями, как минимум в Linux, работают на уровне IP (но умеют понимать, откуда и куда передаются пакеты, одно ли это соединение, или разные), и не зависят от протоколов уровнем выше.
В современных версиях Linux по умолчанию используется fq_codel — www.bufferbloat.net/projects/codel/wiki
With the “fq_codel” variant (Fair/Flow Queueing + Codel) it is possible to reduce bottleneck delays by several orders of magnitude, and provide accurate RTT estimates to elephant TCP flows, while allowing shorter (sparser) flows like DNS, ARP, SYN, routing, etc packets priority access.
Если WebRTC мог бы получать информацию о состоянии сети из алгоритма управления очередью, и, например, моментально уменьшать битрейт и насильно отправлять следующим кадром ключевой кадр, то было бы сильно лучше.
Сейчас реал-тайм видеосвязь в основном по UDP, так что управление TCP окном мало поможет. Sad, but true.

«Быстро понимать, когда происходит потеря пакетов» — это одна из фундаментальных трудностей современного сетестроения. По сути каждый из endpoint'ов отправляет пакеты «в трубу» и вообще не представляет, что в этой трубе происходит и что появится на другом ее конце. Единственный способ как-то понять, что пакет потерян — это слать ACK'и с противоположной стороны. А это дополнительные задержки и проблемы вида «пакеты от нас ходят хорошо, пакеты к нам ходят хуже, на том конце видео выключили и ожидают видеть наше видео, а мы ждем ACK'ов, которые не приходят, и не понимаем, что наши пакеты на самом деле не теряются».
UFO just landed and posted this here
BBR есть только в Chromium, как я полагаю. Другие реализации используют другие алгоритмы управления потоком.
UFO just landed and posted this here
Вы что, серьёзно предлагаете каждому пользователю каждого браузера заниматься тюнингом параметров браузера?
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Ну так поведайте нам — неблагоразумным и глупым, о тайном знании настроек webrtc, что даст нам контент без задержек и лагов
UFO just landed and posted this here
UFO just landed and posted this here
>>Нет ничего хуже чем находиться среди непрофессионалов
Ну так вали отсюда. :)
UFO just landed and posted this here
Вообще не старался. Вообще. :)

Скажите, а сколько вы ещё напишите комментариев про «дефолтные настройки WebRTC», а? Уже понятно, спасибо, сверху прочитали три раза.

UFO just landed and posted this here
Вместо того, что бы намекать, что мы все идиоты и вообще вам известны «секретные» знания, может соизволите написать об этом статью?
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
А пока это будущее не наступило, кто может посоветовать апп, чтоб общаться голосом (хотя бы голосом, Карл!) по IP с абонентом с подмосковным 3G от МТС? WhatsApp каждые пять секунд реконнектится, остальное время лагает, вычёркиваем. Если нет ничего, чтоб прокричаться через отечественный мобильный интернет, то есть ли хотя бы полудуплексные решения? Чтобы сказал фразу и нажал кнопку приём, на той стороне абонент ждёт, когда пока фраза скачается полностью, слушает и так же отправляет голосовой ответ.
Чтобы сказал фразу и нажал кнопку приём, на той стороне абонент ждёт, когда пока фраза скачается полностью, слушает и так же отправляет голосовой ответ.

Голосовые сообщения в ВК? :)

Ну нет, надо чтоб был апп с одной кнопкой «приём», как на старых радиостанциях.
UFO just landed and posted this here
Искал, но в основном попадались странные или глючные поделия. Если вы пользовались сами чем-то, что подходит под моё описание, порекомендуйте.
Если вы пользовались сами чем-то, что подходит под моё описание, порекомендуйте.


Попробуйте наш M1 Messenger — там реализован этот режим (Push-To-Talk или режим рации). Работает как в одиночных, так и в групповых чатах:

Скриншот режима РТТ в М1 Мессенджер

Именно «приём»? Может, всё-таки, «передача»?
Исторически, по окончании передачи абонент говорил «прием» и переводил радиостанцию в режим приема.
UFO just landed and posted this here
1. А полудуплекс, как я описал, почему нет?
1. А тогда как настроить тот же WhatsApp на другой кодек?
UFO just landed and posted this here
Переформулирую вопрос. Есть ли звонилки, специально заточенные под плохой канал вроде подмосковного 3G от МТС, работающие лучше чем WhatsApp (он, как раз, пользует opus)?
UFO just landed and posted this here
Вот представьте, что я спрашиваю у Вас, какой трактор обладает самой лучшей проходимостью, а Вы мне в ответ — «дорога может быть настолько хреновая, что любой трактор застрянет». Не спорю, может. Но это не означает, что можно ездить только по асфальту на легковушке. Так какие «3G-трактора» Вы знаете?
UFO just landed and posted this here

Да skype это, звук работает с модемом 2g (проверено) при этом даже какую-то картинку показывает (связь с деревней через модем принудительно переведённый в 2g), проблема 3g в том что он менее стабилен чем 2g.
Лучше скайпа ничего не работало.

Я когда-то пытался написать свою специально под такую цель (плохой канал), но оно чисто десктопное, на джаве и ему нужен внешний сервер. Если надо, могу дать ссылку на гитхаб
Да, конечно, давайте. Спасибо.
«Не сочтите за рекламу»
Старая версия (которая когда-то превратилась в курсач и за код которой мне вообще говоря стыдно сейчас): сервер клиент
Новая версия (которую начал переписывать недавно по-человечески, но фичи не все перенес, и закончу неизвестно когда): сервер клиент
Спасибо. На вашем месте я бы сейчас довёл бы это до ума в виде бесплатных мобильных аппов с рекламой для обеих платформ и с огромной вероятностью миллионы скачиваний (а потом и денежных знаков) у вас в кармане.
«Было бы на это время»

На самом деле, там никаких прорывных технологий, каких-то суперкодеков или прочего нет. Ну да, можно подкручивать битрейт во время звонка. Но на практике связь получается на том же уровне, что и голосовые звонки в телеге или прочих мессенджерах. Толком нечего до ума доводить)
Добавляйте полудуплекс, будет счастье.
Голосовые сообщение в Telegram похожим образом работают.
Если нет ничего, чтоб прокричаться через отечественный мобильный интернет, то есть ли хотя бы полудуплексные решения? Чтобы сказал фразу и нажал кнопку приём, на той стороне абонент ждёт, когда пока фраза скачается полностью, слушает и так же отправляет голосовой ответ.

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

я надеюсь, про телеоперацию и умершего пациента было для красного словца? потому что уже много лет существуют профессиональные ВКС системы, сертифицированные для применения в медицинских учреждениях, которые включают через выделенные каналы (MPLS VPN) и получают гарантированное и стабильно FullHD качество, без квадратиков и рассыпаний картинки.
Надо чётко понимать, что никакой кодек и никакой протокол не дадут гарантированного качества картинки на негарантированном канале, которым является интернет. Поэтому не надо мешать в одну кучу профессиональное применение (от которого в том числе могут зависеть жизни), для которого решения существуют, с любительским применением.

И там в коробке ровно тоже самое, основное это канал, а от экскаватора никто не застрахован увы.
Другое дело сертификация позволяет переложить расходы в случае чего, с конкретной больницы на крупную/страховую компанию.

UFO just landed and posted this here

Я так понимаю, речь идёт о телемедицина в целом. Там тоже могут быть ситуации, когда надо принимать быстрое решение.

В оригинале статьи трижды упоминается телехирургия (tele-surgery).
в бюджетном исполнении грандстрим юзают.
В более масштабных поликом с тенбергом.
Для полевых работ танберг с сумматором.

У буржуев есть вариант бюджетных сумматоров для дома где плохая связь.
ИМХО пропадание пакетов и качество видео это вообще перпендикулярные проблемы. На свежей(да и на 16 тоже можно) Ubuntu поставили bbr congestion и прекрасно общаемся голосом. Если падает канал никаким программным образом ту проблему не решить, чудес не бывает. Разумеется я имею в виду не разработку новых протоколов маршрутизации.
Если падает — да. Если «мигает», то разница в восстановлении между 500мс и 2-3 секундами очень-очень большая
Каким образом bbr связан c RTP/RTCP?
«Весь стек» — это включая IP/Ethernet/WiFI?
Нет, достаточно UDP пакетов. Основная сложность в congestion, а оно проявляется на всем пути между нами и другой стороной звонка. Так что тайные знания ethernet или wifi о состоянии канала от нас до точки доступа мало помогут :)
UFO just landed and posted this here
Sign up to leave a comment.