首页 > 其他分享 >前端获取视频缩略图方式

前端获取视频缩略图方式

时间:2023-03-26 14:45:52浏览次数:31  
标签:视频 canvas const 缩略图 前端 param height width video

代码示例:

/**
 * 获取缩略图
 * @param url 视频地址
 * @param currentTime 缩略图取第几秒的图片
 * @param width 截取的图片宽
 * @param height 截取的图片高
 * @returns {Promise<unknown>}
 */
export function getVideoFrameImage (url, currentTime = 3, width = 100, height = 100) {
  return new Promise((resolve, reject) => {
    const video = document.createElement('video')
    video.setAttribute('crossOrigin', 'anonymous')
    video.setAttribute('preload', 'metadata')
    video.setAttribute('src', url)
    // 视频开始可能是黑屏状态
    video.currentTime = currentTime
    video.addEventListener('loadeddata', function () {
      const canvas = document.createElement('canvas')
      const { videoWidth, videoHeight } = video
      const newHeight = height || videoHeight * (width / videoWidth)
      canvas.width = width
      canvas.height = newHeight
      canvas.getContext('2d').drawImage(video, 0, 0, 200, height)
      resolve(canvas.toDataURL('image/jpeg'))
    })
  })
}

//使用方式
getVideoFrameImage(url).then(res => {
    console.log('base64图片路径', res)       
})

 

标签:视频,canvas,const,缩略图,前端,param,height,width,video
From: https://www.cnblogs.com/qiushuiyu-108/p/17197293.html

相关文章

  • 前端常用的终端命令
    终端主要的目的是可以让我们在文件系统中进行四处浏览和打开/运行某些东西,只是在windows上我们之前都是用GUI界面进行操作的,现在是在终端中使用shell命令进行操作而......
  • mockjs 前端写完 给后台调 mock.js
    需求:最近活太忙了,实在是联调没有时间了,无奈又拾起来mockjs1安装mockjsnpminstallmockjs//这是个只在开发的时候用,打包后就没有了,业务更安全npminstallmockjs--sav......
  • 语音通话视频通话界面实现,用于展示出webRTC实时聊天媒体流,CSS实现效果
    在开发webRTC的语音和视频通话功能的时候,需要展示出媒体流,这样就需要一个下面这样的效果  html部分代码<!--视频--><divclass="remoteVideoMask">......
  • 在Vue3+TypeScript 前端项目中使用事件总线Mitt
    事件总线Mitt使用非常简单,本篇随笔介绍在Vue3+TypeScript前端项目中使用的一些场景和思路。我们在Vue的项目中,经常会通过emits 触发事件来通知组件或者页面进行相应的处......
  • 在基于vue-next-admin的Vue3+TypeScript前端项目中,为了使用方便全局挂载对象接口
    在基于vue-next-admin 的Vue3+TypeScript前端项目中,可以整合自己的.NET后端,前端操作一些功能的时候,为了使用方便全局挂载的对象接口,以便能够快速处理一些特殊的操作,如......
  • 前端用户图像传递给后端数据库
    在业务中,我们将图片上传到服务器之后,需要将图片保存地址返回给前端和保存在数据库中,那么怎么获得这个地址呢?图片上传到哪里了???上传到什么服务器??? 前端上传后端获取URL......
  • Qt音视频开发29-ffmpeg中x264/x265编码库支持
    一、前言有了解码当然对应又有编码,编码是信息从一种形式或格式转换为另一种形式的过程也称为计算机编程语言的代码简称编码。用预先规定的方法将文字、数字或其它对象编成......
  • 前端安全性
    1.XSS(Cross-siteScripting跨站脚本)攻击方式:通过获取用户的Cookie、SessionId等敏感信息,影响网站及用户数据信息安全XSS攻击要素:1)攻击者提交恶意代码2)浏览器执行恶意......
  • 前端三剑客常见面试题及其答案
    前端的三剑客指的是HTML、CSS和JavaScript,下面是一些常见的前端三剑客面试题及其答案1、什么是HTML?HTML(超文本标记语言)是用来描述网页结构和内容的一种标记语言。它由一......
  • 百度2020校招Web前端工程师笔试卷(第一批)大题部分(21~23)
    非大题在本地pdf中有详解21.异或题解#include<iostream>usingnamespacestd;longlongchange(longlongx){if(x%4==0){returnx;}else......