Я бы порекомендовал использовать video.oncanplay (событие canplay возникает, когда браузер может начать воспроизведение указанного аудио / видео (если оно достаточно буферизовано для начала) w3 link ) вместо window.onload
пожалуйста, найдите рабочий код ниже, надеюсь, это поможет:
var video = document.getElementById("video");
video.oncanplay = function() {
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
context.drawImage(video, 0, 0, video.videoWidth, video.videoHeight);
var canvas = document.getElementById("myCanvas");
var photo = canvas.toDataURL("image/png");
console.log(photo);
$.ajax({
method: "POST",
url: "script.php",
data: {
photo: photo
}
});
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<canvas id="myCanvas" width="578" height="200"></canvas>
<video id="video" src="https://dl.dropboxusercontent.com/s/yacmy685uenthji/mov_bbb.mp4" crossorigin="anonymous"></video>