Rumah > Artikel > pembangunan bahagian belakang > javascript - php做视频网站服务器很卡怎么办??
环境:
php5.3.9
Apache 22
mysql5.6.x
windows
使用做视频网站的时候碰到的几个问题(本地环境测试):
A. 几十个视频。通过 canvas 截取视频第一帧做封面。
<code> // 视频源列表 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; }</code>
B. 由于第一个问题中已经出现十分卡顿的现象。视频播放的时候就更加夸张的突出了。主视频一直显示加载中,相关视频列表封面全部截取失败
问题1:是否php就不适合做视频网站??
问题2:像优酷,爱奇艺之类的视频网站运行如此顺畅的原因是什么?
问题3:类似于优酷,他们的视频封面是手动上传的还是自动截取视频第一帧做的封面??,因为若是单纯的播放一个视频的话,倒是不会出现卡顿的现象,我只要把自动截取视频第一帧的代码给拿掉,就不会出现任何卡顿...
顺便分享下网址哈: www.lysqdx.com
环境:
php5.3.9
Apache 22
mysql5.6.x
windows
使用做视频网站的时候碰到的几个问题(本地环境测试):
A. 几十个视频。通过 canvas 截取视频第一帧做封面。
<code> // 视频源列表 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; }</code>
B. 由于第一个问题中已经出现十分卡顿的现象。视频播放的时候就更加夸张的突出了。主视频一直显示加载中,相关视频列表封面全部截取失败
问题1:是否php就不适合做视频网站??
问题2:像优酷,爱奇艺之类的视频网站运行如此顺畅的原因是什么?
问题3:类似于优酷,他们的视频封面是手动上传的还是自动截取视频第一帧做的封面??,因为若是单纯的播放一个视频的话,倒是不会出现卡顿的现象,我只要把自动截取视频第一帧的代码给拿掉,就不会出现任何卡顿...
顺便分享下网址哈: www.lysqdx.com
视频网站的重点是视频的CDN缓存和带宽, 和使用什么语言没有关系
别人用的是CDN啊, 看了一下你的截图应该无非就是一个习作, 怎么和别人比
看了你的描述, 推测你所谓的封面是每次从视频中读取, 那不卡才怪, 一个成熟的视频网站系统在视频上传之后是会有离线的视频处理的, 包括不限于以下工作(顺序不定):
标准化视频格式(有时候不标准的格式无法实现视频在浏览器端的缓冲)
压缩成多个质量的视频格式 (比如低中高, 或者240p, 360p, 480p, 720p, 1080p等等)
截取某些帧作为预览图(可以截出n张然后人工后台介入)
加水印(可选)
上传到CDN
视频网站对带宽要求大。不是服务器配置。直播才对服务器要求高!
你这个截图的操作
是在本地 js 运行的
不卡才怪