HTML
<div>
<input type="file" id="filepicker" accept="video/*" onchange="videoChoose(event)">
<div>
<p>视频预览</p>
<video id="video" class="video" src="" controls width="320" height="180"></video>
</div>
<div>
<p>第一帧封面</p>
<img id="cover" class="cover" src="" alt="">
</div>
</div>
JS
let videoChoose = function(e) {
let file = e.target.files[0]
let video = document.querySelector('#video')
video.src = URL.createObjectURL(file);
video.currentTime = 1
video.addEventListener('loadeddata', () => {
var canvas = document.createElement('canvas')
canvas.width = video.width
canvas.height = video.height
canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.width)
const cover = canvas.toDataURL('image/png')
document.querySelector('#cover').src = cover
})
}