2016-04-14 6 views
0

So verwende ich Pubnub für WebRTC in meiner Symfony 2-Anwendung, und alles funktioniert gut, abgesehen von der Darstellung von Videos anderer Benutzer. Was passiert, ist, dass, wenn ein Benutzer eine Verbindung, wird eine URL wie diese erzeugt:Symfony2 und WebRTC, Routing-Problem

Mediastream: http://www.domain.com/cd024a62-02fa-42eb-8f52-621074ea887e

Diese URLs sind zeitlich begrenzt, und der einzige Zweck ist, als eine Möglichkeit, dienen Video-Streams zu verbinden. Nach der WebRTC-Sitzung gibt es sie nicht mehr und sie sind unmöglich vorherzusagen.

Da der Symfony-Router keine Route zu 'http://www.domain.com/cd024a62-02fa-42eb-8f52-621074ea887e' finden kann, wird der Stream nie angezeigt (www.domain.com ist die URL zur Symfony-Anwendung in diesem Beispiel).

Was ich tun könnte, ist die Anpassung der vorhandenen Skripte, so dass alle Videostreams wie 'http://www.domain.com/video/cd024a62-02fa-42eb-8f52-621074ea887e' aussehen, aber in diesem Fall sollte jede Route mit Präfix/Video/von Symfony in Ruhe gelassen werden.

Irgendwelche Ideen?

+0

Frage ist etwas unklar, können Sie weitere Details zu den Routen hinzufügen und diese Routen sollen behandelt werden? – Vamsi

+0

Versucht, die Frage ein wenig besser zu erklären. Die Routen werden vom Pubnub-Webrtc-Skript erstellt, sodass es in der Tat kein Teil von Symfony ist. Es würde funktionieren, wenn das Routing-System alle Routen mit einem bestimmten Präfix allein lassen würde, aber ich würde nicht wissen, wie das gemacht wird. –

+0

Ich bin mir nicht sicher, dass die Phrase * Routen vom PubNub WebRTC-Skript erstellt werden * ist vollständig korrekt. PubNub ist nur das Signalprotokoll, um Verbindungsdetails zwischen Clients zu tauschen. Das Video wird außerhalb von PubNub gestreamt, wo wahrscheinlich das Problem liegt. Siehe KB-Artikel [Bietet PubNub WebRTC und Video-Chat] (https://www.pubnub.com/knowledge-base/discussion/252/does-pubnub-provide-webrtc-and-video-chatlatest) für vollständige Details . –

Antwort

0

Am Ende fand ich eine Lösung. Als letzte Routing-Regel hinzugefügt I:

display_blob: defaults: {_controller: bundle: Main: blob} Pfad:/{blob}

Dann habe ich eine Funktion in dem Hauptregler:

öffentliche Funktion blobAction (Anfrage $ Anfrage) { $ path = $ Anfrage-> getUri(); Rückgabe $ this-> render ($ path); }

Natürlich muss ich die URL selbst filtern und prüfen, ob es wirklich ein Stream ist, aber jetzt bin ich froh, dass es funktioniert.