Domanda

Come SL 4.0 ha ottenuto il video e il supporto Mic ...

Come fattibile è quello di fornire funzionalità VOIP (voice streaming in tempo reale in tutta massimo di 5 utenti) su Silverlight 4.0, per un'applicazione web based?

Quali sono tutti i relativi problemi?

È stato utile?

Soluzione

Una parte della soluzione è stata recentemente fornito sotto forma di CSpeex , una porta di un vecchio porto Java di una vecchia versione di Speex (c. 2003). Ho giocato intorno con esso, e funziona sicuramente (per esempio, 10x o una migliore compressione). Tuttavia, è ancora necessario per lo streaming di questi pacchetti fino ad un server da qualche parte, e non sembrano essere eventuali implementazioni Silverlight su RTP / RTSP / SIP o RTMP, quindi a questo punto dovreste rotolare il proprio network streaming supporto contenitore. Inoltre, a meno che non si vuole fare tutti gli utenti indossano le cuffie, si sta andando a voler cancellazione dell'eco acustico, e questo è un altro paio di maniche del tutto. Ci sono alcuni ottimi implementazioni open source (ad esempio, speexdsp), ma sono tutti dritti C, e difficile da porto. Quindi sei sul proprio lì. Ci sono probabilmente sarà qualche risposta open source a tutto questo nei prossimi mesi / anni pochi, ma i pezzi non sono a posto ancora.

Altri suggerimenti

Molto dipende da come il nuovo supporto SL4 mic / video viene implementato. Si avrebbe bisogno di includere il codice che è in grado di

  1. Codifica la voce in un flusso di byte
  2. Inviare il flusso di byte per l'altra parte / parti
  3. Ricezione / decodifica il flusso di byte in un segnale audio

Credo SL4 ha qualche supporto COM previsto, quindi se ci sono open source (o pagati) non gestito C ++ o VOIP libreria di audio-codifica là fuori, si potrebbe essere in grado di collegare in loro.

Ci sono più librerie che si possono usare. Ad esempio: conaito, ABTO llc, IndependentSoft SIP, che lavorerà con Silverlight 4.0. Conaito e ABTO utilizzare script Java per collegare nel loro client web, mentre IndependentSoft hanno un assembly gestito.

conaito e ABTO sono buone, ma le loro librerie sono un po 'obsolete a causa di loro che sono OCX e l'utilizzo di COM del dll che può rompere la vostra distribuzione.

IndedenpentSoft è più facile da implementare perché è il codice gestito, ma richiede un bel po 'più di lavoro da implementare in quanto fornisce sostanzialmente un livello di trasporto e questo è tutto, è necessario specificare il codec e trasporto ereditato protocollo.

Le principali questioni da tenere in considerazione sono i requisiti del firewall. Il mio suggerimento sarebbe quello di cercare un assembly gestito questo è utilizza STUN, girare e soprattutto ICE.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top