首页 > 其他分享 >vue截取视频第一帧的图片

vue截取视频第一帧的图片

时间:2022-11-25 14:25:58浏览次数:47  
标签:视频 canvas vue url 截取 video ......

已拿到视频的url,现在要截取视频的第一帧,作为封面图片。

在网上找了几种,都是空白。稍微改了一下,终于成功了。

基本就是用cavas进行绘制,解决一下跨域问题,截视频第一帧,然后根据视频原本的宽高进行绘制,最后转一下图片格式即可。

代码如下:

 1 <template>
 2   ......
 3     <video :src="videoSrc" id="upvideo">您的浏览器不支持 video 标签。</video>
 4   ......
 5     <span style="margin-left:10px; font-size:16px;">封面设置</span>
 6     <canvas id="mycanvas" style="display: none"></canvas>
 7     <img :src="imgSrc">
 8   ......
 9 </template>
10 
11 <script>
12 export default {
13     data(){
14         return{
15             videoSrc:'xxxxxxxx', //视频的url
16             imgSrc:'',
17             ......
18         }
19     },
20     methods:{
21       ......
22       changeImage(url){
23         this.findvideocover(); //调用方法,按自己需求放在什么位置调用
24         ......
25       },
26 
27       //截取视频第一帧作为播放前默认图片
28       findvideocover(){
29         let video = document.getElementById("upvideo") 
30         let canvas = document.getElementById("mycanvas") 
31         video.crossOrigin = "anonymous"
32         video.currentTime = 1 
33         canvas.width = video.clientWidth
34         canvas.height = video.clientHeight 
35         canvas.getContext('2d').drawImage(video,0,0,canvas.width, canvas.height)
36         this.imgSrc = canvas.toDataURL('image/png')
37       },
38       ......
39     }
40 }
41 </script>    

 

标签:视频,canvas,vue,url,截取,video,......
From: https://www.cnblogs.com/silvia-earl/p/16924952.html

相关文章

  • 视频直播系统源码,flutter Wrap 自动换行组件
    视频直播系统源码,flutterWrap自动换行组件 先来简单的看一下源码 Wrap({  super.key,  this.direction=Axis.horizontal,  this.alignment=WrapAl......
  • vue.config.js config.resolve.alias 目录别名配置
    项目目录<!--vue项目1目录-->vue-project1 ... src vue.config.js<!--vue项目2目录-->vue-project2 ... src vue.config.js<!--其他项目......
  • 在vue里配置axios
    一、配置axios请求响应拦截在src/utils/request.jsimportaxiosfrom"axios";//拦截器(请求,响应)//响应axios.interceptors.response.use(res=>{//成功ret......
  • vue父子组件通信之$refs传递数据
    要做几个模板,每个模板的代码放在了子组件里,但是提交时需要子组件里的数据。父组件:通过ref识别  ref="spcardform"使用时直接调用所需要的数据,需要子组件中的msg,则写成......
  • vue添加动态表格
    一、应用场景动态添加指定行数数据<template><el-dialog:title="!dataForm.activityId?'新增':'修改'":close-on-click-modal="false":visible.sync="visi......
  • OpenHarmony 3.2 Beta多媒体系列——音视频播放框架
    作者:巴延兴一、简介媒体子系统为开发者提供一套接口,方便开发者使用系统的媒体资源,主要包含音视频开发、相机开发、流媒体开发等模块。每个模块都提供给上层应用对应的接口......
  • vue2 使用Markfile 命令创建新增组件模板
    项目开发中封装了许多图表组件,每次新增组件或者组件迭代都要复制前后端的文件,为了避免重复操作,使用一键命令创建组件模板文件。效果如下:          ......
  • 【Vue】vue | node | 获取配置文件的变量 | 获取VUE_APP_BASE_API | 获取.env.develop
    一、说明        1、vue页面中有时候需要获取后端的服务地址        2、后端地址一般通过配置文件区分环境,不同的环境地址不同(变量名相同)        3......
  • 【Vue】vue | 增加环境配置 | 基于ruoyi的前端环境配置
    一、说明        1、使用若依前后端分离版本,前端vue        2、需要增加个环境配置,区分test与prod二、按部就班1、package.json配置1)搜索build:stagebuild:......
  • Vue2.0+3.0笔记
    生命周期 非单文件组件:全局事件时  脚手架文件结构  ├──node_modules├──public│├──favicon.ico:页签图标│└──index.htm......