0

正在考虑将 flv 播放器嵌入到页面中,但希望从无法通过 www 访问的位置读取 flv 文件。我尝试编写一个控制器操作,该操作采用加密的查询字符串,对其进行解密,然后使用 readfile() 将内容输出到页面,但似乎没有任何反应。

我不确定是因为我发送了错误的内容类型,还是 readfile 函数阻塞了 flv 文件大小(40 MB+)。

我正在使用类似以下的东西

转到上面的页面让我可以很好地下载 flv,只是不要从播放器中流式传输它。提前致谢!

4

2 回答 2

0
  1. 不要将 PHP 用于流式传输,PHP 有时间执行和内存限制(在 php.ini 中配置)。1.1。不要使用 PHP 来提供静态内容,它很重,基本上会破坏 apache 的性能。
  2. 当您使用 PHP 时,您还需要编写 seek 选项(从点跳转到点)。
  3. 强烈推荐使用 Nginx/Lighttpd 通过 HTTP 协议进行 flv 流式传输,或者使用 Red5/Wowza 通过 RTMP 协议进行 flv 流式传输。

我的首选建议是将 Nginx 与 mods 一起使用:

使用安全链接,您可以通过 IP 为特定用户生成链接,并且可以将链接 TTL 设置为 60 秒,之后链接失效,用户将无法再次访问内容。

于 2013-03-01T19:04:37.273 回答
0

这可以在我编写的几个应用程序中完美地传输 flv 和 mp3 文件:

$mime = ''; // place appropriate mimetype here
$file = 'somefile.flv'; // place your filename here

header("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
header('Content-Type: '.$mime);
header("Content-Disposition: attachment; filename='$file'");
header("Content-Length: " . filesize($file));
readfile ($path);
于 2009-08-19T12:42:13.450 回答