video标签 不自动播放+ 不预加载视频,但是加载元数据 + 截取视频第一帧作为封面

video标签 不自动播放+ 不预加载视频,但是加载元数据 + 截取视频第一帧作为封面

HTML:

Markup

video 
          :src="record.rescuevideo"
          :poster="record.rescuevideo+'?spm=qipa250&x-oss-process=video/snapshot,t_1000,f_jpg,w_100,h_100,m_fast'"
          preload="meta"
          width="100px" 
          height="100px" 
          style="object-fit: fill;" 
          controls="controls"></video>

preload属性

  • auto - 当页面加载后载入整个视频

  • meta - 当页面加载后只载入元数据

  • none - 当页面加载后不载入视频

poster属性:截取视频第一帧作为封面

  • src+'?spm=qipa250&x-oss-process=video/snapshot,t_1000,f_jpg,w_100,h_100,m_fast '

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要获取上传的视频第一作为视频封面,可以使用canvas和video元素,具体过程如下: 1. 创建一个video元素,并将上传的视频文件赋值给video的src属性。 2. 监听video的loadedmetadata事件,当video元素加载元数据时,获取视频的宽高和时长等信息。 3. 创建一个canvas元素,并将其宽高设置为视频的宽高。 4. 在canvas上绘制视频第一画面。 5. 将canvas转换成图片,作为视频封面。 示例代码如下: ```html <video id="video" controls></video> <canvas id="canvas"></canvas> ``` ```javascript const video = document.getElementById('video'); const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); // 监听视频加载元数据事件 video.addEventListener('loadedmetadata', function() { // 获取视频的宽高和时长 const width = video.videoWidth; const height = video.videoHeight; const duration = video.duration; // 设置canvas的宽高为视频的宽高 canvas.width = width; canvas.height = height; // 绘制视频第一画面 ctx.drawImage(video, 0, 0, width, height); // 将canvas转换成图片,作为视频封面 const cover = canvas.toDataURL(); console.log('视频宽度:', width); console.log('视频高度:', height); console.log('视频时长:', duration); console.log('视频封面:', cover); }); // 将上传的视频文件赋值给video的src属性 video.src = URL.createObjectURL(file); ``` 其中,file为上传的视频文件。注意,此方法只能在视频加载元数据后才能获取视频的宽高和时长等信息,因此需要在loadedmetadata事件中执行相关操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值