php上传视频截取封面,七牛视频如何截取第五秒图像为封面图。

//引入Plupload hideShowContent.js后

var is_upload_video = 0;

var is_upload_img = 0;

var Qiniu = new QiniuJsSDK();

var uploader = Qiniu.uploader({

runtimes: 'html5,flash,html4', //上传模式,依次退化

browse_button: 'pickfiles', //上传选择的点选按钮,**必需**

uptoken_url: '/qiniu/get_up_token?key={$path}&bucket_type=video', //Ajax请求upToken的Url,**强烈建议设置**(服务端提供)

//uptoken : '', //若未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成

//unique_names: true, // 默认 false,key为文件名。若开启该选项,SDK为自动生成上传成功后的key(文件名)。

//save_key: true, // 默认 false。若在服务端生成uptoken的上传策略中指定了 `sava_key`,则开启,SDK会忽略对key的处理

domain: '{$video_domian}', //bucket 域名,下载资源时用到,**必需**

container: 'container',

//上传区域DOM ID,默认是browser_button的父元素,

max_file_size: '60mb', //最大文件体积限制

flash_swf_url: 'Public/js/plupload/Moxie.swf', //引入flash,相对路径

max_retries: 1, //上传失败最大重试次数

dragdrop: true, //开启可拖曳上传

drop_element: 'container',

//拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传

chunk_size: '4mb', //分块上传时,每片的体积

auto_start: true, //选择文件后自动上传,若关闭需要自己绑定事件触发上传

init: {

'FilesAdded': function(up, files) {

plupload.each(files, function(file) {

// 文件添加进队列后,处理相关的事情

upload_pics_number++;

$('font_video').show();

if (upload_pics_number = 1) {

$('#Support').hide();

}

});

},

'BeforeUpload': function(up, file) {

//设置上传文件的格式和大小;

$array = ['video/mp4','video/avi','video/mpg','image/gif'];

if(-1 == jQuery.inArray( file.type, $array )){

alert("上传文件格式不正确")

window.location.reload();

return false;

}

if (file.size > 50 * 1024 * 1024) {

alert('上传文件大小不能大于50M')

window.location.reload();

return false;

}

is_upload_video = 1;

$('#fsUploadProgressBox').show();

$('#videoBox').hide()

},

'UploadProgress': function(up, file) {

var progress = new FileProgress(file, 'fsUploadProgress');

var chunk_size = plupload.parseSize(this.getOption('chunk_size'));

progress.setProgress(file.percent + "%", up.total.bytesPerSec, chunk_size);

},

'FileUploaded': function(up, file, info) {

$('#fsUploadProgressBox').hide();

console.log(info);

var dataObj = eval("("+info+")");

if(dataObj.success == 'true') {

$.getJSON(

"/qiniu/get_video_pic_url?key={$path}&bucket_type=pics",

function(json){

$('#video_thumbnail_input').val(json.key);

$('#Support').show();

$('#product_video_qn').val('{$path}');

$('font_video').hide();

$('#preview_video').attr('href', "/product/video_show?video_stream=/qiniu/get_video_url?key={$path}&is_redirect=1").show();

is_upload_video = 0;

}

);

} else {

alert("上传失败,请重新上传");

$('#Support').show();

$('font_video').show();

return false;

}

},

'Error': function(up, err, errTip) {

//上传出错时,处理相关的事情

$('font_video').show();

$('#Support').show();

alert(errTip);

},

'UploadComplete': function() {

$('#fsUploadProgressBox').hide();

//队列文件处理完毕后,处理相关的事情

$('#videoBox').html('上传完成');

chunk_index = 0;

},

'Key': function(up, file) {

// 若想在前端对每个文件的key进行个性化处理,可以配置该函数

// 该配置必须要在 unique_names: false , save_key: false 时才生效

var key = "{$path}";

// do something with key here

return key

}

}

});

回复内容:

//引入Plupload hideShowContent.js后

var is_upload_video = 0;

var is_upload_img = 0;

