video → character video

效果

原视频字符视频

实现方式

使用 canvas 作为绘制容器,截取视频每一帧,逐行逐列扫描并转换为对应的灰度字符

通过 npm 安装

已上传 npm :

npm i video-character-convert --save

使用

<video id="source" autoplay loop style="display: none;">
    <source src="./video.mp4"></source>
</video>

<button id="pause-btn">pause</button>
<button id="play-btn">play</button>
// Import and convert video element to character video
import { convertVideo, getSourceVideoSize } from 'video-character-convert';

const elementId = 'source';

convertVideo(elementId).then(data => {
    data.setCharFontSize(6);  // Set char font-size, default 7px
    data.setBgColor('#FFF3FF');  // Set canvas background color, default #FFFFFF
    data.setFillColor('#3388AA');  // set font color, default #000000

    let videoSize = data.getVideoSize();  // get video size { width, height }
    data.setVideoSize(videoSize.width * 0.4);  // Equal scale video size, or ponit width and height: `setVideoSize(100, 200)`

    const characterVideoId = data.getCanvasId();  // get characterVideo's ID
});

// Control playback with original video element
const element = document.getElementById('source');
const pauseBtn = document.getElementById('pause-btn');
const playBtn = document.getElementById('play-btn');

pauseBtn.addEventListener('click', () => {
    element.pause();
})

playBtn.addEventListener('click', () => {
    element.play();
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值