2014-02-19 3 views
6

Я работаю над приложением wpf, которое, как предполагается, имеет функцию видеовызовов. Поэтому я отправляюсь в Skype, чтобы предоставить мне решение.Видео-вызов в настольном приложении .net

Для этого я пользуюсь библиотекой Skype4COM. Я получил всех друзей из Skype в своем приложении, я могу позвонить своим друзьям и даже сделать видеовызов, но я не могу управлять потоковой передачей. Видео отображается в окне Skype, я хочу показать его внутри своего приложения, как часть моего приложения.

Я даже не знаю, какой контроль следует использовать для обработки потокового видео.

Если есть еще один лучший способ или бесплатный способ добавления видеовызовов в приложение WPF. Я готов изменить свои предпочтения.

У меня были предыдущие планы использования управления веб-браузером и переход на WebRTC, но это не поддерживает IE и полагает, что у браузера Mozilla и Chrome нет управления веб-браузером.

+0

Обратитесь к [Интеграция Skype в приложениях WPF] (http://code.msdn.microsoft.com/windowsdesktop/Skype-Integration-in-WPF-6fc42a1e#content). Это может помочь вам. –

+0

@JohnStephen Я занимался этой статьей при разработке приложения, но это ограниченный чат и вызов, а не видеовызов – MegaMind

ответ

4

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

Вы можете посмотреть Libjingle или ConferenceXP Google для отправной точки.

Чтобы создать видеоконференцию вам потребуется следующая информация:

  1. Кого вы можете назвать? Это список ваших друзей. Вам нужен механизм для добавления друзей в ваш список и убедитесь, что вы можете добавлять только друзей, которые готовы общаться с вами.

  2. Как установить канал связи с друзьями? Например, что такое их IP-адрес, могут ли они поддерживать определенный видеокодек и так далее.

  3. Как только вы установили способ общения с вашим другом, возникает вопрос получения аудио- и видеоинформации и отображения ее с правильным временем.

Для точек 1 и 2 вам нужно будет, что называется протоколом сигнализации и присутствия. SIP и XMPP - два очень популярных протокола open.

Для точки [3] вы должны посмотреть на протокол типа RTP.

Вы можете использовать SIP, XMPP и RTP Google. Вы получили бы широкий спектр литературы. Посмотрите документы RFC для получения точной информации, что они могут быть немного тайными.

Libjingle - это библиотека, написанная на C++, реализующая XMPP и RTP. ConferenceXP - это реализация RTP на C# с некоторой базовой сигнализацией, но я думаю, вы можете начать с примеров, не вникая в детали.

+0

Привет, ваш ответ интересен, можете ли вы рассказать о нем, чтобы он был намного полезнее для меня и других пользователей с теми же проблемами. – MegaMind

+0

Посмотрите мои правки в ответ. Это просто сводка .. но надеюсь, что это даст вам лучшую идею – Saibal

3

Вы можете или не можете контролировать этот экран. Если skype решит поделиться этим уровнем контроля с вами.

Но похоже, что библиотека skype4com находится в тупике. Он скоро прекратит работу. :(

http://gigaom.com/2013/07/13/skype-says-it-will-kill-desktop-api-by-end-of-2013/

http://aragonresearch.com/microsoft-kills-skype-desktop-apis-leaves-developers-scrambling/

Я рекомендую вам не тратить время на skype4com, но искать другие решения, чтобы получить видео-чат работает.

Пожалуйста, перейдите по следующей теме , так как это discussess несколько альтернативных способов для видеочата.

Developing a Video Chat Application with high quality video streaming

Еще одна многообещающая вещь - Bittorent Live. Но вам придется подождать. Он утверждает, что

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

http://live.bittorrent.com/

Его еще не открыты, давайте смотреть :)

 Смежные вопросы

  • Нет связанных вопросов^_^