2009-09-16 19 views
5

Szukam najlepszego możliwego rozwiązania, które pozwoli mi włączyć transmisję wideo/audio na żywo między 2 użytkownikami (tylko 2 w tym momencie) na platformę gier flash. Czat wideo to nie tylko dodatkowa funkcja, ale najważniejsza.Rozwiązanie P2P do wideokonferencji internetowych

Jestem głównie patrząc na implementacje open source lub coś, co będę w stanie wdrożyć, ale rozważy komercyjne produkty, jeśli są dokładnie to, czego potrzebuję.

Oto kilka rzeczy, które Sprawdziliśmy, ale do tej pory nie mogę znaleźć żadnego z nich wystarczająco dobre: ​​

  1. Flash player możliwości 10 za P2P brzmi obiecująco, ale jestem świadomy z faktem, że Adobe nie wydało żadnych informacji na temat protokołu RTMFP i że nie ma żadnego komercyjnego serwera, który obsługuje go , który obsługuje ten numer w tym momencie.

  2. Stream cały wideo/audio przeżyć flash serwera (P2P) nie, ale z mojego osobistego doświadczenia nie dostać płynną rozmowę.
    myślę TokBox używa tej metody

  3. aplety Java są możliwe rozwiązanie zbyt (do wykonywania P2P), ale nie wiem że będzie to ładny i elegancki rozwiązanie połączyć je w grze w tym momencie (i wymaga od użytkownika autoryzacji). BTW, nie mogłem znaleźć żadnych użytecznych implementacji. Tak więc, jeśli znasz którekolwiek, zajrzę do nich.

  4. Google Gmail Video Chat używa niestandardowe (i zastrzeżonych) przeglądarki plug-in, który robi P2P i strumieni video/dźwięk do odtwarzacza flash. Jest to możliwe rozwiązanie , ale raczej nie implementuję całego stosu protokołów P2P + wtyczki przeglądarki na tym etapie i koncentruję się na innym aspekcie samej gry . Wydaje mi się, że używają protokołu opartego na XMPP, podobnego do Jingle i wydali Jingle librarby, ale bez implementacji wideo ograniczającego.

  5. EDIT: W odpowiedzi na Branden:
    Jestem świadomy Adobe Stratus. Stratus to usługa hostingu rendez-vous, hostowana pod numerem , która pomaga nawiązać komunikację między punktami końcowymi Flash Player (serwer RTMFP).
    Obecne wydanie wersji Stratus jest wstępne w wersji i zostało zaprojektowane wyłącznie do celów oceny . Usługa nie jest ostateczna.
    Nie ma gwarancji, że usługa będzie nadal istnieć w przyszłości lub nadal będzie istnieć w przyszłości lub będzie zawierała informacje o przyszłym kosztach.
    Dlatego nie sądzę, że może być używany jako rozwiązanie komercyjne . Przynajmniej jeszcze nie.

Będę wdzięczny za sugestie i porady. dzięki!

Odpowiedz

2
  1. Serwer, o którym mowa, nosi obecnie nazwę Stratus. Możesz dowiedzieć się więcej na ten temat pod numerem Adobe Labs.
  2. Możesz uzyskać płynne przesyłanie strumieniowe za pomocą rozwiązania serwerowego z Flash, ale musisz mieć wystarczającą przepustowość, aby obsłużyć wszystkie strumienie (4 strumienie dla rozmowy dwuosobowej - 2 w górę iw dół). Jest kilka opcji tutaj, ale dwie najlepsze to prawdopodobnie Adobe's Flash Media Interactive Server i openource (i całkiem niesamowite) Red5.
  3. Zgadzam się, że rozwiązanie oparte na apletach byłoby nieeleganckie, ale może to być jedyny prawdziwy sposób na uzyskanie wideo w formacie P2P w tym momencie.
  4. Jingle jest bardzo fajne, ale jak już wspomniano, bity z otwartym kodem źródłowym nie obsługują jeszcze wideo. Nie sądzę, aby ponowne wdrożenie było naprawdę realnym rozwiązaniem tylko ze względu na wymagany nakład pracy.
+0

Branden, dziękuję za odpowiedź 1. Zobacz edycję w odniesieniu do Stratus 2. Nie eksperymentowałem z Red5, ponieważ szukałem rozwiązania p2p. Jestem tego świadom i rozważam użycie tego lub innego serwera Flash Socket, który pozwala na flashowanie strumieniowe, takie jak ElectroServer – dtroy

+0

Z mojego doświadczenia wynika, że ​​ElectroServer bardzo dobrze się spisał i wykonał świetną robotę z danymi, ale miał pewne problemy ze strumieniami wideo - ale to było gdzieś rok temu. Red5 okazało się rozwiązaniem, z którym współpracowałem. Nie potrzebowaliśmy jego instalacji opartej na pochodzeniu/krawędziach, ale słyszę, że można go dość dobrze skalować. –

1

Cóż, jestem spóźniony na przyjęcie w tej sprawie, ale Frozen Mountain (dla której pracuję) ma teraz produkt o nazwie IceLink, który zrobi to, co chcesz. Będzie używać macierzystego WebRTC, gdy przeglądarka go obsługuje, i powróci do apletu Java.

W odpowiedzi na konkretne pytania, pytasz:

  1. RTMFP: Tak, własności komunikacja nie jest zabawne. Bummer, że nie otworzyli specyfikacji.

  2. Non-P2P zdecydowanie odbiera wydajność. Skalowalność staje się problemem.

  3. Aplety Java to jedyny sposób na uzyskanie czystych portów UDP, gdy przeglądarka nie ma macierzystego WebRTC, co jest drogą, którą podążaliśmy.
  4. Własne wtyczki są szorstkie, na wielu frontach, jak zauważyłeś. Aplety Java nie są świetne, ale przynajmniej nie jest to cały proces pobierania/instalacji :)

Mam nadzieję, że trochę pomaga!

Powiązane problemy