Video API Для создания приложения для видеоконференций

StackOverflow https://stackoverflow.com/questions/190334

Вопрос

В течение следующих шести месяцев я собираюсь создать приложение, которое будет функционировать как система двусторонней видеоконференцсвязи, а также обмениваться некоторыми другими данными взад и вперед.Вероятно, я буду использовать какую-нибудь относительно дорогую USB-веб-камеру, и мне известен стандарт устройства класса USB Video, который, похоже, подходит.

Теперь, что я могу использовать для программирования в этом (или каком-то другом направлении)?Операционная система не так уж важна, поскольку она не определена (будет выбрана в соответствии с общими потребностями), равно как и язык.Сеть будет VPN, в худшем случае симметричная 256 Кбит /с.В идеале он также обрабатывал бы кодирование и сжатие, но в основном я просто ищу какую-то отправную точку для начала исследований (пока что только что нашел TAPI и H.323, не уверен в лучшем способе их программирования).

Это было полезно?

Решение

с gnome у вас есть ekiga . Вы также можете скомпилировать его для win32. Он использует OPAL (Open Phone Abstraction Library) ниже. Возможно, сам инструмент подойдет для ваших нужд, в противном случае вы можете адаптировать его (OSS) или оставить только API низкого уровня.

Другие советы

Я согласен с PW.

  • ОПАЛ - отличный выбор.
  • Он поддерживает аудио- и видеоустройства
  • Он компилируется в Windows, Linux и некоторых других

Также - Я рекомендую использовать протокол SIP (в отличие от H323) - Вам не нужно использовать Ekiga.Ekiga - это интерфейс для OPAL.Вы можете взглянуть на образцы ОПАЛА и отталкиваться от них.

Я вообще не рекомендую использовать H.323 для создания новых приложений, особенно ориентированных на пользователя. Я бы порекомендовал SIP из-за гораздо более простых и чистых сигналов / переговоров e.t.c.

С другой стороны, я не рекомендую использовать OPAL, если вы создаете что-то с плотностью более 5 вызовов. Это связано с большим количеством архитектурных решений (управление потоками с некоторыми условиями гонки, очень сложное управление контейнерами с отложенным копированием, которое на самом деле делает вещи намного более опасными и т. Д.). Это из-за унаследованного подхода OpenH323 (действительно, библиотеки ptlib, которая использовалась для OpenH323).

Может быть, что-то изменилось с тех дней, когда у меня была головная боль с OpenH323 и ранним Opal, но я не думаю, что что-то основное.

Как насчет взглянуть на платформу FreeSwitch ? Люди говорят, что он намного лучше спроектирован.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top