var Qiniu = new QiniuJsSDK();

var uploader = Qiniu.uploader({

runtimes: 'html5,flash,html4', //上传模式,依次退化

browse_button: 'pickfiles', //上传选择的点选按钮,**必需**

uptoken_url: '/qiniu/get_up_token?key={$path}&bucket_type=video', //Ajax请求upToken的Url,**强烈建议设置**(服务端提供)

//uptoken : '', //若未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成

//unique_names: true, // 默认 false,key为文件名。若开启该选项,SDK为自动生成上传成功后的key(文件名)。

//save_key: true, // 默认 false。若在服务端生成uptoken的上传策略中指定了 `sava_key`,则开启,SDK会忽略对key的处理

domain: '{$video_domian}', //bucket 域名,下载资源时用到,**必需**

container: 'container',

//上传区域DOM ID,默认是browser_button的父元素,

max_file_size: '60mb', //最大文件体积限制

flash_swf_url: 'Public/js/plupload/Moxie.swf', //引入flash,相对路径

max_retries: 1, //上传失败最大重试次数

dragdrop: true, //开启可拖曳上传

drop_element: 'container',

//拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传

chunk_size: '4mb', //分块上传时,每片的体积

auto_start: true, //选择文件后自动上传,若关闭需要自己绑定事件触发上传

init: {

'FilesAdded': function(up, files) {

plupload.each(files, function(file) {

// 文件添加进队列后,处理相关的事情

upload_pics_number++;

$('font_video').show();

if (upload_pics_number = 1) {

$('#Support').hide();

}

});

},

'BeforeUpload': function(up, file) {

//设置上传文件的格式和大小;

$array = ['video/mp4','video/avi','video/mpg','image/gif'];

if(-1 == jQuery.inArray( file.type, $array )){

alert("上传文件格式不正确")

window.location.reload();

return false;

}

if (file.size > 50 * 1024 * 1024) {

alert('上传文件大小不能大于50M')

window.location.reload();

return false;

}

is_upload_video = 1;

$('#fsUploadProgressBox').show();

$('#videoBox').hide()

},

'UploadProgress': function(up, file) {

var progress = new FileProgress(file, 'fsUploadProgress');

var chunk_size = plupload.parseSize(this.getOption('chunk_size'));

progress.setProgress(file.percent + "%", up.total.bytesPerSec, chunk_size);

},

'FileUploaded': function(up, file, info) {

$('#fsUploadProgressBox').hide();

console.log(info);

var dataObj = eval("("+info+")");

if(dataObj.success == 'true') {

$.getJSON(

"/qiniu/get_video_pic_url?key={$path}&bucket_type=pics",

function(json){

$('#video_thumbnail_input').val(json.key);

$('#Support').show();

$('#product_video_qn').val('{$path}');

$('font_video').hide();

$('#preview_video').attr('href', "/product/video_show?video_stream=/qiniu/get_video_url?key={$path}&is_redirect=1").show();

is_upload_video = 0;

}

);

} else {

alert("上传失败,请重新上传");

$('#Support').show();

$('font_video').show();

return false;

}

},

'Error': function(up, err, errTip) {

//上传出错时,处理相关的事情

$('font_video').show();

$('#Support').show();

alert(errTip);

},

'UploadComplete': function() {

$('#fsUploadProgressBox').hide();

//队列文件处理完毕后,处理相关的事情

$('#videoBox').html('上传完成');

chunk_index = 0;

},

'Key': function(up, file) {

// 若想在前端对每个文件的key进行个性化处理,可以配置该函数

// 该配置必须要在 unique_names: false , save_key: false 时才生效

var key = "{$path}";

// do something with key here

return key

}

}

});

关于视频截图的接口你可以参考:

http://developer.qiniu.com/docs/v6/api/reference/fop/av/vframe.html

vframe 是同步的fop。

比如对于视频:http://rwxf.qiniudn.com/1.mp4

第五秒的截图外链是:http://rwxf.qiniudn.com/1.mp4?vframe/png/offset/5

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值