Как стать автором
Обновить
68.96
Voximplant
Облачная платформа голосовой и видеотелефонии
Сначала показывать

Угнать за 1100 секунд – самый странный баг, который я видел

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

Два дня назад я получил странное сообщение от клиента: видеозвонок загадочно оборвался ровно через 18 минут. А потом это случилось снова, также после 18-ой минуты. Совпадение?

Этот баг был не только странный, но и страшно неловкий. Наша цель – делать настолько простой инструмент для видеозвонков, чтобы условный доктор или психолог захотел бы пользоваться нашим сервисом. Надо ли говорить, что постоянный разрыв через 18 минут не согласуется с такой целью?
Читать дальше →
Всего голосов 89: ↑86 и ↓3 +83
Комментарии 27

Секреты Stack Overflow

Время на прочтение 5 мин
Количество просмотров 64K
Приветствую, коллеги. За последние несколько лет Stack Overflow стал полезнейшим инструментом для разработчиков. Множество вопросов, заданных Гуглу и Яндексу, в первых же ссылках ведут на понятные и исчерпывающие ответы на этом ресурсе. Большинство разработчиков используют сайт Stack Overflow именно как базу знаний программистов, возможность быстро получить нужный ответ. Под катом я расскажу про несколько интересных кейсов подводной части айсберга: спрятанные ответы, награды, прокачивание кармы и многое другое, скрытое от поверхностного взгляда.

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

Зачем нужен Refresh Token, если есть Access Token?

Время на прочтение 4 мин
Количество просмотров 225K
Недавно мы в Voximplant улучшали авторизацию в SDK. Посмотрев на результаты, я несколько опечалился, что вместо простого и понятного токена их стало две штуки: access token и refresh token. Которые мало того что надо регулярно обновлять, так еще документировать и объяснять в обучающих материалах. Помня, что в OAuth два токена нужны в основном из-за разных сервисов, на которых они используются (даже вопрос на stackoverflow есть), а у нас такой сервис один, я несколько офигел и пошел на второй этаж вытрясать души из разработчиков. Ответ получился неожиданным. Его нет на stackoverflow. Зато он есть под катом.
Читать дальше →
Всего голосов 74: ↑70 и ↓4 +66
Комментарии 296

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

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

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

Перчатки для тех, кто всё усложняет

Время на прочтение 3 мин
Количество просмотров 25K
Хорошее программное обеспечение всегда находится под атакой критиканов. С одного фронта нападают дилетанты, которым как-то удалось заполучить масштабный проект несмотря на то, что они буквально вчера ночью дочитали «Программирование для чайников». Затем идут профессиональные дилетанты, которые добились успеха после своего первого контракта (читай: получили деньги, которые впоследствии у них не отсудили – несмотря на то, что они разработали бесполезный продукт). И после этот сделали себе карьеру, просто повторяя этот «успех» снова и снова. Наконец, есть те, кто всё усложняет. Самое плохое, что к их числу часто примыкают лучшие из нас (по крайней мере на один-два проекта).

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

Dav1d – самый быстрый декодер AV1 теперь в Firefoх по умолчанию

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

Вступление от Voximplant


Да, мы не впервые пишем про AV1 – у нас уже был перевод про Chrome 70 с поддержкой кодека, и вот мы снова делимся новостями. В этот раз – слово Nathan Egge, старшему инженеру Mozilla и участнику фонда Xiph.org, который порадовал новостью про дефолтную поддержку AV1. Трудно переоценить важность этого кодека для современных стриминговых сервисов, равно как и для real-time приложения для аудио/видеосвязи. Почему dav1d, чем он отличается от первого декодера AV1, немного графиков из бенчмарков и прогноз на будущее – коротко и по делу, прошу под кат.
Читать дальше →
Всего голосов 57: ↑56 и ↓1 +55
Комментарии 17

GitLab CI: ветки больше не нужны

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


