html5 vedio 图片,HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧

2023-12-02 12:20

本文主要是介绍html5 vedio 图片,HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

a493d12fada1f95f110d72b30463bba1.png

当一收到上传图片视频并可以动态设置视频显示的海报帧的需求时,主要想的是怎么样解析视频并获取保存每帧的图片,百度出来的大多是类似下面这种需要播放video并点击截图的,或者是用php ffmpeg扩展,跟需求不一致,有点抓狂了,然后就先做了视频图片的预览功能,进而对设置海报帧换了种思路,通过输入设置video开始播放的时间,取消自动播放和控制条,这样用户看到的就是一张图片

/*预览*/

$('.qtuploader__items').on('click', '[name="viewVideoPicBtn"]', function() {

var parent = $(this).closest('.qtab__page');

var video = $(this).closest('.qtuploader__itemsbd').find('video');

var srcStr = '', htmlStr = '';

if($(this).siblings('.qtuploader__picinputbox').hasClass('is-error')){

$.fn.toast({

'parentDom': parent,

'classes': 'isorange',

'top': '0',

'spacing': 0,

'toastContent': '请设置正确范围的海报帧',

'autoHide': 3000,

'position': {

'top': '5px',

'left': '50%'

}

});

return;

}

if (video.length > 0) {

var thumbHeight = setSize(video)[0];

var thumbWidth = setSize(video)[1];

srcStr = video.attr('src');

htmlStr = '

您的浏览器不支持 video 标签
';

}

parent.append(htmlStr);

parent.find('.qtuploader__view video')[0].currentTime = $(this).siblings('.qtuploader__picinputbox').find('.qtuploader__picinput').val();

parent.find('.qtuploader__view').fadeIn();

});

/*设置海报帧预览时间*/

$('.qtuploader__items').on('keyup', '.qtuploader__picinput', function() {

var parent = $(this).closest('.qtuploader__picinputbox');

var video = $(this).closest('.qtuploader__itemsbd').find('video');

var strVal = $.trim($(this).val());

console.log(strVal)

if (strVal == '') {

parent.addClass('is-error');

parent.find('.qverify__font').text('请设置海报帧');

} else if (!(/^[0-9]*$/.test(strVal))) {

parent.addClass('is-error');

parent.find('.qverify__font').text('请输入数字');

} else if (video.length > 0 && strVal > video[0].duration) {

parent.addClass('is-error');

parent.find('.qverify__font').text('不超过(' + video[0].duration + ')');

console.log('111---' + video[0].duration)

} else {

parent.removeClass('is-error');

parent.find('.qverify__font').text('请设置海报帧');

}

})

/*关闭预览*/

$(document).undelegate('.qtuploader__mask', 'click');

$(document).delegate('.qtuploader__mask', 'click', function() {

$(this).closest('.qtuploader__view').fadeOut('normal', function() {

$(this).closest('.qtuploader__view').remove();

})

})

/*设置预览大小*/

function setSize(element) {

var thumbWidth = 0, thumbHeight = 0, arr = [];

var winWidth = $(window).width(), winHeight = $(window).height();

var imgWidth = element.width(), imgHeight = element.height();

if (imgWidth > imgHeight) {

thumbHeight = parseInt(winHeight - 200);

thumbWidth = parseInt((1920 * thumbHeight) / 1080);

} else {

thumbHeight = parseInt(winHeight - 200);

thumbWidth = parseInt((1080 * thumbHeight) / 1920);

}

arr.push(thumbHeight, thumbWidth)

return arr;

}

总结

以上所述是小编给大家介绍的HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

这篇关于html5 vedio 图片,HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/445321

相关文章

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro

HTML5 中的<button>标签用法和特征

《HTML5中的<button>标签用法和特征》在HTML5中,button标签用于定义一个可点击的按钮,它是创建交互式网页的重要元素之一,本文将深入解析HTML5中的button标签,详细介绍其属... 目录引言<button> 标签的基本用法<button> 标签的属性typevaluedisabled

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.