2013-04-04 6 views
7

Jestem nowym użytkownikiem WebRTC i próbuję dowiedzieć się, jak utworzyć program poza przeglądarką, która odbiera strumień audio WebRTC i wysyła go na głośniki. Czy istnieją biblioteki WebRTC dla języka Java lub C#? Ten odbiornik będzie działać na komputerze z systemem Linux.Tworzenie odbiornika WebRTC

-

Myślałem o użyciu getUserMedia(), aby uzyskać dostęp do mikrofonu. Ale wtedy: W jakim formacie będzie transmitowany taki strumień? Załóżmy, że używam WebRTC2SIP i buduję punkt końcowy Java za pomocą JSIP; lub po prostu użyć gniazda i wysłać strumień przez http. Jaki format dźwięku otrzymam po stronie odbiorcy? Do tej pory przeczytałem WebRTC jakoś kompresuje strumień.

Odpowiedz

4

myślę, istnieją dwa sposoby dla Ciebie:

  1. zbuduj cały silnik głosowy WebRTC dla systemu Android/iOS lub Mac itp. I po prostu skorzystaj z interfejsu API dostarczanego przez VOE.
  2. budować samodzielne moduły NS/VAD/AECM/AGC i używać ich w projekcie. na przykład, budujesz samodzielny moduł NS dla telefonów z systemem Android, korzystasz z AudioRecord (warstwa Java, rzeczy z Androidem), aby nagrywać dźwięk z MIC, i wykonujesz proces tłumienia hałasu na tych danych (warstwa Jni, rzeczy WebRTC), a na koniec odtwarzasz przetwarzane dane za pomocą funkcji AudioTrack (warstwa Java, rzeczy z Androidem).

EDIT:

  1. na 2. sytuacji, format PCM surowych danych.
+0

Dziękuję. W końcu zdecydowałem się użyć twojej drugiej propozycji. – telandor

3

Zapoznaj się z pracy demo audio oraz kod na demo.easyrtc.com

kod jest open source i może być wyrejestrowany w https://github.com/priologic/easyrtc

Możesz zajrzeć do znanych problemów wokół easyRTC na naszym forum w https://groups.google.com/forum/#!forum/easyrtc

sprawdź również nasz główny miejsce w easyrtc.com

+0

Dziękujemy! easyRTC to framework do uproszczenia dostępu do WebRTC, prawda? Chciałbym zbudować własny serwer/punkt końcowy poza przeglądarką, aby odebrać strumień audio WebRTC. – telandor

+1

@DougPelton: Myślę, że OP pyta o użycie API klienta * na serwerze *, aby ustanowić połączenie klienta z serwerem o małym opóźnieniu, a nie połączenie między rówieśnikami. Czy to coś, co można zrobić z easyrtc? –

+0

Aby odbierać strumień audio po stronie klienta, możesz użyć easyrtc. Ale nie można używać easyrtc do odbierania strumienia audio po stronie serwera. Po stronie serwera można użyć https://github.com/js-platform/node-webrtc [Należy zauważyć, że node-webrtc nie jest dobrze udokumentowany jako easyrtc]. Dzięki – BeingMIAkashs