From [developer.apple.com](https://developer.apple.com/documentation/webkitjs/canvasrenderingcontext2d/1630282-drawimage),
> The image object can be an `img` element, a `canvas` element, or a `video` element. **Use of the `video` element is not supported in Safari on iOS**, however.
Returns a `Promise` for when all frames have been extracted. There are a few properties that can be set in `options`.
#### options
#### `url` (required)
Default Value: *empty*
The URL (self, remote, or blob) of the source video from which the frames are to be extracted. Since the [`video`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video) element is used in the extraction process, the allowed formats are the ones that are playable in it. You can search for the supported formats on [caniuse.com/?search=video%20format](https://caniuse.com/?search=video%20format)
#### `width`
Default Value: `128`
Width of the extracted frames in pixels.
If no value for `width` is set, but a value for `height` is set, then the `width` will be calculated using the video dimensions.
#### `height`
Default Value: `auto`
Height of the extracted frames in pixels.
If not set, `height` is calculated automatically from the value of `width` using the video dimensions.
#### `format`
Default Value: `image/png`
MIME type of the extracted frames.
Since the [`canvas`](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API) element is used for drawing the frames and `toDataURL(format)` is used for reading them as base64 encoded images, the allowed MIME types are the ones that are supported by `toDataURL`.
From [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL#parameters),