Неделя GitLab CI на Хабре! В 2015 году мы уже писали о встроенной в GitLab системе Continuous Integration. GitLab часто ругают за предательство идеалов UNIX way и интеграцию слишком большого количества функций в одно приложение. Зато насколько удобно пользоваться этими функциями! За те полтора года, что прошли с момента нашей публикации, ребята сделали «Environments», добавили возможность сделать кнопку «раскатать на прод» и множество других улучшений. Под катом я расскажу о накопленном опыте, как небольшим командам автоматически собирать и выкладывать на прод/стейдж не только скрипты Voximplant для телефонии, но и другие проекты — сайты и сервисы.
Всего голосов 55: ↑54 и ↓1 +53
Комментарии 21

Перевод: Инструкция по проведению code review

Время на прочтение 3 мин
Количество просмотров 37K
Не так давно мой коллега переводил интересную статью о code review, перевод хабражителям понравился. А сегодня утром запутанный граф кроссылок вывел eyeofhell на еще более крутую статью. Вашему вниманию предлагается перевод краткой, но емкой инструкции о том, как делать review чужого кода и пережить review собственного. В отличие от упомянутой выше статьи, эта больше фокусируется на практических аспектах code review и содержит множество полезных рекомендаций как и что делать, чтобы не было мучительно больно. Хинт: чтобы почитать оригинал, кликните на имени автора в плашке под переводом.

осторожно, под катом - много англицизмов!
Всего голосов 59: ↑56 и ↓3 +53
Комментарии 19

Что нужно сделать перед тем, как выложить код открытого программного обеспечения

Время на прочтение 3 мин
Количество просмотров 28K
Выложить проект с открытым программным кодом – это больше, чем выложить код в Интернете.

Интерес к программным продуктам с открытым исходным кодом растёт последние 10 лет. Linux стоит и в стиральных машинах, и в боевых дронах. Большинство программистов не могут представить свою жизнь без широкого ассортимента бесплатных и открытых инструментов в своем распоряжении.

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

Чем вы можете помочь своему проекту, чтобы его заметили?

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

Шел 2017 год. Где UDP фрагментация?

Время на прочтение 4 мин
Количество просмотров 25K
VoIP — это термин-зонтик. Набор технологий, протоколов и просто buzzword'ов, которые относятся к передаче голоса (и видео!) по компьютерным сетям (локальным или интернет) вместо телефонных. И да, большая часть телеком-провайдеров всё ещё использует для передачи голоса собственные сети вместо интернет. С недешевыми коробочками, куда втыкаются T1 и E1 провода.

Чаще всего, для айтишников, не работающих в телекоме, VoIP – это связка RTP/RTCP для передачи голоса/видео плюс SIP – для договориться, кому и как передавать. Именно это связка позволяет подключить офисные «SIP телефоны» к Bitrix24 или Asterisk. Оба протокола могут работать как по TCP, так и по UDP. С передачей голоса по RTP вопросов нет: за редчайшим исключением используется UDP протокол, а кодеки компенсируют потерянные пакеты, так что собеседник почти не «квакает» даже не на самом лучшем канале связи. А вот с SIP история более печальная.

И что с ним не так? Все же TCP используют!
Всего голосов 59: ↑55 и ↓4 +51
Комментарии 63

Как аккуратно залезть в кишки WebRTC при передаче голоса и видео

Время на прочтение 5 мин
Количество просмотров 12K
WebRTC — технология интересная, но чуток запутанная. В первую очередь тем, что это не одна технология, а комбайн. Захват видео с камеры и звука с микрофона. Установка peer-to-peer подключения между двумя браузерами с протыканием NAT по мере возможности. Передача звука и видео по этому подключению, с пониманием, что передаются realtime данные: кодеки, пропускная способность, потеря кадров, вот это всё. Ну и, наконец, воспроизведение полученного в окне другого браузера. Или не браузера, это уже как зайдет. Ах да, еще — realtime передача пользовательских данных по той же схеме для игр, датчиков и всего того, где недопустимы лаги tcp websocket. Мы в Voximplant постоянно копаемся в кишках технологии, чтобы у клиентов были качественные звук и видео во всех случаях, а не только по локальной 100-мегабитке. И нам было очень приятно почитать на прошлой неделе интересную статью, которая рассказывает, как в этих кишках правильно копаться. Предлагаем вам тоже почитать адаптированный перевод, специально для Хабра!
Читать дальше →
Всего голосов 53: ↑52 и ↓1 +51
Комментарии 3

