javascript - php做视频网站服务器很卡怎么办??
环境:
php5.3.9
Apache 22
mysql5.6.x
windows
使用做视频网站的时候碰到的几个问题(本地环境测试):
A. 几十个视频。通过 canvas 截取视频第一帧做封面。
// 视频源列表
var vSrcList = [src1 , src2 , src3 ....];
// 队列方式截取视频第一帧(如果不采取队列方式截取的话,基本上所有的都会截取失败....)
// 即使采取队列的方式获取视频第一帧,照样有很高的几率会导致视频第一帧截取失败
// 打开控制台network来看的话,大量的请求显示 pending...
var dequeue = function(){
var curItem = vSrcList.shift();
if (curItem) {
// 这边添加到节点到页面上..
dequeue();
}
};
dequeue();
// 获取视频第一帧画面
function getVShowPic(src , fn , opt){
var v = document.createElement('video');
var cav = document.createElement('canvas');
var ctx = cav.getContext('2d');
v.currentTime = 1;
v.addEventListener('canplay' , function(){
if (opt === undefined) {
opt = {
w: v.videoWidth ,
h: v.videoHeight
};
}
ctx.drawImage(this , 0 , 0 , opt['w'] , opt['h']);
var src = cav.toDataURL('image/jpeg' , 1);
fn(src);
} , false);
v.src = src;
}
B. 由于第一个问题中已经出现十分卡顿的现象。视频播放的时候就更加夸张的突出了。主视频一直显示加载中,相关视频列表封面全部截取失败
问题1:是否php就不适合做视频网站??
问题2:像优酷,爱奇艺之类的视频网站运行如此顺畅的原因是什么?
问题3:类似于优酷,他们的视频封面是手动上传的还是自动截取视频第一帧做的封面??,因为若是单纯的播放一个视频的话,倒是不会出现卡顿的现象,我只要把自动截取视频第一帧的代码给拿掉,就不会出现任何卡顿...
顺便分享下网址哈: www.lysqdx.com
回复内容:
环境:
php5.3.9
Apache 22
mysql5.6.x
windows
使用做视频网站的时候碰到的几个问题(本地环境测试):
A. 几十个视频。通过 canvas 截取视频第一帧做封面。
// 视频源列表
var vSrcList = [src1 , src2 , src3 ....];
// 队列方式截取视频第一帧(如果不采取队列方式截取的话,基本上所有的都会截取失败....)
// 即使采取队列的方式获取视频第一帧,照样有很高的几率会导致视频第一帧截取失败
// 打开控制台network来看的话,大量的请求显示 pending...
var dequeue = function(){
var curItem = vSrcList.shift();
if (curItem) {
// 这边添加到节点到页面上..
dequeue();
}
};
dequeue();
// 获取视频第一帧画面
function getVShowPic(src , fn , opt){
var v = document.createElement('video');
var cav = document.createElement('canvas');
var ctx = cav.getContext('2d');
v.currentTime = 1;
v.addEventListener('canplay' , function(){
if (opt === undefined) {
opt = {
w: v.videoWidth ,
h: v.videoHeight
};
}
ctx.drawImage(this , 0 , 0 , opt['w'] , opt['h']);
var src = cav.toDataURL('image/jpeg' , 1);
fn(src);
} , false);
v.src = src;
}
B. 由于第一个问题中已经出现十分卡顿的现象。视频播放的时候就更加夸张的突出了。主视频一直显示加载中,相关视频列表封面全部截取失败
问题1:是否php就不适合做视频网站??
问题2:像优酷,爱奇艺之类的视频网站运行如此顺畅的原因是什么?
问题3:类似于优酷,他们的视频封面是手动上传的还是自动截取视频第一帧做的封面??,因为若是单纯的播放一个视频的话,倒是不会出现卡顿的现象,我只要把自动截取视频第一帧的代码给拿掉,就不会出现任何卡顿...
顺便分享下网址哈: www.lysqdx.com
视频网站的重点是视频的CDN缓存和带宽, 和使用什么语言没有关系
别人用的是CDN啊, 看了一下你的截图应该无非就是一个习作, 怎么和别人比
-
看了你的描述, 推测你所谓的封面是每次从视频中读取, 那不卡才怪, 一个成熟的视频网站系统在视频上传之后是会有离线的视频处理的, 包括不限于以下工作(顺序不定):
标准化视频格式(有时候不标准的格式无法实现视频在浏览器端的缓冲)
压缩成多个质量的视频格式 (比如低中高, 或者240p, 360p, 480p, 720p, 1080p等等)
截取某些帧作为预览图(可以截出n张然后人工后台介入)
加水印(可选)
上传到CDN
视频网站对带宽要求大。不是服务器配置。直播才对服务器要求高!
你这个截图的操作
是在本地 js 运行的
不卡才怪