截取视频首帧作为封面

本文介绍了如何使用HTML和JavaScript在网页中截取视频的第一帧作为封面,通过创建canvas元素并监听视频的loadeddata事件实现视频预览和截图保存为dataURL。
摘要由CSDN通过智能技术生成

<!DOCTYPE html>

<html>

  <head>

    <meta charset="utf-8" />

    <title>截取视频首帧作为封面</title>

  </head>

  <style>

    body{

        margin: 0;

        padding: 0;

    }

  </style>

  <body>

    <video

      id="video"

      controls="controls"

      src="http://cloud.ruiboyun.net/mp4/vod/9npkladw/mp4/index.mp4"

    ></video>

    <script>

    (function(){

      var videoEle

      var canvas = document.createElement('canvas')

      var img = document.createElement("img");

      videoEle = document.getElementById('video')

      videoEle.setAttribute('crossOrigin', 'anonymous')

      videoEle.currentTime = 1

      const scale = 10; // 压缩系数

      canvas.width = videoEle.clientWidth * scale;

      canvas.height = videoEle.clientHeight * scale;

      videoEle.onloadeddata = (() => {

          canvas.getContext('2d').drawImage(videoEle, 0, 0, canvas.width, canvas.height)

          let dataURL = canvas.toDataURL('image/png',1)

          img.src = dataURL;

                console.dir(videoEle);

                img.style.width = videoEle.offsetWidth + 'px'

                img.style.height = videoEle.offsetHeight + 'px'

                img.style.position = "absolute";

                img.style.left = "0";

                img.style.top = "0";

                img.style.objectFit = "fill";

                videoEle.parentNode && videoEle.parentNode.appendChild(img);

        })

       

      })();

    </script>

  </body>

</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值