Разработка Приложения Видео-чата с высококачественной потоковой передачей видео

Нет, они одинаковы. Но есть разница между:

Test t;      // create a Test called t

и

Test t();   // declare a function called t which returns a Test

Это из-за базового правила C ++ (и C): если что-то может быть объявлением, то это объявление.

Редактирование: повторите инициализацию проблем, связанных с данными POD и не-POD, в то время как я согласен со всем, что было сказано, я хотел бы просто отметить, что эти проблемы применимы только в том случае, вещь, созданная new'd или иначе построенная, не имеет определяемого пользователем конструктора. Если есть такой конструктор, он будет использоваться. Для 99,99% разумно спроектированных классов будет такой конструктор, и поэтому проблемы могут быть проигнорированы.

19
задан Sumit Ghosh 22 January 2009 в 20:38
поделиться

2 ответа

Я использовал несколько способов получения потокового видео/конференций с .net легко, без необходимости копаться в directshow. (Хорошо, покопайте немного, но не глубоко :)

1) Использование простых компонентов Windows Media Encoder. Документировано с примерами в Windows Media Encoder SDK. Хорошо подходит для любого потока высокого разрешения, но задержка слишком велика для реального чата (0.5-2 секунды в лучшем случае). Современный SDK Express Encoder еще один вариант.

2) Microsoft Research ConferenceXP http://cct.cs.washington.edu/ Полнофункциональный API для конференций, включая потоковое воспроизведение приложений. Слишком низкоуровневые кодированные фильтры Windows Media и завернутые в управляемый код. Работает хорошо. Легко настраивается. Выглядит немного заброшенным.

3) Клиент Microsoft RTC до версии 1.3 - ядро мессенджера windows.

плюсы: управляемые примеры от Microsoft, хорошие документы, надежная производительность, свободно распространяемый, совместимый с микрософтом (хороший) SIP-стек включён. Крупнейшие вендоры конференц-связи, такие как Emblaze VCON, основывали свои решения на нем в недалеком прошлом, не уверен на этот счет, но знаю, что Tandberg лицензировал Microsft's VC-1.

pros: версия до 1.3 поддерживает только видео h261-h263. современная версия с поддержкой кодека VC-1(h264) не разрешает прямые безсерверные ip-ip соединения. При этом требуется сервер Microsoft Live Communications. Более новая версия SDK плохо подходит для видеоконференций.

http://msdn.microsoft.com/en-us/library/ms775892(VS.85).aspx

Пожалуйста, сообщите нам, какую платформу Вы выбрали. Кстати, я даже использовал видео rtp-часть ConferenceXP с функциями RTC 1.3 voice/SIP вместе для улучшения качества видео, так что здесь у вас есть большой выбор управляемых технологий. Еще одна вещь - "Прямая трансляция", на которой у меня еще не было возможности хорошо рассмотреть.

23
ответ дан 30 November 2019 в 03:43
поделиться

Сохраните себя проблема и используйте VLC. Существуют некоторые достойные обертки.NET для него ( http://forum.videolan.org/viewtopic.php?f=32&t=52021&start=30 )

, Мы используем C# и VLC для сети IPTV. Мы берем вход от спутников DISH network через скопу 450 устройств видеосъемки на сервере Windows XP. Оттуда, у нас есть серверный компонент.NET, который мы записали в C#, который использует VLC негласно (начинающий отдельные процессы в.NET для управления экземплярами vlc.exe). VLC обрабатывает транскод и поток сигналы по сети (.h264 или MPEG-4, мы успешно сделали обоих).

На стороне клиента у нас есть приложение C# WinForm, которое использует встроенное Средство просмотра VLC для просмотра многоадресных сигналов. Это приложение главным образом для команды & управление. Реальное использование многоадресных сигналов происходит, когда наши поля вершины набора, присоединенные к декодированию нашего ТВ и, отображают потоки.

Мы думали, что оказывались перед необходимостью писать наши собственные кодеры DirectX также, но не переходим ко всей проблеме. VLC работает действительно хорошо и имеет достаточно поддержки C#, чтобы быть очень полезным. Не стесняйтесь посылать мне по электронной почте, если у Вас есть конкретные вопросы о реализации.

10
ответ дан 30 November 2019 в 03:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: