3 ms·
What are the possible use cases for this tool? Why would I want to find out the total runtime of all videos in a directory? Also, you might wanna limit concurr
by abdusco 3y ago
What are the possible use cases for this tool? Why would I want to find out the total runtime of all videos in a directory?
Also, you might wanna limit concurrency[0] instead of spawning many ffprobe instances at the ~same time.
[0]: https://github.com/sourcegraph/conc https://github.com/sourcegraph/conc
In another note, ChatGPT suggests this shell command to do the same thing. It doesn't process files in parallel though.
find . -name "*.mp4" -print0 | \
xargs -0 -I {} ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 {} | \
awk '{sum += $1} END {print sum}'
- iruoy 3y agoThis way it will output time in H:MM:SS find . -type f -print0 | \ xargs -0 -I {} ffprobe -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 {} | \ awk '{s += $1} END {printf "%d:%.2d:%.2d\n", s/3600, s%3600/60, s%3600%60}'
- deleted 3y ago[deleted]
- metadat 3y agoSimply adding the `-P 10` flag to xargs will make it run 10 (or however many processes you want) in parallel.
- o1y32 3y agoOne use case is that if you have a folder of (presumably legitimately acquired, or you know what I mean) movie files, you can figure out how long it will take you to finish them. Although number of video files * 2 hours/file is also likely a very good estimate. Although I seriously doubt data hoarders care about that. A movie will be eventually watched someday. If they run out of space, they'll get another drive. Storage is cheap.
- forgotpwd16 3y ago>Why would I want to find out the total runtime of all videos in a directory? You wanna know how long will it take you to finish that lecture playlist you just downloaded. You're a teacher and want to show some videos but you're limited in time. You want to know how many hours of music you've got.
- mddysr 3y agoi am checking the `conc` package. thanks for the suggestion :) As for the too use cases, I made it primarily to see how long a playlist or a course will take me to complete, but it can be used for other scenarios i guess.