1

我正在尝试使用 VLC 和 Apache Reverse Proxy 交付一些视频内容。由于 VLC 可以支持 http 流,我确信它可以与 Apache 反向代理一起使用(我还没有尝试过,但我不明白为什么它不起作用)。

在让 Apache 代理 http 视频流之前,我想先运行一个脚本。Apache 中是否有执行此操作的选项?

如果没有,有人能想出一种方法让 PHP 先做一些魔术,然后以某种方式重定向到 http 视频流,而不会让 VLC 或 Windows Media Player 客户端哭泣吗?通过这种方式,Apache 反向代理只需要指向 PHP 脚本。

无论哪种方式,脚本的想法都是启动 VLC 流媒体服务器。

谢谢

4

1 回答 1

2

如果您真的想在 apache 中执行此操作,您可以随时编写自己的模块 :)

或者,您可以将mod_rewriteprg 选项 (rewrite map)一起使用。你基本上有一个由外部程序处理的重写规则。你可以在那里做任何你想做的事情(记录等)。不要忘记设置一个rewritelock文件,否则你会遇到奇怪的行为。

您也可以在 php 中执行“所有操作”,然后使用 apache 模块mod_xsendfile,您只需在 php 中传递包含文件系统中文件位置的标头。

它不会向客户端披露,但会被 apache 模块捕获并由 apache 提供服务。您的 php 进程将定期终止。

这些是我能想到的最好的开箱即用选项。

如果这不起作用,因为您需要在传输期间或传输结束时捕获一些东西,您可以使用 php.ini 回显文件内容。通过正确的输出缓冲,您可以实现可接受的性能。

或者,如果这可以解决您的问题,您可以进行一些日志文件后处理。

于 2010-12-25T15:53:10.470 回答