Frage

Ich arbeite für ein Unternehmen, in dem wir die Video-Chat-Unterstützung auf einer bestehenden Anwendung entwickeln. Ich habe an verschiedenen Lösungen für dieses wie

sah
  1. Mit Managed Direct Show für Video-Capture und Streaming in C #
  2. Einige Codebeispiele in Code Projekt, bei dem wir ein Bild nehmen und es über das Netzwerk passieren (ich es nennen würde eher eine grobe Lösung, da dies auf viel Bandbreite essen würde.
  3. -Code ein Kompressionsalgorithmus von Grund auf von Grund auf und verwenden Sie es-decompress zu komprimieren Video.

Jetzt ist die Herausforderung, dass wir eine sehr hohe Qualität Video-Streaming und die Container-Anwendung codiert in C # .NET

ist zu erreichen suchen

Dies ist, was ich bisher vorgeschlagen. Die Netzwerk-Logik Daten zu streamen ist in C # geschrieben, um die Video-Kompression in VC ++ geschrieben werden und nennt diese VC ++ dll mit pinvoke oder entweder CLI welcher Art und Weise möglich.

Ich bin auf der Suche nach jemandem mehr erfahren in diesem Bereich, dass mir, der mich vorschlagen kann, wenn Iam richtig gehen oder diese verbessert werden kann nach wie vor.

Das ultimative Ziel ist es, hochwertige Video-Streaming. Der Codec kann jeder etwas wie h.2633, h.264 etc.

War es hilfreich?

Lösung

ich verschiedene Weise verwendet habe leicht Video-Streaming / Conferencing mit .net zu bekommen, ohne die Notwendigkeit in Directshow zu graben. (Ok, graben einige, aber nicht tief:)

1) Die Verwendung von einfachen Windows Media Encoder-Komponenten. Es wird mit Proben in Windows Media Encoder SDK dokumentiert. Gut für jedes hochauflösende Streaming, aber Verzögerung ist zu groß für die Echtzeit-Chat (0,5-2 Sekunden bestenfalls). Moderne Express Encoder SDK eine weitere Option.

2) Microsoft Research ConferenceXP http://cct.cs.washington.edu/ Vollwertiges Conferencing-API einschließlich Anwendungs-Streaming. Sie zu niedrigen Pegel Windows Media Filter codiert und wickelte sie in verwaltetem Code. Funktioniert gut. Leicht anpassbar. Sieht aus Bit verlassen jetzt.

3) Microsoft RTC-Client bis zur Version 1.3 -. Kern von Windows Messenger

Profis: Managed Proben von Microsoft, gute docs, zuverlässige Leistung, frei verteilbar, Microsoft-kompatible (gut) SIP-Stack enthalten. Wichtige Conferencing-Anbieter wie Emblaze VCON stützten ihre Lösungen auf es in einiger nahen Vergangenheit, zu diesen Tagen nicht sicher, aber ich weiß, dass Tandberg Microsft VC-1 lizenziert.

Nachteile: Version bis zu 1.3 Unterstützung H261-H263 Video nur. moderne Version mit Unterstützung von VC-1 (H264) Codec erlaubt keine direkte serverless ip-IP-Verbindungen. Es spielt bei Microsoft Live Communications Server. Neuere Version SDK deckt nicht gut Videokonferenzgespräche.

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

Bitte lassen Sie uns wissen, welche Plattform Sie gewählt haben. By the way, habe ich auch ConferenceXP Video rtp Teil mit RTC 1.3 Stimme verwendet / SIP-Funktionen zusammen Videoqualität zu verbessern, so dass Sie große Auswahl an Managed-Technologien hier. Eine andere Sache ist Live Meeting, an dem ich keine Chance hatte noch guten Blick zu nehmen.

Andere Tipps

Sparen Sie sich die Mühe und VLC verwenden. Es gibt einige anständige .NET Wrapper für sie ( http: //forum.videolan .org / viewtopic.php? f = 32 & t = 52021 & start = 30 )

Wir sind mit C # und VLC für ein IPTV-Netzwerk. Wir nehmen Eingang DISH-Netzwerk Satelliten über Osprey-450 Videoaufnahmegeräte auf einem Windows XP-Server aus. Von dort haben wir eine .NET-Server-Komponente, die in C # geschrieben, die VLC verwendet hinter den Kulissen (separate Prozesse in .NET Starten der vlc.exe Instanzen zu kontrollieren). Die VLC-Prozesse transkodieren und streamen die Signale über ein Netzwerk (.H264 oder MPEG-4, wir haben beide erfolgreich durchgeführt).

Auf der Clientseite haben wir eine C # WinForm-Anwendung, die ein eingebettetes VLC Viewer verwendet Multicast-Signale anzuzeigen. Diese Anwendung ist vor allem für Command & Control. Die eigentliche Verwendung der Multicast-Signale geschieht, wenn unsere Set-Top-Box zu unserem TV dekodieren angebracht und die Ströme angezeigt werden soll.

Wir dachten, wir würden unsere eigenen DirectX-Encoder haben zu schreiben, aber gehen Sie nicht den ganzen Aufwand. VLC funktioniert wirklich gut und hat die Unterstützung genug C # sehr nützlich zu sein. Fühlen Sie sich frei, um mir eine E-Mail, wenn Sie spezielle Fragen zu Implementierung haben.

Sie sollten das Ucentrik SDK überprüfen. Dieses SDK ermöglicht es Ihnen, Rich-Media-Funktionen wie Video, Audio, Chat, Remote-Desktop-Sharing und die Kontrolle und Videoaufzeichnung in Ihren Anwendungen zu integrieren. Der Video-Codecs unterstützt werden VP8 (Google), Theora und x.264. Darüber hinaus wird der Rich-Media-Verkehr innerhalb eines HTTP-Protokolls verkapselt es zu ermöglichen, Firewalls zu durchqueren, die normalen Web-Datenverkehr ermöglichen. Diese Technologie ist völlig kostenlos und Sie können das SDK und fordern Sie einen API-Schlüssel herunterladen, damit Sie die Infrastruktur jederzeit ohne Investitionen zur Einrichtung auswerten können. In den nächsten Monaten veröffentlichen wir eine Server-Komponente, so dass Sie herunterladen und bewirten die Infrastruktur, um sich selbst oder Ihren Kunden. Die Technologie unterstützt die 1-zu-viele-Verbindungen, was bedeutet, dass Sie Videokonferenzen erstellen können, wenn Sie mögen. Die Funktionen sind sehr modular aufgebaut, so dass Sie nur das Video oder Audio oder Desktop-Aktien oder eine Kombination der Technologien integrieren können das gleiche SDK ... Sie sollen zur Verfügung steht hier für einen SDK anfordern: www.ucentrik.com. Darüber hinaus gibt es einige Videos hier: http://www.youtube.com/user/ucentrik

viel Glück.

Ucentrik hat gerade eine Open-Source-Call-Center-Anwendung veröffentlicht, die die CTX-Technologie integriert. Diese Call-Center-Anwendung implementiert das Video, Audio, Desktop / Application Sharing (mit Steuerung), Text-Chat-Funktionalität von dem CTX-API zur Verfügung. Die Anwendung enthält auch einige Business-Logik speziell um die Fähigkeit zur Strecke zu einem Agenten, die Anrufe bereitstellt, die verfügbar ist oder spezielle Fähigkeiten abstellt. Das Projekt finden Sie unter http://vcca.codeplex.com - Bitte beachten Sie, dass Sie Zugriff auf die Ucentrik benötigen CTX SDK, die für die Anforderung auf der Ucentrik Website (www.ucentrik.com). Viel Glück.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top