get两个js小技能——JS截取视频第一帧图片转Base64
创始人
2025-05-31 10:40:43

目录

  • 背景
  • JS截取视频第一帧
  • 图片转Base64

背景

由于开发之前做的VisualDrag拖拽模板优化的时候,拖拽进去的图片、视频文件等需要进行截图作为封面,目前采用的截图方法是htme2canvas,使用canvas进行的截图操作,所以就会遇到这样的问题,视频和图片图床简单的使用标签加入canvas画布里面无法正确的截图成功。最后采取的措施就是将图片转为base64画入canvas,将视频截取第一帧图片,然后画进canvas,最后进行截图,最后经过折腾,这个方法好像成功了,写这篇博客进行记录下。

JS截取视频第一帧

截取视频的第一帧作为视频的封面是一个很常见的视频上传的做法。但这种做法一般会在上传进服务器时,在服务器进行截图了,这个操作方法在我之前的博客上有介绍过:https://qkongtao.cn/?p=560#h2-4

但是前端有时候为了避免浪费服务器资源,可以在前端使用js直接进行截图了。

代码如下:


js截取视频第一帧

视频第一帧:

效果如下:
在这里插入图片描述

需要注意的地方是视频资源跨域导致画布污染的问题,所以需要在video标签加上 crossorigin=“anonymous” 。
如果需要截图第2帧以上则需要在video.oncanplay()方法中进行截图。

图片转Base64

在开发的很多场景中需要用到base64图片形式进行传输,这种一般会用在缩略图的小文件图片中,提高浏览器的流畅性。
当然在canvas画布中,当进行绘制图片时,最好还是先将图片img标签转换为base64之后进行drawImage(),避免画布被污染和跨域等问题。

代码如下:


图片转Base64

转换成base64形式

效果如下:
在这里插入图片描述

相关内容

热门资讯

独家揭秘熊猫四川麻将.可以装挂... 您好:熊猫四川麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款...
科普实测“518乐游真的有挂是... 您好:518乐游这款游戏可以开挂,确实是有挂的,需要软件加微信【69174242】,很多玩家在518...
分享实测“微乐麻将自建房真的有... 您好:微乐麻将自建房这款游戏可以开挂,确实是有挂的,需要软件加微信【5902455】,很多玩家在微乐...
分享最新内幕“微乐干瞪眼究竟有... 您好:微乐干瞪眼这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7435303】很多玩家在这款游...
今日重大通报“功夫川麻确实有挂... 您好:功夫川麻这款游戏可以开挂,确实是有挂的,需要软件加微信【2832208】很多玩家在这款游戏中打...