пятница, 18 февраля 2011 г.

Видео и Asterisk

Некоторые каналы сервера Asterisk имеют поддержку передачи видео:


  • SIP
  • IAX2

Каналы H323 (chan_h323, chan_oh323, chan_ooh323) не позволяют в данный момент совершать вызовы с поддержкой видео.

Поддерживаемые видео кодеки:

  • H.261
  • H.263
  • H.263p (Начиная с Asterisk, версии 1.4)
  • H.264 (Начиная с Asterisk, версии 1.4)

Стоит отметить, что поддержка видео в Asterisk версии 1.4 до сих пор в зачаточном состоянии (см. главу: основные моменты, ниже). Суммируя нижеизложенное, получаем:
  • Asterisk 1.4 имеет проблемы, связанные с согласованием видеокодеков.
  • Сервер Asterisk не обменивается и не распознает расширенные атрибуты для видеопотоков, такие как: profile/level (H.263+, MPEG4, H.264), полоса пропускания, standard annexes, частота кадров и размеры изображения.
  • Сервер Asterisk не предоставляет возможностей по проигрыванию файлов в классических видеоформатах, таких как: .mov, MP4 или файлов в формате 3gp.
  • Сервер Asterisk не предоставляет функционала по перекодировке из одного видеокодека в другой.

Для включения возможности совершать вызовы с поддержкой видео (для протокола SIP), отредактируйте файл sip.conf и добавьте параметр:

[general]
videosupport=yes


Для каждого SIP пользователя, Вам нужно указать поддерживаемые видеокодеки (см. примеры на этой странице). Если Вы не хотите полагаться на согласование видокодеков, которое существует в непропатченном сервере Asterisk версии 1.4.x (и не всегда корректно работает), убедитесь, что вы разрешили только один кодек для видео в Вашем файле sip.conf. Для решения этой проблемы, можно воспользоваться патчем, который описан ниже. И конечно, видеокодеки должны поддерживаться SIP телефонами, которые подключены к серверу Asterisk. Asterisk может работать только в прозрачном режиме при передаче видеопотоков.

Видеоконверторы для Asterisk

  • FFasterisk: Утилита для создания видео контекста для Asterisk. Она позволяет конвертировать MOV файлы в пару файлов .H.263 (для видео) и .wav (для звука), с которыми может работать сервер Asterisk.

Программное обеспечение для создания видеоконференций в Asterisk.

  • 1videoConference: VVoIP Решение с открытыми исходными кодами от Adiance.
  • Mediamixer от Sergio Murillo.
  • app_conference: имеет ограниченную поддержку видео.
  • Confiance.

Некоторые основные моменты, относительно использования видео в Asterisk


В сервере asterisk версии 1.4, выбор видеокодека содержит дефекты в алгоритме (также смотри данный bug report). Для решения это проблемы IVèS предложил патч, но он не был принят. Кроме того, другая независимая разработка с названием Asterisk videocaps, позволяет надлежащим образом согласовывать fmtp атрибуты, связанные с передачей видеопотоков, в SDP. Это решение было включено в trunk и может быть появится в Asterisk 1.6.

В asterisk 1.6 запланирована глобальная перестройка поддержки видео для различных каналов, но никаких технических условий по реализации не было опубликовано. Кто-то просто хочет включить поддержку videocaps и остановиться на этом. Некоторые имеют более амбициозные планы на этот счет. Рекомендуется ознакомиться со списком рассылки: Asterisk video.

Другая проблема, связана с форматом файлов, которые содержат видео приветствия и подсказки. На данный момент, Asterisk записывает содержимое RTP пакетов, включая некоторую информацию, связанную с таймингом, в файлы с расширением .h263, ph263p, .h264. Sergio Murillo разработал приложение MP4 asterisk apps, которое может проигрывать и записывать файлы в формате MPEG4. Но проблемы, связанные с патентами, не дают возможность компании Digium интегрировать это приложение в состав сервера Asterisk.

Поддержка перекодирования из одного видеокодека в другой (транскодинг) также не поддерживается и, вероятно, не будет поддерживаться в сервере Asterisk. Использование библиотеки ffmpeg для этих целей опять создаст проблемы с лицензированием и патентами. Транскодирование видеокодеков в Asterisk также создает проблемы связанные с уменьшением производительности сервера в целом. Однако, Sergio предложил приложение, которое может выполнять некоторые ограниченные функции, связанные с транскодированием видеокодеков, оно базируется на библиотеке ffmpeg и называется - app_transcoder. Приложение имеет ограничения в текущей версии, но может быть легко расширено по функциональности теми, кто имеет опыт программирования с использованием библиотеки ffmpeg.

Последний момент, представляющий интерес, это возможность обработки ISDN/3G видеовызовов с помощью Asterisk, используя разработки от Sergio. Для дополнительной информации по этому вопросу, смотри: эту страницу.

Следующее клиенты имеют поддержку видео, которая работает совместно с сервером Asterisk:

  • Ekiga: SIP H323 Video- H261. MPEG4/H263 в SVN
  • AuPix: видеотелефон с поддержкой протоколов SIP и H.323
  • Call Image Videotel: аппаратный видеотелефон с поддержкой протокола SIP
  • iFon: для PocketPC PDA
  • Linphone для ОС Linux - может и не поддерживать видео
  • Microsoft Windows Messenger: для ОС Windows
  • Wooksung: WVP-2000 SIP (аппаратный телефон)
  • Xten eyeBeam: для ОС Windows и OSX
  • Видеотелефон Leadtek BVP 8882 SIP.
  • Huawei ViewPoint 8220
  • Kapanga: Видеотелефон с поддержкой протокола SIP
  • GXV-3000: SIP видеотелефон с поддержкой видеокодеков h264 и h263, работающий по протоколу SIP (аппаратный)
  • Milliphone: многоплатформенный программный телефон с открытым исходным кодом
  • Yealink VP2009 - лучший ip видео телефон

Смотри: Видеотелефоны с поддержкой SIP протокола.

There is also some information how to make an 3G-H.324M (UMTS Video) - SIP gateway with asterisk: Asterisk H324M

Некоторые моменты, касающиеся голосовой почты и поддержки видео.


Когда Вы записываете сообщение для голосовой почты, Asterisk также может записывать видео... Единственная проблема, которая при этом возникает, это плохое качество в начале записи, связанное с отсутствием Intra-frame (первого кадра) при записи сообщения приветствия...

Call Image Videotel - содержит специальные возможности для создания нормальной записи, без каких-либо модификаций самого сервера asterisk (Замечание: на данный момент линк битый. Или videotel изменил имя страницы или прекратил поддержку данного продукта).

Обратите внимание: Когда Вы записываете сообщение, используется соответствующий кодек (для примера, пускай будет - H.264) и, если при проигрывании этого сообщения абоненту будет выбран другой видеокодек, тогда видео часть сообщения не будет отдана, т.к. asterisk не поддерживает транскодинг видеокодеков.

Настройка Windows Messenger для работы с сервером Asterisk (по протоколу SIP)


Пример настройки файла sip.conf:
[general]
videosupport=yes

[video2]
type=friend
username=video2
secret=hidden
host=dynamic
context=from-camera
callerid=Video 2 <1222>
canreinvite=no
disallow=all ; Windows Messenger выбирает неправильные кодеки, если указать: allow=all
allow=ulaw
allow=alaw
allow=speex
allow=gsm
allow=h261
allow=h263
allow=h263p

Комментариев нет:

Отправить комментарий