4

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.

Lloyd Banks
  • 35,740
  • 58
  • 156
  • 248

2 Answers2

27

How 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">
brbcoding
  • 13,378
  • 2
  • 37
  • 51
-8

Video files need to be decoded by an actual player in order to determine the duration. JavaScript can only count bytes.

Diodeus - James MacFarlane
  • 112,730
  • 33
  • 157
  • 176