Привычка Stack Overflow

Время на прочтение 4 мин
Количество просмотров 42K
Stackoverlow уже стал незаменимым инструментом для множества разработчиков. Продвигаемая авторами модель использования – это “база знаний”. Набираем вопрос в гугле → попадаем на stackoverlow → читаем ответ → profit! Так сайт работает для большинства – за счет гораздо меньшей группы разработчиков, которая отвечает на вопросы. Зачем они это делают? Большинство – для повышения собственной квалификации и социальной реализации. И для карьеры полезно, и комплексы стороной обходят, и кризис среднего возраста не придет. Под катом – перевод статьи одного такого разработчика, который делится своими практическими наработками о том, как ему удалось отвечать на вопросы начинающих разработчиков каждый день.

stackoverflow for fun and profit!
Всего голосов 64: ↑57 и ↓7 +50
Комментарии 75

WaveNet: новая модель для генерации человеческой речи и музыки

Время на прочтение 5 мин
Количество просмотров 38K
Наша облачная платформа Voximplant — это не только телефонные и видео звонки. Это еще и набор «батареек», которые мы постоянно улучшаем и расширяем. Одна из самых популярных функций: возможность синтезировать речь, просто вызвав JavaScript метод say во время звонка. Разрабатывать свой синтезатор речи — на самая лучшая идея, мы все-таки специализируемся на телеком бэкенде, написанном на плюсах и способном обрабатывать тысячи одновременных звонков и снабжать каждый из них JavaScript логикой в реальном времени. Мы используем решения партнеров и внимательно следим за всем новым, что появляется в индустрии. Хочется через несколько лет отойти от мема «Железная Женщина» :) Статья, адаптированный перевод которой мы сделали за эти выходные, рассказывает про WaveNet, модель для генерации звука (звуковых волн). В ней мы рассмотрим как WaveNet может генерировать речь, которая похожа на голос любого человека, а также звучать гораздо натуральнее любых существующих Text-to-Speech систем, улучшив качество более чем на 50%.

Мы также продемонстрируем, что та же самая сеть может использоваться для создания других звуков, включая музыку, и покажем несколько автоматически сгенерированных примеров музыкальных композиций (пианино).
Очень много интересного
Всего голосов 47: ↑47 и ↓0 +47
Комментарии 20

Релиз VirtualBox 5.0

Время на прочтение 1 мин
Количество просмотров 58K
Вчера утром была выпущена бесплатная кроссплатформенная виртуальная машина Oracle VirtualBox версии 5.0. Среди улучшений: drag-and-drop файлов и папок, шифрование жесткого диска на лету и многое другое. Краткий список улучшений под катом, скачать можно с официального сайта.
Читать дальше →
Всего голосов 55: ↑51 и ↓4 +47
Комментарии 60

По пути к QUIC: что лежит в основе HTTP/3

