Silverlight 4.0을 통해 VoIP 기능 (최대 5 명의 사용자에 대한 실시간 음성 스트리밍)?

StackOverflow https://stackoverflow.com/questions/1860606

문제

SL 4.0이 비디오와 마이크 지원을 받았기 때문에 ...

웹 기반 애플리케이션을 위해 Silverlight 4.0을 통해 VoIP 기능 (최대 5 명의 사용자에 대한 실시간 음성 스트리밍)을 제공하는 것이 얼마나 가능합니까?

관련 도전은 무엇입니까?

도움이 되었습니까?

해결책

솔루션의 일부는 최근에 제공되었습니다. cspeex, 구식 버전의 오래된 Java 항구의 항구 (c. 2003). 나는 그것과 함께 놀았고, 그것은 확실히 작동합니다 (예 : 10x 이상의 압축). 그러나 여전히 해당 패킷을 서버로 스트리밍해야하며 RTP/RTSP/SIP 또는 RTMP의 Silverlight 구현이없는 것처럼 보이지 않으므로이 시점에서 자체 네트워크를 롤링해야합니다. 스트림 컨테이너 지원. 또한 모든 사용자가 헤드폰을 착용하지 않으려면 어쿠스틱 에코 취소를 원할 것이며, 이는 또 다른 볼 게임입니다. 아주 좋은 오픈 소스 구현 (예 : SpeexDSP)이 있지만 모두 C는 C이며 포트가 어렵습니다. 그래서 당신도 그곳에 있습니다. 앞으로 몇 달/년 동안이 모든 것에 대한 오픈 소스 답변이있을 것입니다.

다른 팁

새로운 SL4 MIC/비디오 지원이 구현되는 방식에 따라 다릅니다. 당신은 할 수있는 코드를 포함해야합니다.

  1. 음성을 바이트 스트림으로 인코딩합니다
  2. 바이트 스트림을 상대방/당사자에게 보내기
  3. 바이트 스트림을 오디오 신호로 수신/디코딩

SL4에는 일부 COM 지원이 계획되어 있다고 생각합니다. 따라서 오픈 소스 (또는 유료) 관리되지 않는 C ++ VoIP 또는 오디오 인코딩 라이브러리가있는 경우, 당신은 그것들을 연결할 수 있습니다.

사용할 수있는 여러 라이브러리가 있습니다. 예를 들어 : Conaito, ABTO LLC, IndependentSoft SIP는 Silverlight 4.0에서 작동합니다. Conaito와 Abto는 Java 스크립팅을 사용하여 웹 클라이언트에 연결하는 반면 IndependentsOft에는 관리가 관리됩니다.

Conaito와 ABTO는 좋지만 라이브러리는 OCX이고 COM DLL을 사용하여 배포를 중단 할 수 있기 때문에 약간 구식입니다.

IndedenPentsoft는 관리 코드이기 때문에 배포하기가 더 쉽지만 기본적으로 전송 계층을 제공하므로 구현하려면 훨씬 더 많은 작업이 필요합니다. 그 기능은 코덱 및 Trnasport 프로토콜을 지정해야합니다.

고려해야 할 주요 문제는 방화벽 요구 사항입니다. 내 제안은 Stun, Turn 및 Ice를 사용하는 관리 조립품을 찾는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top