A maioria das ferramentas de codificação de linha de comando podem fornecer esta informação. Participe de alguns scripts de shell para cortar a saída apenas para a linha, incluindo a duração.
Aproxime-se um pouco mais para processar essa linha em sua saída "xxx min" desejada. Exatamente o que você precisa para isso depende de qual ferramenta você estaria usando. (Veja o exemplo do mplayer para uma sugestão.) Uma vez que você tenha conseguido, você pode criar um shell script ou alias para executar esse comando com running_time
.
FFMpeg:
ffmpeg -i foo.avi
ffmpeg -i foo.avi 2>&1 | grep Duration
Mplayer / Mencoder (ID_LENGTH está em segundos):
mplayer -vo null -ao null -identify -frames 0 foo.avi
mplayer -vo null -ao null -identify -frames 0 foo.avi | grep ID_LENGTH
# ugly, but outputs "xx mins"
mplayer -identify -ao null -vo null -frames 0 foo.avi | grep ^ID_LENGTH= | cut -d = -f 2 | perl -lne 'print sprintf("%d mins", $_/60)'
Transcode (com a ferramenta tcprobe
):
tcprobe -i foo.avi
tcprobe -i foo.avi | grep duration