Нам обещают видео в реальном времени без фризов и дерганий

https://engineering.stanford.edu/magazine/article/can-computer-science-take-glitch-and-stall-out-real-time-video
  • Перевод

Каждый раз, запуская Skype, Zoom или Hangouts, я с интересом жду свежую порцию косяков с видео и звуком. Технологии редко меня разочаровывают: квакание, фоновые шумы, пропадание голоса, распадение видео на «квадратики», замороженные кадры и другие радости видеоконференций преследуют видеозвонки, сколько я себя помню. Интерес во многом профессиональный: кроме программируемой телефонии для обычных телефонов, веб-страниц и мобильных приложений, мы в Voximplant отгружаем разработчикам видео. Хочется Full HD, в реальном времени, без фризов, в любом браузере и конференция человек на 50. Что интересно, в лабораторных условиях оно именно так и работает. А вот в каком-нибудь парке на 3G видеоконсультация с доктором может превратиться в пошаговую стратегию: пакеты-то теряются! Современный стек технологий пока не позволяет на равных бороться с «мигающим» интернетом, но исследования постоянно ведутся. Под катом — адаптированный для Хабра перевод про Salsify: сплава видеокодека и сетевого протокола, минимизирующего проблемы при передаче видео в реальном времени.

Команда из Стенфорда провела эксперимент: заменила всё лоскутное одеяло современных технологий видеоконференций на один протокол сжатия и передачи по сети.

Видеоконференции: лллллаги, ффффффризы и дерганье


Через некоторое время проблемы проходят сами собой. Иногда — вместе с изображением, оставляя вместо него черный экран. Доставляемые неприятности живут в диапазоне от «подождем пару минут, сетка мигает» до «телеоперацию можно завершать, пациент умер». Ученые из Стенфорда подошли к проблема кардинально, разработав с нуля и сетевой стек, и кодек, и способ передачи данных с единственной целью: сделать лучше чем у Skype, FaceTime, Hangouts и Chrome+WebRTC.

Возглавляющий исследование аспирант из Стенфорда Саджад Фолади представил результаты на профильной конференции NSDI'18. Идеи, лежащие в основе решения «с чистого листа», доступны всем желающим и могут быть использованы в коммерческих решениях. Конечно, если кто-нибудь захочет заменить весь стек.


«Передача видео через интернет эволюционировала десятки лет. Сейчас стек технологий больше напоминает лоскутное одеяло», — говорит доцент компьютерных наук Кит Уинстейн. «Саджад показал, как можно собрать эти кусочки другим способом, чтобы получить видео лучшего качества и с меньшими задержками».

А вот насчет сроков внедрения Уинстейн более осторожен. «Сейчас мы думаем над изменениями, чтобы в один прекрасный день передача видео в реальном времени стала более надежной. Будет очень кстати в телемедицине и роботизированных операциях», — говорит он. «Но в тот софт, что используется сейчас, все эти изменения внести сложно».

Новый подход, новое имя


Стенфордская команда назвала свой фреймворк «Salsify» (Козлобородник, такой «цветок», отдаленно напоминающий одуванчик в юности — примечание переводчика). Фреймворк решает проблему, вызванную тем, что «передача видео в реальном времени» сейчас сшита из двух разных технологий. Это «кодек», который сжимает видео и «сетевой протокол», который передает по сети небольшие кусочки данных и пытается угадать, когда нужно отправить следующие кусочки, чтобы его нигде по пути не выкинули, потому что сеть перегружена и вообще все плохо. Проблема в том, что эти два компонента эволюционировали отдельно друг от друга, часто разными компаниями, а затем были совмещены в таких продуктах как Skype или FaceTime.

Фолади уверен: чтобы решить проблему с фризами и лагами, кодек и сетевой стек должны работать вместе. Ведь важно не просто вовремя отправить пакет по сети. Нужно, чтобы в этом пакете были правильные данные! А не кусок видео 3-секундной давности, который все равно будет выкинут на принимающей стороне как «слишком старый». Как говорит руководитель проекта, «когда транспортный протокол и кодек теряют синхронизацию – начинаются проблемы». Поэтому команда сделала новый кодек, который максимально интегрирован с транспортным протоколом. Один алгоритм управляет сжатием кадров видео, формированием сетевых пакетов и их отправкой. Таким образом, видеопоток «знает» о состоянии сети в реальном времени и пытается в нее «вписаться» по мере возможности.

