Acho que essa pergunta é bem parecida com a que fizemos antes, em Como obter duração do vídeo em segundos?
Com o comando abaixo, você pode obter a duração de um determinado arquivo de vídeo (por exemplo, arquivo1.mp4):% ffmpeg -i file1.mp4 2>&1 | grep "Duration" | cut -f4 -d' ' | cut -f1 -d','
Com for
loop, é fácil obter a duração de cada arquivo:
for f in *.mp4; do
ffmpeg -i $f 2>&1 | grep "Duration" | cut -f4 -d' ' | cut -f1 -d','
done
Em seguida, faça um resumo de qualquer utilitário de spreedsheet externo (por exemplo, Excel). Se você insistir em usar a linha de comando para obter o total, ainda poderá consultar o método fornecido por este Como obter a duração do vídeo em segundos? , para converter cada duração em segundos e depois adicionar todos os segundos.
EDIT:
Como você mencionou o Windows Explorer, eu suponho que você esteja usando somente o Windows e aqui estão as soluções baseadas no Windows (e ffmpeg como você já mencionou) (talvez seja necessário fornecer o caminho para o ffmpeg): for %f in (*.mp4) do @ffmpeg -i %f 2>&1 | findstr Duration > result.txt
O resultado parece:
Duration: 00:00:18.20, start: 0.000000, bitrate: 17085 kb/s
Duration: 00:00:45.12, start: 0.000000, bitrate: 16913 kb/s
Duration: 00:00:41.93, start: 0.000000, bitrate: 17083 kb/s
Mais uma vez, com o Excel, você pode facilmente dividir a parte da duração e resumi-la. Ou você pode consultar o link para usar somente a linha de comando do Windows para obter a duração apenas.