I tried this function to get the duration of a video from input field but it keep saying
Cannot read property '0' of undefined\
for the files[0]
 <input type="file" required="" id="id_video"></p>
 <input type="number" required="" id="id_duration"></p>
 <input type="submit" value="Upload">
 <pre id="infos"></pre>
<script>
var myVideos = [];
    window.URL = window.URL || window.webkitURL;
    document.getElementById('id_video').onchange = setFileInfo;
    function setFileInfo() {
        var files = this.files;
        myVideos.push(files[0]);
        var video = document.createElement('video');
        video.preload = 'metadata';
        video.onloadedmetadata = function() {
            window.URL.revokeObjectURL(video.src);
            var duration = video.duration;
            myVideos[myVideos.length - 1].duration = duration;
            updateInfos();
        }
        video.src = URL.createObjectURL(files[0]);
    }
    function updateInfos() {
        var infos = document.getElementById('infos');
        infos.textContent = "";
        for (var i = 0; i < myVideos.length; i++) {
            console.log(myVideos[i].duration)
            infos.textContent += myVideos[i].name + " duration: " + myVideos[i].duration + '\n';
        }
    }
</script>