As long as we're golfing: In PowerShell, using my personal script library:
F:films> ls -rec -file | gec video | gvi | ndur
372:18:09
where:- `ls -rec -file` gets all files recursively under CWD (F:films)
- `gec video` selects video files via extension (gec -> Get-ExtensionCategory)
- `gvi` uses FFPROBE to get video info in custom object (gvi -> Get-VideoInfo)
- `ndur` sums Duration property of objects and converts seconds to 'hhh:mm:ss'
Most people I've shown this have found the syntax and aliases confusing and non-intuitive. They prefer the find/xargs/awk incantations, which, I'm told, are more elegant, correct and precise. After that, I'm usually speechless.