Verstehe das Upload. ..Alle Dateien, die der Browser in <input type="file"> sendet, legt CGI.pm auf dem Server temporär ab ....
D.h., die Dateien sind bereits auf dem Server.
Den Fortschritt bekommt man so auf die Reihe und man könnte auch während des Uploads bereits versuchen, bereits verfügbare Bytes auszuwerten. Ich denke, die Chancen stehen nicht schlecht. ImageMagick für die Bilder und Mplayer für die Videos wäre ein Ansatz.