zzarcon / video-snapshot

Get snapshots from a video file in the browser :movie_camera: :sunrise:
https://zzarcon.github.io/video-snapshot
MIT License
91 stars 16 forks source link
browser canvas capture preview screenshot snapshot thumbnail video
Logo

video-snapshot Build Status

Get snapshots from a video file in the browser

Demo 💅

https://zzarcon.github.io/video-snapshot

Install 🚀

$ yarn add video-snapshot

Usage ⛏

import VideoSnapshot from 'video-snapshot';

document.querySelector('input[type="file"]').addEventListener('change', onChange);

const onChange = async (e) => {
  const snapshoter = new VideoSnapshot(e.target.files[0]);
  const previewSrc = await snapshoter.takeSnapshot();
  const img = document.createElement('img');

  img.src = previewSrc;

  document.body.appendChild(img);
};

Api 👀

type CustomVideoTime = 'start' | 'middle' | 'end';
type VideoTime = number | CustomVideoTime;

class VideoSnapshot {
  constructor(blob: Blob) {};
  takeSnapshot(time?: VideoTime): Promise<string>;
  end(): void;
}

Features 💸

Author 🦄

@zzarcon