1

我已经使用 KalturaCE 和 Drupak 进行了所有设置和运行,并且服务器(Ubuntu 8.02+Apache2+PHP5+MySql)运行良好。我在这里遇到的问题是未分类的。

当我从我的网站一起播放两个视频时,我稍后播放的第二个视频在第一个视频完成缓冲之前不会开始。我做了一些 HTTP 观察并开始知道,这两个条目都使用如下 URL 请求文件,

/kalturace/p/1/sp/100/flvclipper/entry_id/xxxxxx/flavor/1/version/100000

所以我播放的第一个视频收到了对 URL 的 302 重定向响应,如下所示,

/kalturace/p/1/sp/100/flvclipper/entry_id/xxxxxxx/flavor/1/version/100000/a.flv?novar=0

并开始缓冲和播放。虽然我稍后开始的第二个视频只是等待响应,直到第一个视频结束其缓冲,然后第二个视频接收其 302 重定向并开始缓冲

我的问题是,为什么两个视频不能同时缓冲?显然这是我需要的。

您的帮助是备受期待和欢迎的。

4

4 回答 4

1

PHP 基于文件的会话将在请求处于活动状态时锁定会话文件。如果您打算使用这样的并行请求,您必须确保每个脚本尽快关闭会话(即:在写出任何更改之后)session_write_close()以将锁定时间保持在最短。

于 2010-12-18T19:14:06.227 回答
1

我找到了解决我的问题的方法,这肯定是首先建议的 Marc,但 mysql 超时也有一些问题。

因此,将 session_write_close() 放在正确位置的两个文件中解决了我的问题。

有关完整的概述,请访问http://www.kaltura.org/videos-not-playing-simultaneously-0上的建议线程

于 2011-01-19T08:50:45.873 回答
0

对于同一个问题,我在http://drupal.org/node/1002144上发布了几个建议,这是其中之一:

在 Apache 空间中,可能的原因可能是 MaxClients(或 Apache 服务器响应多个请求的能力)。如果该 apache 设置或服务器容量较低,则服务器可能会将您的连接放入其积压中,直到第一个连接完成。您可以使用需要一些时间在服务器上下载的常规大文件进行测试 - 这将确定是 KalturaCE 还是 Apache 导致了问题。要看到这一点,您要么需要一个已经处于 MaxClients 最大值的站点(即,不是未使用的开发站点),要么需要一个非常低的 MaxClients 设置(例如,1!)。

于 2010-12-21T03:05:15.803 回答
0

在http://drupal.org/node/1002144上针对同一问题发布了另一个建议-

这种行为可能是由于 mysql 查询锁定造成的。如果 KalturaCE 的 SQL 在第一个请求完成之前一直锁定一个表(我没有理由相信这是这种情况,只是浮动可能的原因),那么第二个请求可能会像这样挂起。

我对 CE 不够熟悉,无法建议这种情况,但您可以在请求期间使用服务器上的 mtop 轻松调试,看看这是否是实际发生的情况。

于 2010-12-21T03:06:27.863 回答