我在将大视频加载到浏览器中时遇到问题。我有一个 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>
然后服务器应该返回视频 block 。视频存储方式如下:
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 托管。
谢谢!
最佳答案
为什么会收到 503 错误?
如果出现以下情况,GoDaddy 托管会抛出 503 ERROR
:
a) 您的网站达到了最大并发连接限制或
b) 如果您的托管帐户用尽了所有可用资源(这里可能就是这种情况,因为您提到必须加载超过 1 GB 的大型视频文件
分辨率
根据您的托管帐户类型,解决方案如下:
Linux 主机 (cPanel): 结束 Linux 主机帐户中的 PHP 进程(有关详细信息,请点击 here)
Windows 主机 (Plesk): 尝试 recycling your application pool
虚拟主机 (Linux): 使用 Manage system process (Linux) in my Web & Classic Hosting account 结束进程
虚拟主机 (Windows): 尝试 Recycle your application pool(windows)
另一个可能的问题
如果您将 WordPress 与您的网站一起使用,则您的某个插件可能会导致该问题。尝试禁用和启用所有这些,然后一次启用它们,看看它们是否导致了问题。
故障排除和预防:
每次加载大型视频时,请确保有足够的硬盘空间,以免出现 503 错误
!
希望这对您有所帮助,并希望这能解决您的问题。
注意:错误日志中没有显示任何内容,因为本质上没有真正的错误。正如您在上面的解决方案中看到的那样,代码中没有任何错误。
关于javascript - 尝试加载大视频但收到 '503 Service Unavailable',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61399680/