Я хочу получить первый кадр видеоролика, для того, чтобы этот самый кадр был его превью. Важно: кадр должен быть именно изображением, поэтому использую Canvas. Проблема в том, что Canvas на toDataURL() генерирует пустое, прозрачное изображение, и я не знаю, что с этим делать. Что важно:
в Firefox такой проблемы не наблюдается. Что мне нужно сделать, чтобы Canvas начал нормально генерировать картинки в Хроме?
Код генерации:
let canvas = document.createElement("canvas");
let video = document.createElement("video");
video.src = URL.createObjectURL(file); // переменная file здесь это объект класса File
video.addEventListener("loadeddata", () =>
{
canvas.height = video.videoHeight;
canvas.width = video.videoWidth;
let canvas_context = canvas.getContext("2d");
canvas_context.drawImage(video, 0, 0);
img.src = canvas.toDataURL();
});
В хроме тем временем происходит это: