Pull to refresh
VK
Building the Internet

Что нового в ICQ 7.5?

Reading time 6 min
Views 16K
Мы рады сообщить, что выпустили новую версию ICQ 7.5, в основном она была посвящена улучшению аудио- и видео-возможностей сервиса. Хотим рассказать о том, что же стало лучше.

Итак:

1. Улучшенный полноэкранный видеочат


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

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

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

2. Улучшена стабильность и производительность

3. Улучшена надежность соединения и скорость работы через сервер, если peer-to-peer установить не удалось.

Видеозвонки в ICQ реализованы с использованием стандарта ICE для сетевых соединений через Firewall и/или NATs. Основная идея состоит в том, что обе стороны собирают информацию о доступных IP-адресах и портах, передают ее друг другу. Затем каждая сторона пытается послать пакет данных по этим адресам и ожидает подтверждения посылки. Пара IP-адрес/порт считается подходящей для обмена медиа-данными, если подтверждение получено.

Технология ICE эффективна при поиске решений для обхода ограничений, устанавливаемых firewall-ами, но у нее есть один существенный недостаток – потенциально длительное время для установки соединения. Разработчики ICQ понимают, что для пользователей очень важна быстрая установка соединения, поэтому в версии 7.5 реализация технологии ICE была изменена и добавлено использование по возможности соединения через сервер, если подтверждение peer-to-peer соединения ещё не получено. Данная оптимизация срабатывает только в случае нескольких неудачных попыток установки peer-to-peer соединения или по истечении определенного промежутка времени.

Главное улучшение в процессе ICQ соединения – это использование технологии RTP multiplexing, при которой RTP и RTCP пакеты посылаются через один UDP-порт, использующий меньше системных ресурсов, и для которой, что наиболее важно, при работе через firewall требуется меньше открытых портов. Так, например, при видеозвонке без multiplexing клиент должен открыть 4 порта, тогда как с использованием новой технологии звонок может вестись через единственный порт.

4. Новый кодек LSVX
В предыдущей версии ICQ для видеочата использовался кодек VP71. Этот кодек используется большим количеством клиентов для видеочата. Новая версия ICQ использует LSVX-кодек, который является частью широко известной технологии VideoEngine компании Global IP Solutions. Полную информацию о кодеке LSVX можно найти, перейдя по ссылке files.mail.ru/HTQUSB, ниже приведены основные моменты:

Ключевые достоинства:
• Лучшее по сравнению со стандартными кодеками (H.263, VP6, VP7) качество видеоизображения
• Огромный цветовой диапазон и четкость при lower bit rates
• Эффективное использование CPU – код оптимизирован для работы с современными процессорами
• Повышенная устойчивость к потере пакетов
• Не требует сторонних лицензий

Технические преимущества
• Декомпозиция осуществляется над изображением в целом, а не над отдельными его блоками
• Ускоренные вычисления
• Ключевые кадры вставляются при смене сцены или после последовательности интенсивных движений
• Улучшенные межкадровые переходы, благодаря качественным ключевым кадрам

Основными преимуществами кодека LSVX для ICQ стали маленькая загрузка процессора и устойчивость к потере пакетов. В современных сетях, особенно при использовании Wi-fi, потеря пакетов и задержки – это действительность, поэтому толерантность LSVX к этим фактам стала огромным преимуществом для ICQ.

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

ICQ использует предустановленные настройки LSVX: кодек пытается поддерживать высокую скорость кадрирования за счет качества кодирования, ограниченного определенными условиями, или за счет высокой потери пакетов. После устранения сетевой перегрузки кодек ступенчато восстанавливает качество и возвращает скорость кадрирования к первоначальному уровню.

5. Поддержка всех возможностей современных web-камер, включая VGA режим и high frame rates

При использовании с ICQ новейших web-камер качество видео звонка представлено на высочайшем уровне – особенно впечатляющий результат мы получили с камерами Logitech P9000. Для получения более насыщенного и реалистичного изображения на принимающей стороне ICQ применяет постобработку полученного камерой изображения. Наш видео модуль адаптирует скорость кодирования и разрешение к возможностям web-камеры и мощности центрального процессора. Если мощности центрального процессора недостаточно для предустановленного по умолчанию VGA разрешения видеозвонка видео модуль динамически изменяет настройки для достижения желаемой минимальной скорости кодирования. И в тоже время видеомодуль ICQ может кодировать и передавать true 30fps видео, если позволяют возможности сети, компьютера и освещения, а также установлена web-камера с датчиками движения (например, availability of motion JPEG).

6. Поддержка качества видео при загруженном CPU другими задачами.

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

Интересно отметить, что начиная с Windows Vista Microsoft использовал для решения подобных проблем на уровне операционной системы Multimedia Class Scheduler. Данный функционал в основном используется Media проигрывателями для предотвращения проблем при просмотре видео, он также доступен разработчикам сторонних приложений, но мы отказались от его использования из-за неопределенности его поддержки в новейших операционных системах и из-за побочных эффектов при работе с сетью.

7. Сокращение задержек при работе через TCP, если UDP закрыт фаерволом.

Соединение ICQ высокоусточиво и работает с большинством firewall-ов, даже если исходящий UDP порт полностью закрыт. TCP соединение устанавливается через сервер, расположенный на площадке mail.ru.
TCP выдвигает новый набор требований для передачи информации в режиме реального времени, так как в основном TCP алгоритмы предотвращения перегрузок не совместимы с принципом VoIP: «Лучше никогда, чем поздно». Бесперебойность видеозвонка при подключении по TCP разработчики ICQ реализуют посредством автоматического ограничения разрешения и кадрирования изображения для избежания перегрузок и, как следствие ретрансляций по TCP. Также разработчики ICQ оптимизировали принимающий модуль, занимающийся пересылкой полученных пакетов из системного буфера настолько быстро, насколько это возможно, что позволяет избежать задержек отправки ACKs и поддерживать высокую пропускную способность. Работа над оптимизацией TCP соединений не закончена и будет продолжена в следующих версиях.

8. Улучшена работа с Windows Vista

Операционная система Windows Vista внедрила концепцию «Default Communications Device», которая лучше всего демонстрируется на примере: представим компьютер, к которому одновременно подключена гарнитура и акустическая система. Пользователь может прослушивать музыку или просматривать видео с YouTube, используя основную акустическую систему, а при звонке через компьютер использовать гарнитуру. Такое двойное конфигурирование стало доступно приложениям для настройки, начиная с Windows Vista. ICQ также корректно использует микрофон и гарнитуру, настроенные по принципу «Default Communications Device», если только пользователь явно не укажет в настройках для звонка другое устройство.

Если «коммуникационное устройство по умолчанию» не настроено и пользовательская конфигурация не определена, то в этом случае ICQ будет работать, используя текущие системные устройства для видеозвонка.

Слежу за комментариями, обратная связь очень интересна.
Tags:
Hubs:
+1
Comments 307
Comments Comments 307

Articles

Information

Website
vk.com
Registered
Founded
Employees
5,001–10,000 employees
Location
Россия
Representative
Миша Берггрен