Как правильно выводить длину видео?
Можно начальный индекс вырезания подстроки менять, и часы забирать только когда длиннее часа:
-    console.log(new Date(media.duration * 1000).toISOString().slice(11, 19));
+    console.log(new Date(media.duration * 1000).toISOString().slice(media.duration > 3600 ? 11 : 14, 19));
Но разве удобно использовать такой странный метод, как toISOString() :) Я бы сделал так:
const a = 'https://www.w3schools.com/html/mov_bbb.mp4';
const b = 'https://assets.codepen.io/6093409/hubspot-video-example.mp4';

const arr = [a, b];

arr.map((item) => {
	let media = new Audio(item);
	media.onloadedmetadata = function () {
		let date = new Date(this.duration * 1000);
		let h = date.getUTCHours();
		h = h ? h + ':' : '';
		let m = date.getMinutes();
		let s = date.getSeconds();
		console.log(h + m + ':' + s);
	};
});