2016-04-14 93 views
0

所以我在我的Symfony 2应用程序中使用Pubnub作为WebRTC,并且除了显示其他用户的视频之外,它们都运行良好。什么情况是,当一个用户连接,一个URL获取这样一个产生:Symfony2和WebRTC,路由问题

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

这些网址都是暂时的,唯一的目的是作为一种方式来连接视频流。 WebRTC会话之后不存在,他们无法预测。

由于Symfony路由器找不到到'http://www.domain.com/cd024a62-02fa-42eb-8f52-621074ea887e'的路由,所以从不显示流(www.domain.com是此示例中symfony应用的网址)。

我所能做的就是调整现有的脚本,使所有的视频流看起来像'http://www.domain.com/video/cd024a62-02fa-42eb-8f52-621074ea887e',但在这种情况下,任何带有前缀/ video /的路由都应由Symfony独立。

任何想法?

+0

问题有点不清楚,你可以在路线上添加更多细节,这些路线应该被处理? – Vamsi

+0

试图解释这个问题好一点。这些路由由Pubnub Webrtc脚本创建,所以它实际上不是symfony的一部分。如果路由系统离开具有某个前缀的所有路由,它将工作,但我不知道如何完成。 –

+0

我不确定短语*路由是由PubNub WebRTC脚本创建的*是完全正确的。 PubNub只是交换客户端之间连接细节的信号协议。该视频将在PubNub之外进行流式传输,这可能是问题所在。有关完整的详细信息,请参阅知识库文章[PubNub是否提供WebRTC和视频聊天](https://www.pubnub.com/knowledge-base/discussion/252/does-pubnub-provide-webrtc-and-video-chat#latest) 。 –

回答

0

最后我找到了解决方案。作为最后的路由规则,我添加:

display_blob: 默认:{_controller:BUNDLENAME:主要:斑点} 路径:/ {斑点}

然后创建在主控制器中的功能:

public function blobAction(Request $ request) { $ path = $ request-> getUri(); return $ this-> render($ path); }

当然,我需要做一些URL本身的过滤,并检查它是否真的是一个流,但现在我很高兴它的工作原理。