Даже один отправленный невовремя кадр может привести к рывкам и фризам. Salsify никогда не отправит кадр, если он может привести к проблемам с сетью

Увидеть и поверить


Исследователи провели множество тестов, сравнив Salsify с Microsoft Skype, Google Hangouts, Apple FaceTime и Google Chrome+WebRTC. В среднем Salsify уменьшает задержку в четыре раза (!!!), а качество изображения становится на 60% лучше (по методике изменения structural similarity, SSIM). Готовы side-by-side сравнение с Chrome 65 WebRTC и сделан отдельный веб-сайт, посвященный проекту. Проект open source: можно скачивать, изучать, использовать наработки.

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

Voximplant

151,51

Облачная платформа голосовой и видеотелефонии

Поделиться публикацией
Комментарии 119
    +11
    Нативная поддержка в основных браузерах ожидается примерно никогда?
      +10

      И даже позже

      • НЛО прилетело и опубликовало эту надпись здесь
        • НЛО прилетело и опубликовало эту надпись здесь
            +14
            Я бы тоже минус поставил, но у меня кармы не хватает.
            • НЛО прилетело и опубликовало эту надпись здесь
                +6
                Добрая часть товаров созданы для тех, кто чего-то не умеет и не хочет учиться. Это абсолютно нормально не заниматься изобретением колеса, а платить тому, кто этому уже обучен, в данном случае — основным производителям браузеров за внедрение поддержки.
                • НЛО прилетело и опубликовало эту надпись здесь
                    +6
                    Я как понимаю, дом свой вы тоже построили, а не купили?
                    • НЛО прилетело и опубликовало эту надпись здесь
                        +6
                        Да мне вообще наплевать на видео звонки, я раз 10 за жизнь их использовал. Меня раздражает что вы считаете что я должен это знать. Можно подумать, что кроме войп технологий больше нет.
                        • НЛО прилетело и опубликовало эту надпись здесь
                          0

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

                        +1

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

                        • НЛО прилетело и опубликовало эту надпись здесь
                            +2
                            Так это Вы теплое с мягким путаете, а не aikixd
                            Сдают на водительское удостоверение не потому, что автомобилем сложно управлять, а из-за опасности этого управления. А вот по Вашей теории нужно обучаться пользоваться браузером, причем я так понимаю, для разных направлений отдельно, ещё и вероятно кофемолкой, для телевизора пару уровней аттестации вводить и т.п.
                            • НЛО прилетело и опубликовало эту надпись здесь
                                0

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

                      +3
                      Почему вы не обучитесь правильно писать по-русски?
                      • НЛО прилетело и опубликовало эту надпись здесь
                          +1

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

                  • НЛО прилетело и опубликовало эту надпись здесь
                      +7

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

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

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

                        • НЛО прилетело и опубликовало эту надпись здесь
                            +1

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

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

                        Не хватало еще каждую используемую программу вручную настраивать под все нюансы окружения.
                        • НЛО прилетело и опубликовало эту надпись здесь
                            +6
                            Сходите лучше книгу по voip какую нибудь почитайте

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

                            • НЛО прилетело и опубликовало эту надпись здесь
                            –9
                            Я программист, а не «специалист по настройке броузеров»
                            Нашла чем гордиться!
                            +3
                            Если для того чтобы «было все нормально» для технологии рассчитанной на домохозяек, нужно читать книги и специально настраивать — значит это уже ненормально.
                            • НЛО прилетело и опубликовало эту надпись здесь
                              +1
                              Вы, как знающий, расскажите мне, незнающему, что нужно настроить в браузере для работы WebRTC?
                            +1
                            Это очень круто!

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

                            Насколько это вообще реально/сложно реализовать?
                              +2
                              Скайп не поддерживает плагины и у него закрытый протокол. Но команда разработки скайпа или зума вполне могут воспользоваться этими наработками, о чем однозначно пишут авторы — «берите, пользуйтесь»
                                0
                                Я потому и взял «плагин» в кавычки. Но полагаю так или иначе связать функционал возможно, есть ведь программы записи звонков с интеграцией кнопки записи прямо в скайп. Да и не суть. Даже если для установки соединения будут отправляться видимые сообщения с кодом — не страшно. И если это будет надстройка не над скайпом, а на телеграм или любым другим популярным мессенджером — тоже не проблема. Для многих, вопрос качества связи весьма актуален. Любые подвижки в этом направлении — это отличные новости.
                                  +1

                                  Этот хомяк смотрит на вас с осуждением.
                                  dev.skype.com/hipmunk-case-study
                                    0
                                    Я на него тоже смотрю с осуждением. Потому что он — бот. А бот и плагин — это очень, очень разные штуки.
                                      0
                                      Сейчас у меня нет времени, но API существует, в частности по нему работают мои наушники Plantronics. А если копаться глубоко то вот вам начальная точка docs.microsoft.com/en-us/skype-sdk/skypedeveloperplatform
                                        0
                                        Мои соболезнования, со временем сейчас оч тяжело :( Апи, увы, не существует:
                                    0
                                    Чисто теоретически, возможно. К примеру в веб-версию Скайпа добавить кастомный скрипт добавляющий кнопку, а также идентифицирующий контакты и самого пользователя. Затем развернуть корпоративный сервер и готово, всего-то делов.
                                      0
                                      Т.е., добавить в веб-версию Скайпа хук, который будет осуществлять звонки в обход, собственно, Скайпа?
                                        0
                                        Да. Именно поэтому:
                                        Чисто теоретически, возможно.

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

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

                                                        tools.ietf.org/html/draft-ietf-rmcat-gcc-02 — это уже в каких-либо браузерах реализовано?
                                                          0
                                                          У меня нет информации, чтобы эта штука продвинулась дальше Proposal. Но, как я уже писал выше, мое личное мнение — что congestion control это история про максимизацию наполнения трубы, история о пропускной способности. Если мы хотим real-time и бороться с фризами то нам нужен flow control: то, что делают ребята. В современном сетевом стеке congestion, flow и ряд других механик работают вместе. Мой поинт в том, что изменением только congestion control на другой general-purpose congestion control вроде BBR не приведет к тем же результатам, как в видеоролике до ката. Просто потому, что технология создана для другого.
                                                            +1
                                                            В современном сетевом стеке 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 мог бы получать информацию о состоянии сети из алгоритма управления очередью, и, например, моментально уменьшать битрейт и насильно отправлять следующим кадром ключевой кадр, то было бы сильно лучше.
                                              0
                                              Сейчас реал-тайм видеосвязь в основном по UDP, так что управление TCP окном мало поможет. Sad, but true.

                                              «Быстро понимать, когда происходит потеря пакетов» — это одна из фундаментальных трудностей современного сетестроения. По сути каждый из endpoint'ов отправляет пакеты «в трубу» и вообще не представляет, что в этой трубе происходит и что появится на другом ее конце. Единственный способ как-то понять, что пакет потерян — это слать ACK'и с противоположной стороны. А это дополнительные задержки и проблемы вида «пакеты от нас ходят хорошо, пакеты к нам ходят хуже, на том конце видео выключили и ожидают видеть наше видео, а мы ждем ACK'ов, которые не приходят, и не понимаем, что наши пакеты на самом деле не теряются».
                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                  +1
                                                  BBR есть только в Chromium, как я полагаю. Другие реализации используют другие алгоритмы управления потоком.
                                          • НЛО прилетело и опубликовало эту надпись здесь
                                              +9
                                              Вы что, серьёзно предлагаете каждому пользователю каждого браузера заниматься тюнингом параметров браузера?
                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                  +7
                                                  Вы за эту самую вакханалию с опциями webrtc в браузерах здесь пламенно топите и утверждаете, что так и надо, попутно оскорбляя всех тех, кто недоволен сложившейся ситуацией. Так что логично, что минусуют не гугл, а лично вас.
                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                      +2
                                                      Ну так поведайте нам — неблагоразумным и глупым, о тайном знании настроек webrtc, что даст нам контент без задержек и лагов
                                                        +6
                                                        А минусующие это молодежь которая психует за то что не может освоить voip
                                                        Ставить диагнозы по интернету — детский сад.
                                                        Нет ничего хуже чем находиться среди непрофессионалов
                                                        Профессионализм/непрофессионализм здесь вообще не причем. Просто вам стоит поучиться вести дискуссии в приличном обществе.
                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                          +2
                                                          >>Нет ничего хуже чем находиться среди непрофессионалов
                                                          Ну так вали отсюда. :)
                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                              +2
                                                              Вообще не старался. Вообще. :)
                                                    +3

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

                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                        0
                                                        Доходит что?
                                                      +1
                                                      Вместо того, что бы намекать, что мы все идиоты и вообще вам известны «секретные» знания, может соизволите написать об этом статью?
                                                        +3
                                                        Подозреваю, что никаких «секретов» ему неизвестно, а всё это здесь расписывается просто для поднятия самооценки и чувства собственной важности. Как оно обычно и бывает.
                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                            +1
                                                            То есть я угадал. Забавно.
                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                        0
                                                        А пока это будущее не наступило, кто может посоветовать апп, чтоб общаться голосом (хотя бы голосом, Карл!) по IP с абонентом с подмосковным 3G от МТС? WhatsApp каждые пять секунд реконнектится, остальное время лагает, вычёркиваем. Если нет ничего, чтоб прокричаться через отечественный мобильный интернет, то есть ли хотя бы полудуплексные решения? Чтобы сказал фразу и нажал кнопку приём, на той стороне абонент ждёт, когда пока фраза скачается полностью, слушает и так же отправляет голосовой ответ.
                                                          0
                                                          Чтобы сказал фразу и нажал кнопку приём, на той стороне абонент ждёт, когда пока фраза скачается полностью, слушает и так же отправляет голосовой ответ.

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

                                                            0
                                                            Ну нет, надо чтоб был апп с одной кнопкой «приём», как на старых радиостанциях.
                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                                0
                                                                Искал, но в основном попадались странные или глючные поделия. Если вы пользовались сами чем-то, что подходит под моё описание, порекомендуйте.
                                                                  0
                                                                  Если вы пользовались сами чем-то, что подходит под моё описание, порекомендуйте.


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

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

                                                                0
                                                                Именно «приём»? Может, всё-таки, «передача»?
                                                                  +2
                                                                  Исторически, по окончании передачи абонент говорил «прием» и переводил радиостанцию в режим приема.
                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                                0
                                                                1. А полудуплекс, как я описал, почему нет?
                                                                1. А тогда как настроить тот же WhatsApp на другой кодек?
                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                    0
                                                                    Переформулирую вопрос. Есть ли звонилки, специально заточенные под плохой канал вроде подмосковного 3G от МТС, работающие лучше чем WhatsApp (он, как раз, пользует opus)?
                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                        0
                                                                        Вот представьте, что я спрашиваю у Вас, какой трактор обладает самой лучшей проходимостью, а Вы мне в ответ — «дорога может быть настолько хреновая, что любой трактор застрянет». Не спорю, может. Но это не означает, что можно ездить только по асфальту на легковушке. Так какие «3G-трактора» Вы знаете?
                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                            +1
                                                                            CSipSimple с OPUS попробуйте.
                                                                          +4

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

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

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

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

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

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

                                                                            +2
                                                                            Когда я работал в больнице и как раз немного с ВКС, никаких выделенных MPLS VPN в помине не было, было или ISDN или обычный ethernet, оборудование было или Polycom (ещё раньше) или Tanberg (ныне Cisco), правда это давно уже было 7лет назад и тогда только закупили c60 кодеки с камерами 1080p, а при мне только 720p были 3000 и 6000mpx.
                                                                            Интересно а, что сейчас используется? Потому как в то времена софтовые решения вообще нормально не работали.

                                                                            PS А у нас разве телеоперации разрешили, да даже не у нас? В первый раз про такое слышу.
                                                                              0

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

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

                                                                                У буржуев есть вариант бюджетных сумматоров для дома где плохая связь.
                                                                              +1
                                                                              ИМХО пропадание пакетов и качество видео это вообще перпендикулярные проблемы. На свежей(да и на 16 тоже можно) Ubuntu поставили bbr congestion и прекрасно общаемся голосом. Если падает канал никаким программным образом ту проблему не решить, чудес не бывает. Разумеется я имею в виду не разработку новых протоколов маршрутизации.
                                                                                +1
                                                                                Если падает — да. Если «мигает», то разница в восстановлении между 500мс и 2-3 секундами очень-очень большая
                                                                                  0
                                                                                  Каким образом bbr связан c RTP/RTCP?
                                                                                  +1
                                                                                  «Весь стек» — это включая IP/Ethernet/WiFI?
                                                                                    0
                                                                                    Нет, достаточно UDP пакетов. Основная сложность в congestion, а оно проявляется на всем пути между нами и другой стороной звонка. Так что тайные знания ethernet или wifi о состоянии канала от нас до точки доступа мало помогут :)
                                                                                    0
                                                                                    ну вот наконец то и Пегий Дудочник :)

                                                                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                    Самое читаемое