2013-06-14 4 views
1

Я занимаюсь некоторыми исследованиями в отношении того, как внедрять бесплатный, двухточечный видео/аудио-чат (т. Е. Собственный скайп без текстовых сообщений).Видео- и аудио-чат-протоколы/рамки

Я искал способы ее реализации, и я имел это следующие идеи:

  1. Многопоточные C++ (потому что я знаю, некоторые C++) программа получения аудио и видео (с Qr), посылая его через 2 разных UDP-сокета и чтение видео и аудио из 2 других разных UDP-сокетов из другой точки. Поэтому мне пришлось написать UDP-сервер и клиент многопоточную с суммой из 4 потоков: 2 для отправки аудио и видео, другие 2 для получения аудио и видео.

  2. Написание собственного протокола для включения видео и аудио в одном потоке, что-то вроде разбора половины размера пакетных данных для буферизации аудио и видео, что оставило бы мне всего 2 потока в приложении и многое другое. код ошибки для записи.

  3. Я искал некоторые протоколы в реальном времени, и некоторые из них выглядели интересными. Возможно, изучите и реализуйте интерфейсы для этих протоколов и используйте их вместо «создания» моих собственных.

Теперь собственно вопрос (ы):

  1. Есть некоторые документы о том, как это сделать? Может быть, некоторые «современные» apis/протоколы, которые используются или хорошо реализованы/подходят для решения этой проблемы?

  2. Если я хочу использовать аудио, отделенное от видео, является ли VoIP возможным решением для подключения аудио?

  3. Qt хороший инструмент для этой цели? Я никогда раньше не использовал Qt, а для видео- и аудиоинтерфейсов я также думал о openframeworks, поэтому мне было интересно, если кто-либо когда-либо использовал одну из этих фреймворков, и если это правильный выбор.

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

Спасибо.

+0

Я новичок в Qt. Получили ли вы правильное решение для аудио и видеочат в qt framework? У меня такое же требование. Я попробовал googling для того же, но не получил никакой библиотеки для C++. –

ответ

1

Во-первых, вы должны ответить на вопрос: как ваши клиенты должны подключаться/авторизироваться без серверной части?

Примечания: 1) У Skype есть серверы. 2) Многие интернет-пользователи посещают веб-интерфейс NAT/Proxy.

Ofc, вы можете попробовать реализовать что-то для обучения, но если вы хотите создать что-то полезное - попробуйте решения третьей стороны, созданные специалистами. Например: google libjingle.

+0

Это для учебных целей.Я знаю, что у Skype есть серверы, и что мое приложение должно иметь их тоже, если я хочу сделать его общедоступным, но, и по крайней мере на данный момент, я просто хочу знать, какую технологию мне нужно изучать для этой цели. О libjingle, похоже, хорошая структура, я этого не знал. Большое спасибо. И большое спасибо за понимание. Я впервые заработал здесь щедрость, чтобы привлечь внимание. Мог бы сделать это по-другому, но я ненавижу дубликаты :) –

+0

На ваш вопрос не удалось ответить на одной странице. Создание таких вещей - это тема для книг и требует глубокого знания топологии сетей/торрентов. Вы можете начать исследовать источник libjingle и документацию. –

0

Вам нужно VOIP библиотеки :)

Там нет необходимости начинать с нуля, вы можете использовать OpenSource библиотеки, как: opalvoip

+0

Вы можете предложить интеграционную документацию для opalvoip, потому что их сайт является паузой? Заранее спасибо. –

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