#!/usr/bin/env python3
from sys import stderr, argv, exit
import subprocess
from math import floor

def hms(inp):
    s,ms = divmod(inp,1)
    m,s = divmod(inp,60)
    h,m = divmod(m,60)
    return f"{h:02.0f}:{m:02.0f}:{s:02.0f}.{floor(ms*100):02.0f}"

def get_video_duration(fileloc) :
    command = ['ffprobe',
               '-v', 'fatal',
               '-show_entries', 'stream=duration',
               '-of', 'default=noprint_wrappers=1:nokey=1',
               fileloc, '-sexagesimal']
    ffmpeg = subprocess.Popen(command, stderr=subprocess.PIPE ,stdout = subprocess.PIPE )
    out, err = ffmpeg.communicate()
    if(err) : print(err)
    out = out.decode('utf-8').strip()
    return map(float,out.split(":"))

def main():
    tot = 0.0
    for fn in argv[1:]:
        h,m,s = get_video_duration(fn)
        tot += h*60*60 + m*60 + s
        print(f"{hms(tot)}", end="\r", file=stderr)
    print(hms(tot))
    return 0

if __name__ == "__main__":
    try:
        exit(main())
    except KeyboardInterrupt:
        exit(127)