2016-01-24 8 views
5

Ich habe einen Anwendungsfall, der nicht unbedingt Echtzeitkommunikation erfordert, aber so nah wie möglich, um sicherzustellen, dass meine Benutzer nicht ewig damit warten müssen, eine Datei im Nachhinein hochzuladen. Auf unserer Website können Benutzer Video- und Audioaufnahmen machen, die wir dann auf unserem Server speichern.Kann ich eine Art lokalen Speicher als temporären Speicher für getUserMedia für Fast-RTC verwenden?

Ich wechselte vom Flash, weil Flash, zu einer WebRTC-Implementierung mit einem Kureno-Medienserver. Dies funktioniert sehr gut mit qualitativ hochwertigen Internetverbindungen, ist aber für Benutzer mit schlechter Konnektivität relativ unzureichend.

Ich dachte, wenn ich etwas wie ein Puffer ein wenig implementieren könnte, bevor ich den Server fütterte, damit ich Dips in der Konnektivität ausgleichen kann, die ideal wäre. Ich verstehe, dass dies nicht das war, wofür WebRTC gedacht war, was zur Frage führt, ob es eine andere Lösung gibt, die ich untersuchen sollte?

Alle und alle Vorschläge sind willkommen und geschätzt! Vielen Dank!

Antwort

4

Ein Puffer ändert nicht die Echtzeiteigenschaften von WebRTC angesichts geringer Bandbreite. Mit Video zum Beispiel kann WebRTC entweder die Bildrate oder die Auflösung herabsetzen, um Schritt zu halten, aber niemand hat vorgeschlagen, die Lieferzeit zu verkürzen (die Echtzeit wird fallen gelassen). Dein ist jedoch ein interessanter Anwendungsfall.

Sie könnten MediaRecorder verwenden. Damit können Sie lokal aufzeichnen und dann die Daten als Blobs entweder mit Websockets oder Datenkanälen an den Server senden.

Hier ist eine Geige, die in Chrome (die nur leider Video der Fall ist) arbeitet und Firefox:

https://jsfiddle.net/tmwLxjLy

Es zeigt einfache Aufnahme und die Wiedergabe des Videos 5 Sekunden später. Ich lasse es als Übung, um es zu ändern, um eine kontinuierliche Verzögerung von 5 Sekunden zu verursachen.

+1

Dank Jib, das ist eine fantastische Antwort! Ich werde MediaRecorder untersuchen. Danke auch für die Geige. – Ron

+0

Gibt es irgendeinen Grund, warum wir diese Bildfrequenz steuern können, wenn ein verlustbehaftetes Netzwerk erkannt wird? –