Время на прочтение 9 мин
Количество просмотров 24K
Новая веха Интернет-истории начинается на наших глазах: можно считать, что HTTP/3 уже объявлен. В конце октября Mark Nottingham из IETF предложил уже определиться с названием для нового протокола, над которым IETF корпит с 2015 года. Так вместо QUIC-подобных названий появилось громкое HTTP/3. Западные издания уже писали об этом и даже не один раз. История QUIC началась в недрах Корпорации добра в 2012 году, с тех пор только серверы Google поддерживали HTTP-over-QUIC соединения, однако время идет и вот уже Facebook начал внедрять эту технологию (7 ноября, Facebook и LiteSpeed осуществили первое взаимодействие по HTTP/3); на данный момент доля сайтов, поддерживающих QUIC – 1,2%. Наконец, рабочая группа WebRTC тоже смотрит в сторону QUIC (плюс см. QUIC API), так что в обозримом будущем реалтайм видео/аудио будет ходить по QUIC вместо RTP/RTCP. Поэтому мы решили, что будет здорово раскрыть подробности IETF QUIC: специально для Хабра мы подготовили перевод лонгрида, расставляющего точки над i. Enjoy!
Читать дальше →
Всего голосов 45: ↑44 и ↓1 +43
Комментарии 24

Используем oEmbed, чтобы добавить телефон в хабрапост

Время на прочтение 2 мин
Количество просмотров 5.2K
Неделю назад произошло очередное улучшение Хабра, и кроме всего прочего, была добавлена возможность вставлять контент с помощью механизма oEmbed. Я хочу немного рассказать, что это за зверь, и продемонстрировать, как он работает с чем-нибудь популярным, вроде jsFiddle, чтобы добавить в хабрапост необычное. Например — телефон.

Всего голосов 46: ↑44 и ↓2 +42
Комментарии 4

Уменьшаем размер публикуемых npm модулей

Время на прочтение 6 мин
Количество просмотров 8.1K
По умолчанию npm публикует в registry весь модуль целиком. За исключением явно указанных в .gitignore файлов. Это отбрасывает зависимости, но все равно позволяет куче не очень нужных файлов просочиться в опубликованное. После чего благодарные пользователи ждут, пока все это скачается. Для grunt, кстати, ждать придется порядка 6 мегабайт. А он такой обычно не один.

Я решил разобраться, как измерить размер своих модулей после публикации и, по возможности, этот размер уменьшить. В качестве примера буду использовать модуль check-more-types, который содержит всего несколько файлов. Плюс юнит тесты и документацию, которая собирается в README markdown файл.
Читать дальше →
Всего голосов 44: ↑43 и ↓1 +42
Комментарии 8

Перевод. Срезаем углы: почему rails может убить ruby

Время на прочтение 4 мин
Количество просмотров 26K
Вашему вниманию предлагается перевод статьи Piotr Solnica, опытного ruby разработчика и одного из авторов популярного Ruby Object Mapper. Переводчик в целом разделяет позицию автора.
Осторожно, под катом много англицизмов!
Всего голосов 58: ↑50 и ↓8 +42
Комментарии 95

На связи следственный комитет РФ — как мошенникам удается обходить все мыслимые и немыслимые законы

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 22K

Сколько раз, отвечая на звонок, вы слышали «Иван Иванов? Добрый день! Лейтенант Петр Петрович, главное управление МВД/ секретная служба безопасности Центрального банка России/ Следственный комитет/ подставьте свое»? Знаем, что чаще, чем спойлеры к последнему сезону «Игра престолов», ведь, по данным опроса Национального агентства финансовых исследований, в мае—июне 2021 года 89% россиян получили спам-звонки. Как с технической точки зрения мошенникам и спамерам удавалось дозвониться до нас, и кто пытается забрать у них эту привилегию, рассказывает Михаил Борисов (облачная платформа Voximplant). 

Что было дальше
Всего голосов 43: ↑42 и ↓1 +41
Комментарии 244

Исследование: если покупатель понимает, что говорит с чат-ботом, то покупка не состоится вовсе

Время на прочтение 4 мин
Количество просмотров 19K
Нет времени объяснять, вот главные постулаты сегодняшнего перевода:

  • чат-боты не имеют предельных издержек и продают в 4 раза больше, чем люди;
  • вероятность продажи падает на 79%, если люди понимают, что говорят с роботом;
  • потребители воспринимают роботов как менее компетентных и эмпатичных.

Под катом – подробности исследования и инсайты от ученых. Приятного чтения!

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

Информация

Сайт
www.voximplant.com
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия