Is there a way to check the length of a video file that is being uploaded by a user?
Tried .duration
, but this seems to only work on hosted videos that is already referenced in the DOM.
Is there a way to check the length of a video file that is being uploaded by a user?
Tried .duration
, but this seems to only work on hosted videos that is already referenced in the DOM.
2 Answers
Reset to default 27How about something like this?
// create the video element but don't add it to the page
var vid = document.createElement('video');
document.querySelector('#input').addEventListener('change', function() {
// create url to use as the src of the video
var fileURL = URL.createObjectURL(this.files[0]);
vid.src = fileURL;
// wait for duration to change from NaN to the actual duration
vid.ondurationchange = function() {
alert(this.duration);
};
});
<input type="file" id="input">
Video files need to be decoded by an actual player in order to determine the duration. JavaScript can only count bytes.