我在加载一个大视频到浏览器时遇到了问题。我有一个 video.php
文件,从而创建一个 $token
中指定的产品进行访问。$_GET['product']
然后 video.js
请求访问视频文件。
<video id="viewer"
class="video-js vjs-default-skin vjs-big-play-centered"
data-setup='{ "controls": true, "autoplay": false, "preload": "metadata" }'
height="500" width="1000" disablePictureInPicture controls="disabled">
<source src="videostream?type=m3u8&path=<?php echo $token; ?>/prog_index.m3u8" type="application/x-mpegURL">
</video>
然后,服务器应该返回视频的分块。视频是这样存储的。
private
- products
-- 1
--- prog_index.m3u8
--- fileSequence0.ts
--- fileSequence1.ts
--- fileSequence2.ts
--- and so on...
它复制文件夹到 tmp
与文件夹的名称是token。假设这个token是 1234123412341234
:
private
- tmp
-- 1234123412341234
--- prog_index.m3u8
--- fileSequence0.ts
--- fileSequence1.ts
--- fileSequence2.ts
--- and so on...
而且文件在加载时被删除。
当我试图访问 mysite.com/video.php?product=1
,我得到503服务不可用。
视频文件的总大小约为1-2GB大,我使用的是GoDaddy主机。
谢谢!我有一个大的视频加载到浏览器的问题,我的视频文件的总大小约1-2GB大,我使用GoDaddy主机。
GoDaddy主机抛出了一个 503 ERROR
如果其中之一。
a) 您的网站达到了最大并发连接限制或
b) 如果您的主机账户用尽了所有可用资源(这里可能是这样,因为您提到必须加载超过1 GB的大型视频文件。
Linux主机(cPanel)。 结束你的Linux主机账户的PHP进程(更多信息请点击这里)。此处)
Windows主机(Plesk)。 试用 回收您的应用程序池
虚拟主机(Linux)。 进程结束时使用 管理我的Web & Classic主机账户的系统进程(Linux)
虚拟主机(Windows)。 试用 回收您的应用程序池(windows)
如果你使用WordPress 随着你的网站,你的一个插件可能会导致这个问题。尝试禁用和启用所有的插件,并一次启用一个,看看是否是它们造成的问题。
确保你有足够的硬盘空间,每当你加载大型视频,所以你不会得到的 503 ERROR
!
希望这对你有帮助,希望这能解决你的问题。
注意:你的错误日志中没有任何显示,因为本质上没有真正的错误。你可以在上面的解决方案中看到,代码没有出错。
我发现是我的PHP超时了。我的 php.ini
文件有一个 max_execution_time
的 600
5分钟),所以当我改变了 max_execution_time
到 -1
它解决了这个问题。