【问题标题】:Symfony2 and WebRTC, routing issueSymfony2 和 WebRTC,路由问题
【发布时间】:2016-04-14 10:44:00
【问题描述】:

所以我在我的 Symfony 2 应用程序中使用 Pubnub for WebRTC,一切正常,除了显示其他用户的视频。发生的情况是,当用户连接时,会生成一个如下所示的 url:

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

这些 url 是临时的,唯一的目的是作为连接视频流的一种方式。在 WebRTC 会话之后,它们不再存在并且无法预测。

由于 Symfony 路由器找不到到 'http://www.domain.com/cd024a62-02fa-42eb-8f52-621074ea887e' 的路由,所以永远不会显示流(在本例中,www.domain.com 是 symfony 应用程序的 url)。

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

有什么想法吗?

【问题讨论】:

  • 问题有点不清楚,你能添加更多关于路线的细节吗?那些路线应该被处理?
  • 试图更好地解释这个问题。路由是由 Pubnub Webrtc 脚本创建的,所以它实际上不是 symfony 的一部分。如果路由系统将所有路由都单独保留某个前缀,它会起作用,但我不知道这是如何完成的。
  • 我不确定路由是由 PubNub WebRTC 脚本创建的短语 是否完全准确。 PubNub 只是在客户端之间交易连接细节的信号协议。视频将在 PubNub 之外流式传输,这很可能是问题所在。有关完整的详细信息,请参阅知识库文章 Does PubNub Provide WebRTC and Video Chat
  • 嗨 Craig,实际上脚本确实会生成流的 url。代码是:video.src = URL.createObjectURL(stream);现在,如果我只能在其中放置一个子目录,我就会得救,但到目前为止还没有运气。

标签: symfony webrtc pubnub


【解决方案1】:

最后我找到了解决办法。作为我添加的最后一条路由规则:

display_blob: 默认值:{ _controller: Bundlename:Main:blob } 路径:/{blob}

然后我在主控制器中创建了一个函数:

公共函数 blobAction(请求 $request) { $path = $request->getUri(); 返回 $this->render($path); }

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-10
    • 2011-11-20
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 2023-03-12
    • 2014-11-03
    • 1970-01-01
    相关资源
    最近更新 更多