环境:
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 运行的
不卡才怪