PHP - 提取音频流元数据的有效方法

时间:2021-05-16 15:27:55

标签: php audio-streaming

我正在寻找从音频流中获取元数据的最有效(带宽和资源)方式。我一直在使用此解决方案 Pulling Track Info From an Audio Stream Using PHP,但想知道是否有更有效的方法来做到这一点。

我认为 cURL 可能会更有效,并尝试将 cURL 与以下内容一起使用:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://audiostream.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');

$headers = array();
$headers[] = 'Icy-Metadata: 1';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);

但我不确定如何在下载元数据后停止它并保持与流的连接。我无法限制 cURL 响应的大小,它只是不断下载实时流。

我需要为几十个流执行此操作,因此我希望尽可能提高效率并确保它与尽可能多的平台(Icecast、Shoutcast 等...)兼容。

我更愿意使用 PHP,但会考虑使用 javascript,尽管对 javascript 不太熟悉。

不胜感激。

谢谢。

0 个答案:

没有答案