gpt4 book ai didi

php - PHP http 流的正确 header 和 mime_type

转载 作者:行者123 更新时间:2023-12-03 02:30:46 26 4
gpt4 key购买 nike

我已经和这个斗争了几天了。我似乎无法通过 PHP 玩任何东西。我正在尝试播放 .m4a通过 php 获取音频文件,它所做的只是在 Chrome 中显示 HTML5 播放器,但文件未加载。

我在这里尝试了其他帖子中的许多技巧,但似乎没有任何区别。

这是一些后端信息。

运行 PHP-FPM 的 Apache/Linux 服务器 H264 Streaming module .AddType audio/mp4 m4a在 vhost 文件中添加。

所有文件都是.m4a用 ffmpeg 编码并使用 -c:a aac -strict experimental在 ffmpeg 作为音频编解码器。文件本身可以直接在浏览器中正常播放,而不是通过 PHP。有趣的是,当我将 mime 更改为在浏览器中播放但通过 quicktime 播放器播放的音频/acc 时。我需要它是原生的 HTML5 m4a。

这是我正在尝试使用的 PHP 代码。我尝试了很多组合,包括使用 Content-Disposition ,但它会尝试下载并保存它。我不想要那个。

        $size = filesize($realfile);
$mimes = "audio/mp4";
if(file_exists($realfile)){
header('Accept-Ranges: bytes');
header('Content-Length: ' . $size);
header('Content-Range: bytes 0-'.($size - 1).'/'.$size);
header('Content-Type: '.$mimes);
readfile($realfile);
}else{
header("HTTP/1.1 403 Forbidden");
}

以下是使用 PHP URL 的响应 header 。 (不播放)
Accept-Ranges:bytes
Access-Control-Allow-Origin:*
Connection:Keep-Alive
Content-Length:3340918
Content-Range:bytes 0-3340917/3340918
Content-Type:audio/mp4
Date:Fri, 17 Apr 2015 21:47:21 GMT
Keep-Alive:timeout=5, max=100
Server:Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_fcgid/2.3.9
X-Powered-By:PHP/5.5.22

这是直接来自文件 URL 的响应 header 。 (播放良好)
Accept-Ranges:bytes
Access-Control-Allow-Origin:*
Connection:Keep-Alive
Content-Length:3340918
Content-Range:bytes 0-3340917/3340918
Content-Type:audio/mp4
Date:Fri, 17 Apr 2015 21:29:04 GMT
ETag:"32fa76-5139745cc934f"
Keep-Alive:timeout=5, max=100
Last-Modified:Mon, 13 Apr 2015 08:55:15 GMT
Server:Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_fcgid/2.3.9

对此的任何帮助都会很棒。

编辑:我终于放弃了这段代码。我在 GitHub 上找到了一个 PHP 脚本,它完全符合我的需要,并且运行良好。

https://github.com/tuxxin/MP4Streaming

最佳答案

我终于放弃了这段代码。我在 GitHub 上找到了一个 PHP 脚本,它完全符合我的需要,并且运行良好。

https://github.com/tuxxin/MP4Streaming

我需要音频,所以在这个新脚本中我只是更改了 video/mp4audio/mp4 .

关于php - PHP http 流的正确 header 和 mime_type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29710147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com