Php 输出连续流



所以我一直在试验PHP的fOpen函数,我在读取声音文件方面取得了很大的成功。现在,我正在尝试为喊叫流创建一种"中继"。

File_get_contents可能是最糟糕的方法,因为数据是连续的。

使用 php 套接字会产生更好的结果吗?

Tl;dr 输出连续音频/mpeg 数据流的最佳方式是什么?

我过去用PHP和SHOUTcast流做过这件事。 这当然是可能的,但请记住,您的所有PHP实例都将与SHOUTcast服务器建立单独的连接。 如果您使用任何 PHP 虚拟主机,这些服务器的配置方式通常使得运行 PHP 脚本超过几分钟是不可能的。 为此,您需要自己的VPS服务器(或合作托管服务提供商)。

您是对的,因为您将无法使用file_get_contents()。 根据您的cURL版本,您可以使用它连接到SHOUTcast服务器。 http://php.net/manual/en/book.curl.php 问题通常是 SHOUTcast 服务器在其响应中的状态行是ICY 200 OK而不是HTTP/1.0 200 OK,这在某些 HTTP 客户端上遇到了问题。 如果 cURL 确实适合您,请使用带有回调函数的 CURLOPT_WRITEFUNCTION 将数据回显到客户端。

如果 cURL 不起作用,您将需要使用 fsockopen() http://www.php.net/manual/en/function.fsockopen.php 连接到服务器并自己处理 HTTP 响应。

从那里,您所要做的就是在数据传入时将数据回显到客户端。

相关内容

  • 没有找到相关文章

最新更新