JS --- video 获取视频第一帧
Posted Tong_sunshine
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS --- video 获取视频第一帧相关的知识,希望对你有一定的参考价值。
一般直接设置封面图 后台上传 前端取 用poster
<div class="websocket">
<!-- poster="http://9haoguoji.oss-cn-beijing.aliyuncs.com/product/1619083692180048808.jpg" 设置 封面图 -->
<video id="video1" style="background: #ccc" controls="controls">
<source src="123.mp4" type="video/mp4">
</video>
</div>
<script type="text/javascript">
getVideoBase64(\'123.mp4\')
function getVideoBase64(url) {
/* return new Promise(function(resolve, reject) {*/
let dataURL = \'\';
let video = document.createElement("video");
video.setAttribute(\'crossOrigin\', \'anonymous\'); //处理跨域
video.setAttribute(\'src\', url);
video.setAttribute(\'width\', 400);
video.setAttribute(\'height\', 240);
video.addEventListener(\'loadeddata\', function() {
let canvas = document.createElement("canvas"),
width = video.width, //canvas的尺寸和图片一样
height = video.height;
canvas.width = width;
canvas.height = height;
canvas.getContext("2d").drawImage(video, 0, 0, width, height); //绘制canvas
dataURL = canvas.toDataURL(\'image/jpeg\'); //转换为base64
$(\'#video1 source\').attr(\'src\', dataURL)
//resolve(dataURL);
});
/*})*/
}
</script>
本地可以 线上会有跨域问题 如果用的阿里服务器 后台取消跨域
以上是关于JS --- video 获取视频第一帧的主要内容,如果未能解决你的问题,请参考以下文章